Mozilla Fennec移动浏览器性能、特性上手测试
By Ryan Paul from Ars Technica | Logout译,akanekou校,转载请注明ifanr.com译文链接。
Mozilla发布了第一款官方移动版Firefox浏览器——Fennec的BETA版。新版本在浏览器性能方面的提升明显,包括渲染速度的提升以及用户界面互动性的增强。
Fennec项目于2007年启动,Mozilla那时成立了全新的移动团队,计划研发手持设备上的全功能Firefox浏览器,支持扩展。
Fennec最早的原型一年前就已经发布 ,演示了预期的功能,而最终产品则在项目持续了一年后才得以发布。新的BETA版终于在性能、可靠性和功能完整性方面达到了一定水平,能满足用户的日常使用。
发布的beta版采用与之前alpha1版 相同的用户界面理念。
右边栏是基本导航控制条和一个能够激活配置面板的按钮。用户可以托拽边栏向左或向右移动页面。
用户界面自上一版以来进行了大量小改。手指和用户界面的互动不再那么笨拙,可滑动的边栏的整合也很流畅。触摸滚动和手指移动在用户界面中得到了全程支持,包括书签等区域。正如我们在alpha2评测中所说的,Fennec在网页内容显示方面使用了不同寻常的复合技术。网页内容首先在XUL浏览器元素中加载,但不显示出来;随后再加载到HTML的Canvas元素中,显示给用户。
这种方法主要用来保证流畅的手指滚动和缩放操作。起初造成了严重的性能问题,但后来显著的优化工作使这一问题得以控制。虽然Canvas渲染技术还有一些问题,比如开发人说曾表示,他们还不知道怎样才能巧妙地让iframe嵌入元素支持滚动。
Fennec的优化
Tara Glek参与了Fennec的绘图优化。他写了好几篇博文,来描述ARM结构下的工作过程,并解释了如何和Mozilla代码基础一致。
开发人员尽量减少了DOM查询,在初始加载过程中避免不必要的页面回流(page reflow)。他们还尽量减少Fennec在任何时刻的渲染量。据Glek的说法,这些改进能使页面加载速度提高2-5倍。现在的页面缩放速度已经加快了5倍。他还说自己所在团队通过设计一个更高效的首次运行页面,节省了一定的初始启动时间。
本版Fennec在内容渲染方面的最重要改进应该是增加了TraceMonkey。这是Mozilla最新的高性能JavaScript JIT引擎,部分技术来自Adobe的Flash运行库。TraceMonkey的ARM端口并不提供X86下的性能加速,但表现还不错。
Mozilla开发人员Mark Finkle说,优化空间还很大,因此随着Fennec的成熟,性能还会不断提高。他认为两个地方需要重点改进——Places系统和XPConnect。
Places是基于SQLite的存储引擎,Firefox用它来追踪书签和历史记录,提供给AwesomeBar。一开始,开发人员发现需要3秒才能加载包含10条内容的书签,但Finkle说加载时间有望缩短40%。
他还认为,限制使用XPConnect能提高浏览器性能。XPConnect用于促进JavaScript与使用本地C++代码编写的浏览器功能块之间的沟通。
上手测试
我在Nokia N810上对Fennec beta进行了大量测试。Mozilla为N810上基于Linux的操作系统Maemo提供了简单的一键安装包。安装完成后,我可以从程序菜单启动Fennec。
浏览网页没什么问题,滑动仍有些迟钝,但已经可用了。用户界面的主要部分(例如配置面板、网址输入条)的反应速度可以接受。此版本的缩放表现的也不错。
我发现Fennec在有些情况下加载、处理内容表现得比N810自带的基于Gecko的浏览器MicroB更好。但总的来说,我目前不认为Fennec优于MicroB。但我相信多加优化以后,Fennec很快就会成为N810上最好的浏览器。
关于Fennec在N810上的性能还有一点需要提一下,Nokia的下一代网络平板设备将使用更强大的OMAP3芯片(译注:N810用的是OMAP2420)。这将为Fennec带来更好的体验,并解决部分性能上的限制。
Fennec显示出设计人员为有效利用屏幕面积用心良苦。比方说,当用户不进行文字输入时,网址条通常作为网页标题显示。当用户在网址条进行输入时,便出现一块可滚动面板,所显示内容包括自动完成结果和快速启用各搜索引擎的按钮,相当于一个精简的Firefox AwesomeBar功能。
扩展以及平台支持
Fennec同样支持扩展,它使用的扩展基于XUL和JavaScript,与标准的Firefox扩展原理基本相同。但由于Firefox和Fennec在用户界面有着明显差异,大多数扩展无法无缝支持二者。
已有一些全新设计的扩展,还有一些由桌面版Firefox移植而来,包括NoScript等广收欢迎的扩展。这些可以在addons.mozilla.org新开辟的Fennec板块下载。那里有少量很棒的Fennec扩展,其中有个扩展可以让用户在Fennec的网址条直接发送信息到Twitter上,还有一个增加了基本的手势操作。Mozilla已公布文档 解释如何自己制作Fennec扩展。
实验阶段的Mozilla Weave云同步系统实现方式也已向Fennec开放。我在去年参观Mozilla总部时了解到,Mozilla Labs的开发人员对于在Fennec上使用Weave有着雄心勃勃的计划——作为一种架构让用户在桌面电脑和移动设备之间无缝切换浏览会话。
现在的beta版仅供Maemo平台运行,但开发人员此前已经公布了面向Windows Mobile的版本。最新的Windows Mobile milestone版于上月发布,设计工作于HTC Touch Pro之上。
Mozilla打算让Fennec支持大量平台,包括多个Linux系统,Windows Mobile以及Symbian设备。S60版已在开发之中,但目前仍处在早期阶段。
结论
很显然,Mozilla已经不只是在将自己的渲染引擎移植到手持设备上。Fennec项目依靠强大的扩展性以及XUL在丰富移动用户界面方面的潜能扩展了Firefox生态系统。这些特性将Fennec带入一个与MicroB等基于Gecko、使用本地widget工具包的移动浏览器不同的层面。
Fennec使用XUL将在主题方面提供一些极为引人注目的优势。它可以非常容易地更换皮肤,为所在平台带来一个提供了各种窗体要素的用户界面。
更多的细节请查看官方发布页以及Mozilla的Stuart Parmenter所提供的消息。用户可以在N810通过官方发布页提供的链接一键安装测试此beta版。