================================================================================
Qomolangma ProjectOpenProject v0.9
类别 :Rich Web Client
关键词 :JS OOP,JS Framwork, Rich Web Client,RIA,Web Component,
DOM,DTHML,CSS,JavaScript,JScript
项目发起:aimingoo (aim@263.net)
项目团队:aimingoo, leon(pfzhou@gmail.com)
有贡献者:JingYu(zjy@cnpack.org)
================================================================================
一、Qomo OpenProject项目的由来
~~~~~~~~~~~~~~~~~~
Qomo OpenProject是一个在Rich Web Client方向上发展的开源项目。它的前身是我在前公司的一个
内部项目WEUI(Web Enterprise User Interface)。
用Qomo作为项目名,是因为我不久前刚才珠峰回来。Qomolangma因此成为我能够想到的最美丽的
词汇之一。如同珠峰带给我的印象一样,Qomolangma是完美、神秘、遥远和不可企及的代名词。直
译藏语的Qomolangma,就是“女神朗玛”的意思。当然,它现在通常是指珠峰。
WEUI这个项目是由三个开发人员完成的,这里我需要先介绍一下他们:
- 周劲羽(JingYu)
中国最优秀的Delphi开源项目CnWizard&CnPack的发起人和领导者。在2004年4月到8月
间,我们能有幸同事四个月。在此期间,我们一起完成了WEUI的内核设计工作。他独立
完成了WEUI项目中的LocalDB库这个部分。
- 周鹏飞(leon)
leon是非常优秀的技术人员和项目经理,目前他是微软的软件工程师。在2004年4月到
2005年6月间,我们一起共事。此前,他在思维加速(justep)公司担任内核设计和开发的
工作。leon也是WEUI内核设计的参与者之一。他还为WEUI完成一个专用的自动文档生成系
统。在WEUI项目中有一个基于VML的Graphics库是由他独立完成的。
- 周爱民(aimingoo)
我。目前在盛大网络任软件架构师。在2004年4月到2005年8月期间,我在前公司组织
并完成了WEUI这个项目,并在WEUI的基础上实现了一个Rich Web Client的DCN(Data Comm-
unications Network Managment)系统。
WEUI这个项目是一个企业级的产品/技术。Qomo OpenProject主要是将其中可以公开的部分技
术和技巧剥离出来,试图在此基础上形成一个公共的、可重用的 Rich Web Client开发
框架和界面组件库。
二、Qomo OpenProject的组成
~~~~~~~~~~~~~~~~~~
因此Qomo OpenProject将会由两个部分构成:
- QomoJS : 在JavaScript的基础上进行扩展,使其支持完整的OOP特性,部分支持
一些其它高级语言的语法特性。它本身又由两个部分构成:
QomoJS OOP Core : OOP特性的实现内核
QomoJS Framework : 语言特性的框架层和基础类库
- QomoUI : 一套界面组件库。
三、Qomo OpenProject的运行环境
~~~~~~~~~~~~~~~~~~
WEUI本身在以企业用户为对象的,在B/S架构下进行开发的一套B端实现技术。因为他有
特定的用户对象,因此WEUI从一开始起就没有充分考虑浏览器兼容问题。——你应该知
道,企业用户是不大可能让员工在工作机上尝试Firefox/Mozilla或者Opera的。
但Qomo与此不同。Qomo中讨论浏览器兼容问题,但并不要求在Qomo OpenProject中必
须去实现它。这个说法的含义是,Qomo OpenProject中将尽可能使代码被运行在不同的浏
览器上,但在绝大多数情况下,Qomo将优先考虑对Internet Explorer的实现,而不是兼容。
作为一项约定:Qomo OpenProject公开的代码必须进行(主流)浏览器的兼容性测试,并将
测试的结果标注在一个表格中,放在项目的Document目录中。因此如果你打算支持Qomo,
你可以选择:
- 去完善它的兼容性,或者
- 仅仅是在指定浏览器上去进一步实现它。
Qomo OpenProject的推荐运行环境是:
- Windows 98以上的操作系统
- Internet Explorer 5.5以上的浏览器
Qomo OpenProject的每一个发布版本将保证测试并运行的浏览器是:
======================================================
名称 版本号
======================================================
- Internet Explorer 5.5 正式发行版本 5.50.4134.0600
- Internet Explorer 5.5 sp1 5.50.4522.1800
- Internet Explorer 5.5 sp2 5.51.4807.2300
- Internet Explorer 6.0 6.0.3790.0
- Internet Explorer 6.0 sp1 6.0.3790.1830
- Internet Explorer 5.01 sp2 5.0.3314.2100 (仅提供兼容性测试和报告)
======================================================
四、Qomo OpenProject的特点
~~~~~~~~~~~~~~~~~~
Qomo不排斥任何与指定浏览器直接相关的技术的使用,也不排斥在Qomo OpenProjec
t约定运行环境中进行的任何技术、技巧的尝试。
Qomo提供一个完整的OOP Core,使得开发人员可以在此基础上进行大型的类/类库封
装。Qomo OpenProjectt也提供完整的Visual Compoent构建方案和底层类库,并包含一
些示例代码。
Qomo试图对浏览器兼容性进行探索和尝试。公开有关兼容性的资料和技术实现,但
并不保证在未约定的浏览器上的运行。
Qomo是企业级而非门户级的架构。它能适应企业级B/S架构中的B端开发的需求,但
不适宜作为“公开的”、“门户级的”网站的B端架构。——除非您不考虑IE之外的浏
览器用户的体验。
Qomo是以技术探索为主要方向的。可能他不会按照你所期望的、商业化的发展速度
进行升级和更新。但Qomo项目组将保证每一项应用在Qomo OpenProject中的技术的
高度公开与透明,并保证应用或者实现这种技术的合理性。
此外,由于Qomo实现了完整的OOP特性,所以他具备对一些新的架构技术的描述能力。
因此我将会推动以“以Qomo OpenProject为基础的B端架构设计技术”为主题的发展方向。
五、参与Qomo OpenProject项目
~~~~~~~~~~~~~~~~~~
欢迎你积极参与Qomo OpenProject项目。
如果你希望使用Qomo OpenProject的成果,那么你可以随时从网站上得到他的新版本,并无
须任何授权地在商业/非商业的环境中使用它。
如果你希望为Qomo OpenProject贡献代码或者你的新思,那么你可以通过邮件与我联系:
aim@263.net。
如果你想进行有关该项目的讨论,那么可以在我的blog上留言。如果你的话题可以被
展开讨论,我会为你开一个主题。
(* 注:我可能会为Qomo OpenProject项目建立一个开源项目或者维护一个独立的网站。但目前,
我还没有时间来做这件事。*)