1.3.2 重写框架的语言层
Qomo项目于2005年末启动,它自一开始便立意于继承和发展WEUI框架。为此我联系了WEUI原项目组以及产品所有的公司,并获得了基于该项目开源的授权。
从WEUI到Qomo转变之初,我只是试图整理一套有关WEUI的文档,并对WEUI内核中有关OOP的部分做一些修补。因此在这个阶段,我用了一段时间撰写公开文档来讲述JavaScript的基本技术,这包括一组名为“JavaScript面向对象的支持”的文章。而这个过程正好需要我深入地分析JavaScript对象机制的原理,以及这种原理与Qomo项目中对OOP进行补充的技术手段之间的关系。然而这一个分析的过程,让我汗如雨下:在此以前,我一直在用一种基于Delphi的面向对象思想的方式,来理解JavaScript中的对象系统的实现。这种方式完全忽略了JavaScript的“原型继承”系统的特性,不但弃这种特性优点于不顾,而且很多实现还与它背道而驰。换而言之,WEUI中对于OOP的实现,不但不是对JavaScript的补充,反而是一种伤害。
于是,我决定重写WEUI框架的语言层。不过在做出这个决定时,我仍然没有意识到WEUI的内部其实还存在着非常多的问题——这其中既有设计方面的,也有实现方面的问题。但我已经决定在WEUI向Qomo转化的过程中,围绕这些(已显现或正潜藏着的)问题开始努力了。
Qomo Field Test 1.0发布于2006年2月中旬,它其实只包括一个$import()函数的实现,用于装载其他模块。两个月之后终于发布了beta 1,已经包括了兼容层、命名空间,以及OOP、AOP、IOP三种程序设计框架基础。这时Qomo项目组发展到十余人,部分人员已经开始参与代码的编写和审查工作了。我得到了Zhe的有力支持 ,他几乎独立完成了兼容层框架以及其在Mozilla、Safari等引擎上的兼容代码。很多开源界的,或者对JavaScript方面有丰富经验的朋友对Qomo提出了他们的建议,包括我后来的同事hax 等。这些过程贯穿于整个的Qomo开发过程之中。
在经历过两个beta之后,Qomo赶在2007年2月前发布了v1.0 final。这个版本包括了Builder系统、性能分析与测试框架,以及公共类库。此外,该版本也对组件系统的基本框架做出了设计,并发布了Qomo的产品路线图,从而让Qomo成为一个正式可用的、具有持续发展潜力的框架系统。
回顾WEUI至Qomo的发展历程,后者不单单是前者的一个修改版本,而几乎是在相同概念模型上的、完全不同的技术实现。Qomo摒弃了对特殊的或具体语言环境相关特性的依赖,更加深刻地反映了JavaScript语言自身的能力。不但在结构上与风格上更为规范,而且在代码的实用性上也有了更大的突破。即使不讨论这些(看起来有些像宣传词的)因素,仅以我个人而言,正是在Qomo项目的发展过程中,加深了我对JavaScript的函数式、动态语言特性的理解,也渐而渐之地丰富了本书的内容。
| 回书目 上一节 下一节 |
|
||||
| · iSCSI应用与发展 · CISSP认证成长之路 · 隐私保护技术探讨 · 华为员工自杀频频拷问.. · FTTx光纤接入 · Windows Server 2008专.. · 开源虚拟化技术Xen · WCF开发基础 |
· Linux——从菜鸟到高手 · 微软出价446亿美元收购.. · SQL Server 2008/2005.. · RAID——磁盘阵列基础 · 微软Forefront企业安全.. · 如何优化IT 控制能耗 · 国际文档格式标准开战 · 珊瑚虫QQ作者侵权案开庭 |
|||
|
||||
| · VPN技术 · iSCSI应用与发展 · SQL Server 2008/2005.. · SQL Server 2008/2005.. · iSCSI应用与发展 · RAID——磁盘阵列基础 · 中间件应用技术专题 · 深入了解PGP加密技术 |
· 病毒查杀专题 · VPN技术 · 国际文档格式标准开战 · SSL VPN详细知识 · Linux防火墙 · 打造安全服务器 · Sniffer安全技术从入门.. · 木马原理与防范 |
|||
|
||||
| · SQL Server 2008/2005.. · iSCSI应用与发展 · 中间件应用技术专题 · SQL Server 2008/2005.. · iSCSI应用与发展 · RAID——磁盘阵列基础 · 身份认证技术 · 病毒查杀专题 |
· 清除流氓软件——51CTO.. · SSL VPN详细知识 · Sniffer安全技术从入门.. · VPN技术 · 了解统一威胁管理(UTM).. · 网络钓鱼 · ADSL应用面面俱到 · ADSL应用面面俱到 |
|||