必应词典UWP版-开发小结
摘要
必應詞典UWP版已經(jīng)上線2周了!相信有不少用戶都已經(jīng)體驗過了吧!得益于Win10全新、強大的API,新版詞典在性能上、UI體驗上都有了大幅的提升,今天,小編就為大家講講必應詞典UWP開發(fā)的故事。另外,歡迎大家體驗我們的app,并向我們提供寶貴的意見!
下載鏈接:
https://www.microsoft.com/zh-cn/store/apps/%e5%be%ae%e8%bd%af%e5%bf%85%e5%ba%94%e8%af%8d%e5%85%b8win10%e7%89%88/9nblggh63sw0
第一印象
?????????
先來兩張我們app的靚照,大家有沒有覺得界面清爽呢?我們的UWP對各種尺寸的屏幕、各個尺寸的窗口都有相應的適配。在較窄的屏幕或窗口下,我們使用漢堡鍵和SpliteView作為頁面切換的控制,而在較寬的屏幕上我們使用的則是Tabs,這樣能更合理的增加屏幕有效內(nèi)容的顯示,也符合windows app設計的標準。關于內(nèi)容的顯示,我們也是在不同尺寸窗口下會有不同的表現(xiàn),您注意到了么?
開發(fā)的故事
詞典的靚照就欣賞到這里,接下來我們講講必應詞典的開發(fā),比較工程地講,必應詞典的Solution主要由以下幾個核心的Project構成:
其中,Fundamental主要包含詞典數(shù)據(jù)的Schema、App Settings、Constants和一些輔助工具類;Storage,顧名思義,封裝了詞典關于存儲的接口;Query Engine,則是查詞邏輯的核心;Word List實現(xiàn)了生詞本的功能;而Adaptive UI,就是我們看到的頁面顯示。
Storage
關于存儲,可以根據(jù)需要的不同,可以分為File、Dictionary、Cache三個部分,File Manager實現(xiàn)了對本地文件的操作,包括存儲、讀取等等。在我們的詞典中,封裝著一個用戶本地詞典,便于用戶離線查詞,里面的數(shù)據(jù)是用sqlite數(shù)據(jù)庫存儲的,Dictionary Manager,主要是對本地詞典的操作,包括查詢、記錄歷史等等。Cache Manager,主要用于管理用戶訪問網(wǎng)絡的Cache數(shù)據(jù),以鍵值對的形式存儲。而Cache本身又分為兩層,Disk Cache和Memory Cache。Disk Cache在storage中使用sqlite存儲,使得查詢效率更高。我們知道,memory的訪問速度,是遠大于Disk的訪問速度的,所以在Disk Cache的基礎之上,我們還有一層Memory Cache。同時Memory Cache基于LRU的置換原則,也不會占用過多的內(nèi)存開銷,使查詢更為快捷。
Query Engine
查詞功能,是我們詞典的最重要內(nèi)容,包括很多內(nèi)容的查詢,可以分解為本地詞匯的查詢、網(wǎng)絡詞匯的查詢、句子的查詢、音頻視頻的查詢、詞語自動補全的查詢等等。在Search box中查詢,在Result Page中顯示結果,這一過程是詞典app的最重要的環(huán)節(jié)。在這一過程中,有多個查詢步驟,Query Engine對外只暴露一個query接口,對于多次查詢的結果分別反饋到監(jiān)聽查詢的IQueryEngineListener中,而不是拿到所有數(shù)據(jù)后再進行反饋,這樣使用戶在查詞過程中就會有一個比較連續(xù)、流暢的體驗。
Word List
生詞本的邏輯相對比較簡單,基本就是sqlite數(shù)據(jù)庫幾張表的查詢,但是比起之前版本xml的存儲結構,性能上有了很大的提升。
Adaptive UI
UI部分,在文章的開始部分已經(jīng)介紹了,這里要說的是,大家看到的頁面,可不是由一個Page完成的哦,確切來說,在app的每個頁面中,映入我們視線的,都是由兩個Page構成的,如下圖所示:
最外層的頁面,我們叫做Main Frame,包括漢堡鍵、Split View、Tabs、Query Bar等等,實現(xiàn)對app頁面的切換等等。上圖中用紅色邊框框出來的部分,是用來顯示app內(nèi)容頁面的,我們叫做Content Frame。這樣的實現(xiàn),使頁面邏輯更加清晰,維護也更加方便。關于嵌套式頁面的實現(xiàn),請參考另外一篇博文: UWP開發(fā)筆記——嵌套式頁面的實現(xiàn)(http://www.cnblogs.com/ms-uap/p/4860121.html)。
在頁面的適配上,VisualStateManager,為我們提供了強大的接口,具體響應式UI的開發(fā)方式,請參考Windows10 UWP開發(fā) - 響應式設計(http://www.cnblogs.com/ms-uap/p/4536459.html)。
這就是我們app的一個大體結構。
總結
自App上線以來,我們得到了許許多多用戶的反饋,在此謝謝大家,你們的意見我們一定會加倍重視,我們也會根據(jù)大家的反饋不斷得更新我們的產(chǎn)品。由于是第一個版本,所以功能會比較少,生詞本同步、劃詞搜索功能等我們都會逐步添加到我們的產(chǎn)品中。同時,我們也由衷希望得到您的好評,謝謝!
?
APP下載:
https://www.microsoft.com/zh-cn/store/apps/%e5%be%ae%e8%bd%af%e5%bf%85%e5%ba%94%e8%af%8d%e5%85%b8win10%e7%89%88/9nblggh63sw0
總結
以上是生活随笔為你收集整理的必应词典UWP版-开发小结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CentOS 6.5 部署 Horizo
- 下一篇: C#中Json字符串的各种应用类