silverlight阅读器——面向领域的浏览器(二)——Silverlight阅读器架构
读者最关心的是阅读的内容而不是内容的来源,同一本图,网上有图片版也有文字版本,阅读器可根据用户阅读习惯(比如用户只希望阅读图片章节)自动从网络找到相关图书内容。
阅读器核心价值是提供比浏览器更好的用户体验:
1、 无广告,没弹出窗口
2、 根据用户习惯预加载,阅读无延迟
3、 章节更新通知
4、 统一UI、阅读方便
5、 用户收藏图书保存到开放平台,可以通过开放平台阅读。如:把收藏图书保存到qq空间。
6、 更安全,基于Silverlight,恶意代码在解析器已经被过滤比Html更安全。
以上功能都是浏览器无法提供的。
主要业务流程
阅读器核心的功能是为用户提供方便、友好的阅读方式,以用户阅读小说:凡人修仙传图片章节为例说明阅读流程。
核心业务功能
核心功能:提供用户友好的阅读方式。
非核心功能:电子书制作,以插件方式提供。
核心系统功能
为提供友好阅读体验,完成业务功能,阅读器需要如下系统功能支持。
核心系统功能:
灵活高效的Html解析功能。HTML解析模块能支持任意html解析,并且可以自动将解析结果生成xaml或领域对象。
自定义解析站点,用户只需把自定义解析文件放到阅读器指定目录就可以自动增加解析站点。
缓存机制、预加载机制可以满足在线阅读无延迟。
MVVM模式、MEF提供扩展性与可移植性。
自动解析测试,在站点改版后可以自动到服务器下载新解析文件。
URI生成:可以根据现有URI生成目标URI,减少一次网络通信(非核心)
约束
目前浏览器基于Silverlight实现,下面一些问题限制了浏览器的功能。尤其最近百度文库的问题吵的沸沸扬扬,阅读器在设计之初,即考虑到只做单纯的浏览器使用,只是根据阅读习惯把来自web的内容以更好的方式展现出来。
图书不保存到服务器,不通过强大的服务器支持阅读。而通过增强缓存功能、预读取功能来实现阅读流畅。
阅读器开发架构
阅读器由三部分组成,阅读器程序(UI)、Html解析器、聚焦爬虫。
目前聚焦爬虫未实现,这一部分输出的小说网址通过配置文件实现。
阅读器UI部分架构
阅读器架构的最上层UI部分,采用MVVM架构,为调整UI、移植到其他平台提供方便。
功能路线图
目前阅读器是第二个版本,(如果从最开始算起是第三个版本)
1. 最初版本,使用SilverlightToolkitUI,测试版
http://www.cnblogs.com/bluewater/archive/2010/07/06/1772466.html
2. 第二版本,新UI,类似iPod界面(V1)
http://www.cnblogs.com/bluewater/archive/2010/12/20/1911769.html
3. 第三版本,主要是非功能方面的改进
http://www.cnblogs.com/bluewater/archive/2011/04/07/2007913.html