Qomo OpenProject beta1 發布!

來源:互聯網
上載者:User

Qomo離上一次發布FT4已經過去整整一個月了。這一段時間中,因為我個人的緣故,未能組織好Qomo的團隊,導致UI組和DB組未能正常展開工作。因此截止beta 1發布,以上兩個組仍未能釋出代碼。

一個最重要的原因,是因為Qomo目前沒有一個好的UI和DB架構。以前在WEUI中使用過的UI和DB Components代碼並不適用於新的架構和設計,因此只能供參考。

此外,相容組的Zhe設計了新的相容架構,基本上已經完成了代碼。但測試工作還未結束,因此暫時只作為Qomo項目團隊內部的一個測試版本,仍未能放在目前的beta 1中。

1、關於UI與DB組件包
============
本次,公開發布的beta 1仍不會附帶UI和DB代碼。但是我稍後會在這個blog中發布一個Qomo.Components的包,這個包中將會有目前全部UI、DB相關的代碼。這些代碼的注釋是全中文的。

這個包中的代碼,事實上是原WEUI項目中的代碼(甚至我連注釋都沒有改掉)。由於Qomo與WEUI有相同的文法與實現架構,因此只用了極少量的修改,這些代碼就可以運行在Qomo上了。在今後,這些代碼(中的部分或者全部)將不會隨Qomo繼續發布,它可以作為Qomo愛好者研究借鑒,但我不建議你使用在項目中。——因為Qomo將會另行提供一套。

2、本次發布中的主要修正
============
在FT4的基礎之上,本次發布代碼中有大量的修正代碼。最主要的兩項修改是:
  - 重新定義了Qomo的相容性目標。Qomo今後將在底層提供一個IE、Mozilla等瀏覽器(及不同的JS版本)的公用特性的超集,而不是象以前所說的“以IE6為基準”。這意味著Qomo將有一個更強大的相容層。因此,一些原本在JSEnhance.js中的代碼被移到了相容層架構中,例如出現了“Compat/common_js16.js”這個單元。

  - 修改了多投事件對象MuEvent()的代碼,徹底解決了原來的“快就不強壯,強壯就不快”的矛盾。

此外,在Object.js、System.js等核心代碼中,為一些新特性的實現也加入了代碼。但基本上沒有調整代碼架構,因此不單獨敘述了。

3、本次發布中的主要添加的內容
============
這次beta 1的發布,在Qomo中添加了完整的“介面(Interface)”機制,以及非常完整的“面向切面編程(AOP)”架構。並完成了相關技術文檔。

beta 1也完成了一個“組件繼承框圖”的自動產生程式。這樣你要以很容易地看到系統內部的架構結構。我也將在隨後再撰文來講述Qomo底層架構的實現。

beta 1終於開始在Debug/目錄下加入代碼。今次提供的是一個Profilers.js單元,這個單元用於收集系統運行中的效率資料。它採用原生的javascript代碼實現,因此可以脫離Qomo運行。——除了在toData()輸出時,他需要一個uneval()函數,這在相容層代碼Compat/common_ie6.js中。

profiles.js本意是試圖用AOP架構來實現的,但是這樣的話在Aspect.js單元之前的其它單元的載入效能就無法檢測了。因此Qomo提供了一個RepImport.js單元,使用$import()提供的一些特性來收集system.js中載入的代碼效率。在system.js載入之後,該單元提供的特性將會被關閉(ResetImport),此後的使用者代碼,可以通過AOP建立自己的分析系統。一個這樣的樣本被放在Debug/TestCase/T_profiler.html中。——它也正好示範了AOP與非AOP實現profiler時存在的不同。

4、主要添加檔案的列表
============
組件包:
/Components/*.*
/Framework/Components.js
/Framework/Classes.js

核心上的修正和新特性:
/Framework/RTL/Interface.js
/Framework/RTL/Aspect.js
/Framework/Compat/common_js16.js
/Framework/Debug/Debug.js
/Framework/Debug/Profilers.js
/Framework/Debug/RepImport.js
/Framework/Debug/TestCase/*

文檔和測試:
/Framework/DOCUMENTs/Qomolangma實現篇(七).txt
/Framework/DOCUMENTs/Qomolangma實現篇(八).txt
/Framework/DOCUMENTs/TestCase/AdvObjectDemo3.html
/Framework/DOCUMENTs/TestCase/AdvObjectDemo4.html
/Framework/DOCUMENTs/TestCase/AdvObjectDemo5.html
/Framework/DOCUMENTs/TestCase/BaseObjectDemo4.html
/Framework/DOCUMENTs/TestCase/T_InterfaceAggregate.html
/Framework/DOCUMENTs/TestCase/T_InterfaceQuery.html

下載:Qomo OpenProject beta 1
---------------------------
http://www.01cn.net/users/aimingoo/files/Qomo.V1(b1).zip

文檔:
---------------------------
Qomolangma實現篇(七):Qomo的介面機制
Qomolangma實現篇(八):Qomo中的AOP架構
Qomo OpenProject beta1 精彩圖集~

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.