Mozilla面对竞争压力,开始对Firefox做三个不同方向的大改变。 第一是新的JavaScript引擎,可以让网页版程序速度增快至少30%。第二是Windows版的新图像加速引擎,可以靠着新硬件加速器帮忙处理图像和文字。第三是一个程序开发工具来打造新的Firefox附加套件系统。 Mozilla自从五年前发表Firefox后,在对抗老大哥IE上有明显的斩获,不过一开始大部分的时间微软的浏览器都仅稍微衰退。而现在Google Chrome开始快速开发,苹果在Windows和Mac都积极营销自家的Safari,Opera开发速度变快,而更重要的是,微软正显示出来他们想要重新打造IE的兴趣。 根据Net Applications调查,Firefox在去年十一月全球浏览器市占率是24.7%,而周一发表的二月份报告显示稍微下滑到24.2%。而同一时间,Chrome从3.9%成长到5.6%。 Mozilla在去年对Firefox做了许多显著的变更,在3.5和3.6版中加入了许多新功能,并且在开发一个名为“Lorentz”的更新设计,来减少来自如Flash播放器这种外挂造成的当掉。现在新一代的点子虽然还仅是很粗略的型态,但是已经准备开始测试了。 JavaScript大翻修 将JavaScript引擎加速到新境界,Mozilla功不可没,而他们的TraceMonkey引擎在过去一直很有竞争力。但是它已经被Chrome V8引擎和Safari Nitro引擎超越, 而在Opera 10.5 beta中的Carakan引擎则有机会追上甚至超越所有的竞争者。 这些之所以重要是因为JavaScript在浏览器处理上占越来越重要地位。许多复杂漂亮的使用者界面大量的使用JavaScript。而新的标准让浏览器也可以在背景处理任务,为更进阶的网页和网络程序开了一扇门。 所以Mozilla有个新计划名为JaegerMonkey。 Mozilla工程师认为,可以将某些常用任务转换成处理器原生语言编译,而非用高阶JavaScript架构直译,通过可加速Firefox的 JavaScript引擎处理程序代码。不过JaegerMonkey程序开发者David Anderson在周五一篇博客中直指问题核心表示: “我们发现,当追踪成功时,我们会比一般的方式快,但是当追踪失败时,我们必须要回到过去的直译器上。而那时候你的JavaScript跑来的水平大约是在2007到2008年左右(即在Firefox 3.5、Safari 4、Chrome之前)。我们无法接受,而我们需要去解决这个问题”Anderson说。 JaegerMonkey是设计来在两种情况下都有最好表现。Anderson问到“为什么我们不能够追踪并得到超快表现,而当追踪失败时,回到老方法时一样很快?我们的新计划,JaegerMonkey(或JagerMonkey)就有把这个考虑放在里面...我们才刚刚开始了,而结果很有希望。” 根据JagerMonkey程序人员David Mandelin的描述,Mozilla决定在Nitro JavaScript引擎上打造这个新组件。 Mandellin在博客中说:“我们决定汇入来自苹果开源码Nitro JavaScript JIT汇编语言(just-in-time compiler)。我们之前就知道它很简单而且快速(我自己用它来编译正规表达式显示它真的很快),它是开源码,而且它是设计良好的C++,所以它很适合。” 使用SunSpider JavaScript来测试显示JaegerMonkey的确有显著较快。在融入Nitro,但尚未最佳化之前,Anderson的测试显示在32位 x86系统上速度增加30%,而64位x86系统上则是加速45%。 不过JaegerMonkey离大量beta测试还有一段距离。原始码已经可下载,但是尚未内建在Mozilla每日更新“Minefield”版Firefox原型里。 Direct2D加速 另外一个Mozilla显著改变是支持微软的Direct2D技术来加速文字和图像显示,现在已经加进每日更新版里。这代表会有更大量的实际测试,即便它还没进入到官方beta版中。 Direct2D和相关的DirectWrite接口使用到计算机的绘图处理芯片来处理在Windows Vista和Windows 7中许多显示任务。其中一项改变是字体反锯齿,可以在两个维度上圆滑曲线来改掉字型边缘的锯齿、奇怪形状,而之前的技术仅能运作在一个维度上。 Mozilla的Asa Botzier在周六的博客中描述他的结果说“当DirectWrite开启时,字型看起真的很棒。” 不是很多人知道支持Direct2D正是正在开发中的IE 9其中一项新功能。在2009年微软IE 9展示上,这个浏览器的原型在某些图像任务如在在线地图移动中,展示了巨大的效能改进。 Mozilla的目标是在Direct2D支持部分击败微软,但是这个技术改变是很显著的。 “有些套件如Stylish和AdBlock Plus可能会破坏这个新功能。”Dotzler警告说。而Direct2D预设并未开启,Dotzler有提供使用说明给那些急着要使用的人。 JetPack SDK 另外一个Firefox改变是新的附加套件基础名为Jetpack。Mozilla希望新的系统可以让开发者更容易使用,而Firefox使用者比较容易管理,比如说安装或是更新套件后不用重新启动。 不过目前JetPack原型依然需要一些程序技巧来使用。而现在Mozilla准备通过发布SDK来降低困难度。 Jetpack团队成员Atul Varma在周六的邮寄信件宣布说:“我们已经是出了第一版的Jetpack SDK 0.1发表候选(release candidate),但是它还十分粗略” “现在这个SDK是给熟悉使用命令列的人,目前这个开发工具只能这样使用。我们也在开发网页版的开发环境名为FlightDeck,会让整合和建造Firefox套件更为容易...但是目前尚未准备好。”Varma说。 JetPack在概念上很类似Chrome的网页技术扩展套件系统,但是Chrome的套件系统才刚在Windows上正式发布,而Mac和 Linux上都仅是beta而已。Mozilla则是刚发布JetPack最终原型外挂,版本是0.8,而目前正在准备一个不同的软件包名为JetPack Reboot,预计将会内建在Firefox中。 附加组件是Firefox很重要的一个优势。这些年来程序人员已经开发了上千种不同用途的套件,让使用者可以自由客制化他们的浏览器,而不需要将全部功能都内建在里面。Mozilla也在努力打造让现有的套件系统(XUL)可以不用重开浏览器即可安装或移除套件。 个别来说,这三个元素每一个都值得一提,但是都不足以让Firefox有明显的改进。而全部加在一起则显见Mozilla没有自满,而且承诺让Firefox持续更有竞争力。 |