Mozilla Fennec 移动浏览器性能、特性上手测试

公司

2009-03-24 11:18

By Ryan Paul from Ars Technica | Logout 译,akanekou 校,转载请注明 ifanr.com 译文链接。

Mozilla 发布了第一款官方移动版 Firefox 浏览器——Fennec 的 BETA 版。新版本在浏览器性能方面的提升明显,包括渲染速度的提升以及用户界面互动性的增强。

Fennec 项目于 2007 年启动,Mozilla 那时成立了全新的移动团队,计划研发手持设备上的全功能 Firefox 浏览器,支持扩展。

Fennec 最早的原型一年前就已经发布 ,演示了预期的功能,而最终产品则在项目持续了一年后才得以发布。新的 BETA 版终于在性能、可靠性和功能完整性方面达到了一定水平,能满足用户的日常使用。

发布的 beta 版采用与之前 alpha1 版 相同的用户界面理念。

Fennec 的用户界面设计偏向手指操作,在触摸屏上使用也很简单。与普通 Firefox 桌面版浏览器相同,Fennec 也由 XUL(一种基于 XML 的用户界面描述语言)构建。左边栏的滑动条还可以显示带预览图的分页切换。

右边栏是基本导航控制条和一个能够激活配置面板的按钮。用户可以托拽边栏向左或向右移动页面。

用户界面自上一版以来进行了大量小改。手指和用户界面的互动不再那么笨拙,可滑动的边栏的整合也很流畅。触摸滚动和手指移动在用户界面中得到了全程支持,包括书签等区域。正如我们在 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 版。

登录,参与讨论前请先登录

评论在审核通过后将对所有人可见

正在加载中

关注电子阅读、任何有趣的设备、IC 以及“历史的草稿”,相信移动设备与互联网的结合正促成近百年来最重要的一次变革。

本篇来自栏目

解锁订阅模式,获得更多专属优质内容