Brendan Eich 的这篇 [Mozilla 2](http://weblogs.mozillazine.org/roadmap/archives/2006/10/mozilla_2.html),过了一个多月我才来看。还是有些新内容的。
现在“Mozilla”这个词比较怪,它不再指以前那个“Mozilla Suite”浏览器 (自从 SeaMonkey 分出去之后),也不专指“Firefox”,更不仅限于“Gecko”渲染引擎 (虽然现在给 Mozilla 起的版本号还是和 Gecko 同步的),按我的理解,指的是 Mozilla 组织这面大旗下的整个平台的统称,Web 渲染,XUL, XBL, JavaScript, XML/XSL 等许多引擎的统称,而其招牌产品就是 Firefox。
其中,Mozilla 1.9 将对应着 Firefox 3.0,其路线大致已经确定了。Brendan 讨论的是在架构上将有巨大变化的 Mozilla 2,它预期在 2008 年出现。
最引人注目的是基于 JIT 的 JavaScript 虚拟机的出现,加上改进的垃圾回收,将给 JavaScript 的效率 (在 DOM 访问和内存占用方面) 带来巨大提升,据说。同时,它支持的语言会是 [ECMAScript 4](http://weblogs.mozillazine.org/roadmap/archives/2006/05/javascript_2_ecmascript_editio.html) (俗称 JavaScript 2)。
其他的改进对普通用户则不大可见,比如放弃 XPCOM,而更多的依赖标准 C++ 的特性来写程序,去掉一些为了兼容性遗留的[旧 API](http://wiki.mozilla.org/Gecko:Obsolete_API),简化代码组织,放弃 CVS 换用新的版本管理工具,等等。
放弃 XPCOM?? 那跨平台跨语言的优势怎么办?
用 C++ 来保证跨平台可以理解,但用 JavaScript/Python 实现 XPCOM 也是很有意义的啊.
qyb:
不好意思,我没说清楚,他们的趋势应该是慢慢减少 XPCOM 的使用,尤其是多余的一些 API。举的一个例子是,原来的:
可以简化为:
另外,能说说“用 JavaScript/Python 实现 XPCOM”的思路吗?在 Mozilla 的核心代码还是用 C++ 写的情况下。
ActivePython 有一个项目叫 PyXPCOM,事实上一直在 mozilla 的 cvs 里 extensions 目录下。我曾经在 win32 下编译过一次,试了试用 python 去连接 XPCOM 服务,但没尝试写一个 xpcom service. 但肯定是可用的。 用 JavaScript 编写 XPCOM 服务我是以前听我的同事说的,”基于Mozilla 的扩展开发”就是他写的,我认为他是这个领域的专家,所以有此一说。
呵呵。路过下。。。。有点高深,看不懂哦。