摘要

必应词典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

必应词典UWP版-开发小结相关推荐

  1. 必应词典桌面版 --- 基于大学生用户群体的软件评测与分析(与有道词典对比版 1功能篇)...

    1.概述 这篇博客会从大学生的角度来评测必应词典桌面版,以大学生的使用习惯来评判必应词典桌面版各项功能的优劣,并与同类软件进行横向分析,最终给出我们的评分.本次分析评测的主要评测员为博主本人,相关分析 ...

  2. 微软必应词典UWP -2017春

    必应UWP调研,评测 软件平台:windows10 软件名称:微软必应词典 软件类型:UWP Bug Bug1 当在文本框中进行输入时,在谷歌拼音输入法状态下,无法使用Shift键切换到谷歌拼音的纯英 ...

  3. 必应词典手机版(IOS版)与有道词典(IOS版)之软件分析【功能篇】【用户体验篇】...

    1.序言: 随着手机功能的不断更新和推广,手机应用市场的竞争变得愈发激烈.这次我们选择必应词典和有道词典的苹果客户端作对比,进一步分析这两款词典的客户端在功能和用户体验方面的利弊.这次测评的主要评测人 ...

  4. 必应词典android版的一个bug

    明天有个微软的老师来讲座,需要我们找个微软产品的bug. 手机是nexus 4,android系统是4.4.2,必应词典3.1.0的单词本的滚动条点不到.

  5. 第四次作业——个人作业——必应词典软件案例分析

    关于微软必应词典客户端的案例分析 第一部分 调研,评测 一.评测 使用环境:Windows7 x64 词典版本:微软必应词典桌面版(版本:3.5.0) 处理器:Intel(R)Core(TM)i5-3 ...

  6. 必应词典软件测试----陈伯雄10061190 宋晨希10061161

    测试软件:微软必应词典桌面版 版本:1.6.2.0 (BETA) 系统环境:win7 旗舰版32bit,CPU Intel(R) Core(TM) i3 CPU,RAM 2GB 测试报告: 第一部分: ...

  7. 微软必应词典的美女口模Cissy

    微软必应词典口模Cissy揭秘职场神话 2011-05-25 16:17作者:天极软件出处:Yesky软件频道责任编辑:杨玲 继发布必应在线词典(http://dict.bing.com.cn)后,M ...

  8. 【软件工程-Teamwork 2】必应词典软件手机版测试报告

    测试人员:聂健(N).居玉皓(J).吴渊渊(Wy).汪仁贵(Wr).吕佳辉(L).杜冰磊(D) 测试软件:必应词典软件手机版 版本:2.2.0版本(Android) 引言: 我们的测评报告的主体主要分 ...

  9. 【作业四】软件案例分析之必应词典

    突然发现每次写博客都写了好大一堆废话,自己看着也觉得有点累,从现在开始尽量开始改正过来吧. 一.调研,评测 1.bug定义 找BUG前,先来看看什么叫BUG,下面是引用<构建之法>第13章 ...

最新文章

  1. 简洁的描述SpringMVC工作流程
  2. Error while compiling statement: FAILED: LockException [Error 10280]
  3. php date当天,php5中date()获得的时间不是当前时间的解决方法
  4. NetCore 依赖注入之服务之间的依赖关系
  5. 【linux】安装centOS过程中遇到的困难
  6. python模块相互引用_python中如何相互引用两个包中的模块
  7. 文本生成系列之预训练模型
  8. 管理感悟:计算缺陷的权重
  9. 【windows 自搭服务器】小白教程
  10. [Vue warn] Extraneous non-emits event listeners (createSuccess) were passed to component but could
  11. linux listener.ora 位置,Oracel数据库 listener.ora和tnsnames.ora配置
  12. Apache web服务器目录结构、发布网站
  13. java指令工具_jvm 指令工具 jcmd 命令(Java多功能命令行)
  14. 微信小程序——获取步数
  15. 闲来无事,造了一个物联IOT平台
  16. 八年级计算机知识点总结,人教版|八年级上册各单元必考知识点汇总,收藏!...
  17. NI HIL测试平台环境部署(血与泪的经验)
  18. 自由完美GhostXP_SP3标准装机版2013.10
  19. Unity的动画图和人形动画初探
  20. YOLO v5 实现目标检测

热门文章

  1. 【docker】常用命令
  2. MicroProfile社区对Jakarta EE的影响
  3. IntelliJ IDEA安装主题详细步骤
  4. Day18 (二)反射
  5. Linux 安装Resin4.0.40
  6. SQL LEFT JOIN 关键字
  7. rsync+inotify-tools实现文件的实时同步
  8. 关于System.Web.Caching的“未将对象引用设置到对象的实例”错误
  9. [转]C#遍历局域网的几种方法及比较
  10. saas模式与国家的产业政策