必應詞典UWP版-開發小結


摘要

必應詞典UWP版已經上線2周了!相信有不少用戶都已經體驗過了吧!得益於Win10全新、強大的API,新版詞典在性能上、UI體驗上都有了大幅的提升,今天,小編就為大家講講必應詞典UWP開發的故事。另外,歡迎大家體驗我們的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,這樣能更合理的增加屏幕有效內容的顯示,也符合windows app設計的標准。關於內容的顯示,我們也是在不同尺寸窗口下會有不同的表現,您注意到了么?

開發的故事

詞典的靚照就欣賞到這里,接下來我們講講必應詞典的開發,比較工程地講,必應詞典的Solution主要由以下幾個核心的Project構成:

其中,Fundamental主要包含詞典數據的Schema、App Settings、Constants和一些輔助工具類;Storage,顧名思義,封裝了詞典關於存儲的接口;Query Engine,則是查詞邏輯的核心;Word List實現了生詞本的功能;而Adaptive UI,就是我們看到的頁面顯示。

Storage

關於存儲,可以根據需要的不同,可以分為File、Dictionary、Cache三個部分,File Manager實現了對本地文件的操作,包括存儲、讀取等等。在我們的詞典中,封裝着一個用戶本地詞典,便於用戶離線查詞,里面的數據是用sqlite數據庫存儲的,Dictionary Manager,主要是對本地詞典的操作,包括查詢、記錄歷史等等。Cache Manager,主要用於管理用戶訪問網絡的Cache數據,以鍵值對的形式存儲。而Cache本身又分為兩層,Disk Cache和Memory Cache。Disk Cache在storage中使用sqlite存儲,使得查詢效率更高。我們知道,memory的訪問速度,是遠大於Disk的訪問速度的,所以在Disk Cache的基礎之上,我們還有一層Memory Cache。同時Memory Cache基於LRU的置換原則,也不會占用過多的內存開銷,使查詢更為快捷。

Query Engine

查詞功能,是我們詞典的最重要內容,包括很多內容的查詢,可以分解為本地詞匯的查詢、網絡詞匯的查詢、句子的查詢、音頻視頻的查詢、詞語自動補全的查詢等等。在Search box中查詢,在Result Page中顯示結果,這一過程是詞典app的最重要的環節。在這一過程中,有多個查詢步驟,Query Engine對外只暴露一個query接口,對於多次查詢的結果分別反饋到監聽查詢的IQueryEngineListener中,而不是拿到所有數據后再進行反饋,這樣使用戶在查詞過程中就會有一個比較連續、流暢的體驗。

Word List

生詞本的邏輯相對比較簡單,基本就是sqlite數據庫幾張表的查詢,但是比起之前版本xml的存儲結構,性能上有了很大的提升。

Adaptive UI

UI部分,在文章的開始部分已經介紹了,這里要說的是,大家看到的頁面,可不是由一個Page完成的哦,確切來說,在app的每個頁面中,映入我們視線的,都是由兩個Page構成的,如下圖所示:

最外層的頁面,我們叫做Main Frame,包括漢堡鍵、Split View、Tabs、Query Bar等等,實現對app頁面的切換等等。上圖中用紅色邊框框出來的部分,是用來顯示app內容頁面的,我們叫做Content Frame。這樣的實現,使頁面邏輯更加清晰,維護也更加方便。關於嵌套式頁面的實現,請參考另外一篇博文: UWP開發筆記——嵌套式頁面的實現http://www.cnblogs.com/ms-uap/p/4860121.html)。

在頁面的適配上,VisualStateManager,為我們提供了強大的接口,具體響應式UI的開發方式,請參考Windows10 UWP開發 - 響應式設計(http://www.cnblogs.com/ms-uap/p/4536459.html)。

這就是我們app的一個大體結構。

總結

自App上線以來,我們得到了許許多多用戶的反饋,在此謝謝大家,你們的意見我們一定會加倍重視,我們也會根據大家的反饋不斷得更新我們的產品。由於是第一個版本,所以功能會比較少,生詞本同步、划詞搜索功能等我們都會逐步添加到我們的產品中。同時,我們也由衷希望得到您的好評,謝謝!

 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM