Qomo has been around for a whole month since the last FT4 release. During this period of time, due to my own failure to organize the qomo team, the UI group and DB Group failed to work properly. So as of Beta 1 release, the above two groups still failed to release the code.
One of the most important reasons is that qomo currently does not have a good UI and DB framework. The UI and DB components codes used in weui are not applicable to new architectures and designs, so they are only for reference.
In addition, Zhe of the compatibility group has designed a new compatible framework and basically completed the code. However, the test has not been completed. Therefore, it is currently only used as a test version within the qomo project team and cannot be put in the current Beta 1.
1. UI and DB package
================
This time, the public release of Beta 1 still does not include the UI and DB code. But ILaterA qomo. Components package will be released in this blog. This package will contain all the current UI and DB-related code. The comments of these codes are all Chinese.
The code in this package is actually the code in the original weui Project (even I didn't even change the comment ). Since qomo and weui have the same syntax and implementation architecture, these code can run on qomo with only a few modifications. In the future, these codes (some or all of them) will not be released with qomo, which can be used as a reference for qomo fans, but I do not recommend that you use them in projects. -- Because qomo will provide a separate set.
2. Major amendments in this release
================
On the basis of FT4, this release code contains a lot of corrected code. The two most important changes are:
-The qomo compatibility goal is redefined. In the future, qomo will provide a superset of Public features of IE, Mozilla and other browsers (and different JS versions) at the underlying level, rather than "using IE6 as the benchmark" As previously mentioned ". This means that qomo will have a more powerful compatibility layer. Therefore, some codes originally in jsenhance. js are moved to the compatible layer framework. For example, the Unit "compat/common_js16.js" appears.
-Modified the muevent () Code of the Multi-cast event object to completely solve the conflict between "fast, strong, and unhappy.
In addition, some new features are added to the kernel code such as object. js and system. js. However, the Code framework is basically not adjusted, so it is not described separately.
3. Main content added in this release
================
In this release of Beta 1, qomo added a complete "interface" mechanism and a very complete "Aspect-oriented programming (AOP)" framework. Complete related technical documents.
Beta 1 also completed an Automatic Generation Program of "component inherited block diagram. In this way, you can easily see the internal framework structure of the system. I will also write an article later to describe the implementation of the qomo underlying framework.
Beta 1 finally began to add code to the debug/directory. This is a profilers. js unit used to collect efficiency data during system running. It is implemented using native JavaScript code, so it can run without qomo. -- In addition to todata () output, he needs a Val () function, which is in compatible Layer Code compat/common_ie6.js.
Profiles. JS is intended to be implemented using the AOP framework, but the loading performance of other units before the aspect. js unit cannot be checked. Therefore, qomo provides a repimport. js unit and uses some features provided by $ import () to collect the code loading efficiency in system. js. After system. JS is loaded, the features provided by this unit will be disabled (resetimport). Subsequent user code can establish its own analysis system through AOP. This example is put in debug/testcase/t_profiler.html. -- It also demonstrates the differences between the implementation of profiler by AOP and non-AOP.
4. List of Major added files
================
Package:
/Components /*.*
/Framework/components. js
/Framework/classes. js
Kernel corrections and new features:
/Framework/RTL/interface. js
/Framework/RTL/aspect. js
/Framework/compat/common_js16.js
/Framework/debug. js
/Framework/debug/profilers. js
/Framework/debug/repimport. js
/Framework/debug/testcase /*
Documentation and testing:
/Framework/documents/qomolangma (72.16.txt
/Framework/documents/qomolangma (gossip .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
Download: qomo openproject Beta 1
---------------------------
Http://www.01cn.net/users/aimingoo/files/Qomo.V1 (b1).zip
Documentation:
---------------------------
Qomolangma implementation (7): qomo Interface Mechanism
Implementation of Qomolangma (8): AOP framework in qomo
Qomo openproject beta1 highlights gallery ~