mozilla是一个以浏览器为中心的软件平台,它在我们平台中占有重要地位。我们用它来实现WEB浏览器、WAP浏览器、邮件系统、电子书和帮助阅读器等应用程序。为此,我最近花了不少时间去阅读mozilla的代码和文档,我将写一系列的BLOG作为笔记,供有需要的朋友参考。本文介绍一下mozilla能为我们做什么。
Mozilla是一个庞大的系统,仅管在PC上来说,它对硬件的要求并不高,但对于手机平台而言,它占用的磁盘/内存空间,以及对CPU能力的要求就相当可观了。同时由于其复杂度太高,要灵活的运用它,将要花费不少的精力去研究它。很难说清这些开销是否值得,因为要视具体情况而定。不过,如果我们了解mozilla能为我们做些什么,对此看法可能会有些改变。
1. 作为WEB浏览器。
Mozilla本身就是以WEB浏览器为中心的,选择它作为WEB浏览器是很自然的事情了。Mozilla在浏览器方面的经验丰富,对标准兼容性非常好。它不但本身功能强大,支持CSS和Javascript等高级特性,而且架构设计精良,可扩展性极强,以后增加对flash的支持,对PDF的支持,对mediaplayer的支持等等,都非常方便。像dillo (http://www.dillo.org/),viewML(http://www.pixil.org/products.php) 等浏览器,虽然体积更小巧,但无论是从功能、兼容性,还是扩展性来看,都与mozillo没得比了。
2. 作为WAP浏览器。
WAP浏览器是smartphone必备的应用程序,尽管WML最终是要被XHMTL取代的,但目前仍然普遍存在,所以还是要支持的。专门为WML开发一款浏览器,一方面是工作量太大,我们目前没有这么多人力去做。另外由于WML的表现力是HTML的子集,如果有了HTML浏览器还要去开发一个WML浏览器,其工作完全是重复的,没有必要。最理想的办法,就是先把WML网页转换成HTML网页,然后在HTML浏览器上浏览WML网页。以前在做WML模拟器时,我做过类似的工作,所以最初我就打算这样做了,最近又发现mozilla已经有一个WML browser的项目了,它思路和我们的想法如出一辙,这下为我们省了不少事儿。
3. 利用其邮件编辑器。邮件编辑器也不是个小玩意儿,从头实现的工作量非常庞大,而且邮件在我们项目中也只是一个普通应用程序,我们不太可能为此花费太多精力。我们知道Mozilla有一个邮件客户端应用(Thunderbird),不过我们不打算移植Thunderbird,原因是:一方面它不适合在手机上使用,另外也不便于集成到我们的系统中来(它会破坏我们系统风格的一致性)。所以我们只是重用mozilla的编辑器和相关网络协议,这仍然为我们带来了很大的便利。mozilla的编辑器的可以编辑四种类型的文件:text、textmail、html和htmlmail,对我们来说已经足够了。
4. 实现电子书阅读器。
Mozilla提供了一种输入流转换的功能,只要文件能用HTML表现出来的,都可以转换成HTML格式,然后用mozilla来浏览。像text文件、rtf文件、chm和html,甚至word和pdf都可以用mozilla来浏览。利用mozilla的浏览器控件,我们可以方便的实现自己的电子书阅读器,对于不同的文件格式,只要写一个转换器就行了。
5. 实现功能强大的记事本。
利用Mozilla的HTML编辑器,我们可以实现功能强大的记事本,它可以插入图片、音频和视频文件。通过其插件系统,我们还可以实现现场图片编辑,录制音频和视频文件。其功能强大,甚至可以与ms word相媲美。
6. 实现帮助系统。Mozilla的帮助系统是作为一个扩展实现的,其功能强大,而代码规模小得令人惊讶。如果有必要,完全可以利用它实现自己的帮助系统。
当然,要充分利用mozilla的潜力,也不是那么简单的事,要花大量时间和精力去研究它才行。我会在后续的BLOG中介绍如何实现上述功能,请有兴趣的朋友关注。