===============================================================================
Qomolangma OpenProject v1.0
类别 :Rich Web Client
关键词 :JS OOP,JS Framwork, Rich Web Client,RIA,Web Component,
DOM,DTHML,CSS,JavaScript,JScript
项目发起:aimingoo (aim@263.net)
项目团队:..\..\Qomo_team.txt
================================================================================
(Qomolangma OpenProject v1.0 体系架构图)
一、Qomolangma 1.0 Final
============================
一年以来,Qomo团队都在一种迷茫的、看起来没有方向的状态中工作。因为Qomo看起来缺乏
必要的设计,以向每一个关心它的人解释以下的问题:
- Qomo到底是什么
- Qomo有什么用
此前我已经说过,Qomo项目源出于另一个名为WEUI的商业项目。WEUI有着自己完整的架构和
方向,由于需求决定设计,因此事实上WEUI的原始设计也是面向它原本的方向与需求的。我
当然知道这样的需求目标和方向,但也同样知道:WEUI与Qomo有相似但不相同的方向。
所以,我无法把WEUI的架构搬到Qomo中去,也无法用WEUI的方式来解说Qomo的架构。我必须
Qomo的前期工作中解决一个问题:如何让WEUI变成Qomo。
既然不能让一个旧架构为新目标服务,那么就明确目标,并为这个目标做一个新架构。
那么,还是上面那两个问题。Qomo的答案到底是什么呢?
二、Qomo 到底是什么
============================
在很长时间里,我都在强调Qomo学术性的方面。但Qomo却不是学术者的玩物,Qomo的团队把
它打造得“有点学术的味道”,其目标是让他更有实用的价值。我们应当从根基上保证Qomo
能“被更好的实用”。
在架构上,Qomo一直良好地保持了它在两个目标上的相对独立:内核与应用。Qomo V1将主要
的精力放在了内核的构建上。为了能让一个内核更好地满足将来的应用,它做到了模块间不
存在严重的耦合性。这使得我们可以有一种简洁的方式来重建(适用于不同环境的)Qomo内
核。在Qomo中,实现这种“重建”的工具是一个强大的Builder工具。有趣的是这个Builder
也是使用Qomo来实现的。
Qomo面向的方向包括但并不局限于RWC(Rich Web Client)。在我看来,JavaScript是一种技
术工具,但并不是一种仅用来做网页的工具。很多人怀疑这种语言的价值,但我想我已经清
晰地看到这个语言超凡的特性和它蕴藏的能量。我也注意到这种能量在各种不同的平台、环
境中慢慢地释放。
Qomo在语言特性的实现上也并不局限于RWC。已经有朋友注意到:如果我们仅仅是要做一些
网页或者一套界面组件库,那么我们没有必要在Qomo中实现IOP和AOP。Qomo V1努力去实现
这些,正是为了释放JavaScript这种语言的内部能量做出的准备。
所以说:
-Qomo内核是足够强大的能应用在不同的JavaScript宿主环境下的通用扩展。
-Qomo有能力提供胶合不同的应用环境下功能需求的中间代码。
-Qomo可以作为定制的宿主应用的代码包的一个部分以提升应用的体验或局部性能。
Qomo使用通用内核层,来面向不同的宿主环境去提供统一的实现能力——这一点有点象.NET
的中间语言或Java的JVM(所起到的作用)。为了达到这种目的,Qomo在内核实现中体现了宿
主无关的特性,也通过Builder和内核模块化来达到为特殊的宿主提供定制版本的能力。
Qomo应用可以不是独立的代码体(例如进程或模块),这说明它在形式上可以是代码片断,也
可以是整体方案。这种特性由两个方面来保证:JavaScript语言对宿主的设定,以及Qomo自
身的可剪裁特性。因此你可以用它来胶合各种模块或者用它独立实现应用。
三、Qomo 有什么用
============================
严格来说,Qomo只实现一个应用(或者胶合模块、代码片断)中的两层:内核层和应用架构层。
内核层也可以称为语言层,提供语言特性,让开发人员得到更强的编程能力;应用架构层提
供应用架构和机制,例如消息处理、持久化、数据传输以及并行分布的体系结构等等。
Qomo也会有一些演示用的应用软件——当然,把它称为严格含义上的软件是不妥当的。因为
它可能不会象软件产品那样发布和销售。——Qomo提供这些演示的目的,与Java或C#等等提
供演示代码的目的完全一致:让你学会它的使用。
所以,如果你不去实际用它,Qomo就“不会有什么用”。因为它不是产品,不面向任何确切
的用户需求。它是开发工具,是开发者所需要的代码包或代码层。
四、Qomo V1实现了什么
============================
目标和远景都很伟大,但我们究竟做了些什么实实在在的事情呢?
Qomo V1中实现了完整的内核层。包括:
----------------
-基于类(类型)继承的面向对象系统,对基于原型的JavaScript是有益的扩展;
-包括注册、查询和聚合等功能的接口(Interface),提供面向接口编程(IOP)的能力;
-完整的、可定制连结点的面向切面系统;
-通过路径映射与侦测,实现了能自行管理的、可选的命名空间系统;
-可扩展的兼容层构架;
-JavaScript基础类的增强,包括字符串、数组以及错误类等;
-公共类库:池、处理机、时间管理与时间线等;
-调试、性能分析、编译(连接与压缩)等
Qomo V1中实现了部分的应用层代码。包括:
----------------
-体验版本的界面组件库、图形组件库和数据库组件库(概念模型,非正式框架)
-界面、逻辑和数据分离的基本框架
-HTML描述(模板)与脚本实现之间的基本关系定义与属性的使用方法
-QomoHierarchyPoster.html:用于展现Qomo中的命名空间与类继承关系(for IE only)
五、Qomo V2的计划
============================
Qomo V2有五点计划:
-让基于Qomo的应用成为现实。我们将实现Qomo应用层中关于数据、界面与基础逻辑框架
相关的绝大多数内容,以使得Qomo可以应用于复杂的应用项目之中。
-让Qomo可以为更多的JavaScript宿主使用。我们将在内核层实现更好的兼容性,以使得
Qomo可以用于包括Acrobat Script、ActionScript、JScript、Rhino以及Epimetheus等
不同的引擎中,并提供相同的(或相容的)能力。
-让Qomo的示例与文档更规范和丰富,并提供(或包含)更良好的测试框架与文档化工具。
-让Qomo面向不同的平台提供跨平台的编程能力。例如对Linux平台下的,或嵌入式平台下
的脚本引擎提供支持。
-更加良好的团队管理与项目管理。
分享到:
相关推荐
- "Qomolangma is 8,844.43 meters high" 说明珠穆朗玛峰的高度,使用了形容词high来描述海拔。 - "It’s one of the most popular places for serious mountain climbers" 表明珠穆朗玛峰是登山者最热门的目的地...
1. **Qomolangma is 8,844.43 meters high.** - 珠穆朗玛峰高8,844.43 米。 2. **China has the largest population in the world.** - 中国是世界上人口最多的国家。 3. **One of the most dangerous sports in the...
- `B: Qomolangma.` 5. **学习过程**: - 自学单词和预习课文,填写首字母填空,如 `square kilometers`,`deepest`,`population` 和 `protect China`。 - 合作校对答案,分组学习新单词和短语,进行听力练习和...
1. Qomolangma is 8,844.43 **metres high**. 珠穆朗玛峰高8,844.43 米。 2. China has **the largest population** in the world. 中国是世界上人口最多的国家。 3. One of **the most dangerous sports** is **...
- 回答:`Qomolangma. It's 8844.43 meters high. It's higher than any other mountain.` - 询问中国历史:`Do you know China is one of the oldest countries in the world?` - 回答:`Yes, I did. It's much ...
1. **Qomolangma is 8,844.43 meters high.** 珠穆朗玛峰高8,844.43米。 2. **China has the largest population in the world.** 中国是世界上人口最多的国家。 3. **Mountain climbing is one of the most ...
1. 知识目标:学生需掌握新词汇,如Qomolangma(珠穆朗玛峰)、Nile(尼罗河)、Caspian Sea(里海)、Sahara(撒哈拉沙漠)、square kilometer(平方公里)、desert(沙漠)、population(人口)等;学习短语,如in...
- Qomolangma is 8,844.43 **meters high**. 珠穆朗玛峰高 8,844.43 米。 - China has **the largest population** in the world. 中国是世界上人口最多的国家。 - One **of the most dangerous sports** **in** ...
12. 第十二题考查比较级,Qomolangma比世界上任何其他山都高,any other后跟单数名词,选A. any other。 13. 第十三题考查同级比较,as...as结构中,副词carefully修饰动词does,选B. as carefully as。 14. 第十...
2. "Qomolangma is higher than any other mountain in the world." 这里用到了比较级加"any other + 单数名词"的形式,表示最高级的含义,强调珠穆朗玛峰是世界上最高的山。 3. "The main reason was to protect ...
2. "Qomolangma is higher than any other mountain in the world." 通过比较级+than+any other+单数名词的形式,表示最高级的概念。 3. "The main reason was to protect their part of the country." 强调了动词...
例如,珠峰形成于6000万年前,海拔8850米,由安德鲁·沃斯建议以他的前任乔治·埃弗斯特命名,尽管在当地有Qomolangma(藏语)和Sagarmatha(尼泊尔语)两个名字。 4. 观看和听:播放名为“Because it is there.swf...
9. "Qomolangma is about 8,844 meters high. It is ______ mountain in the world." 最高山峰应该用最高级 "the highest"。 10. "My mother is ill. I have to ______ her in the hospital after class." 在医院...
2. **the Changjiang River/Yellow River/Mount Qomolangma/Mount Tai/the Great Wall/the Summer Palace**: 中国的自然与人文景观,分别是长江、黄河、珠穆朗玛峰、泰山、长城和颐和园。 3. **Chinese music**: ...
在本单元中,学生们将学习到关于世界著名地理特征的一些知识,包括珠穆朗玛峰(Qomolangma)、尼罗河(The Nile)以及里海(The Caspian Sea)和撒哈拉沙漠(The Sahara)。 首先,提到珠穆朗玛峰,它是位于中国和...
8. 山峰:特定的山峰名称前,如"Mount Qomolangma"(珠穆朗玛峰),不使用冠词。 9. 泛指人类:提到人类时,一般用零冠词,如"Man is mortal."(人必有一死)。 10. 固定词组:一些固定搭配中,如"go to school"...
- 不定冠词 "the" 的使用:例如 "The height of Mount Qomolangma","the earth goes around the sun"。 - 动词时态:一般现在时,如 "goes" 用于表示普遍真理或规律。 - 动名词:looking forward to visiting,...
7. 地名如山峰,如“Mount Qomolangma”,表示山的名称时不需要冠词。 8. 泛指人类时,如“Man is mortal.”,man在这里代表所有人类,所以不加冠词。 9. 固定表达中,如“go to school”(去上学)、“go to bed...
2. 技能目标:学生需能听懂并参与有关地理和自然的对话,例如讨论珠穆朗玛峰的高度(Qomolangma is 8,844.43 meters high. It’s higher than any other mountain.)或者世界上最深的盐湖是哪个(The Caspian Sea is...
课件的主题围绕着对"going high"的理解,以此引出对珠穆朗玛峰(Mount Qomolangma)攀登历史的探索。 课件首先通过讨论"What does ‘going high’ mean?"来激发学生的思考,引导他们表达自己对于"高"的含义,可能...