论坛首页 Web前端技术论坛

分享轮子: a9engine/a9text

浏览 2852 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-06-21  

http://a9engine.sf.net
学习和交流,分享个人经验,特将主页的js-driven心得整理到a9engine和a9text
如果希望有更高更多更好的应用,请大家多关注JSI(http://jsintegration.sourceforge.net/)

================================================================
1. a9engine 是什么?

a9engine是一套轻量级的js引擎,为web开发提供便捷的js管理.

a9engine的产生和应用都出于个人目的,这一点从名字上就可以看到:)
我本人很乐意分享自己的心得和成果,但不要试图期望我把a9engine做成产品.

1.1. a9engine 能做什么
  1) 按需载入js
     使用require方法,可以同步载入js,并选择释放的作用域.
  2) 根据配置,自动解决js的依赖关系
     根据包配置文件__info__.js,先于脚本载入所依赖的js
  3) 脚本隔离,解决名词冲突.
     当a.js和b.js都有Func方法时,可以使用a.Func和b.Func来防止方法覆盖
  4) 合并脚本
     可以把依赖的脚本,做为脚本的一部分放在同一个名词空间释放.

1.2. a9engine 不能做什么
  1) 简单的脚本管理以外的事情,比如ui,算法,或复杂逻辑.
  2) 完全跨浏览器问题.

1.3. 同类产品有哪些?
  目前知道的有JSI,他是一个优秀的框架,同时提供了很多产品级的方案.
  但我个人觉得,在我个人应用上有些大材小用了,甚至有些冗余和不灵活.
  而且,在随后的a9text应用上,我更倾向于自己的a9engine.

2. a9engine 主要的目录结构:

|  readme.txt           正在阅读的文本
|  config.js            配置文件
|  a9engine.js          核心脚本
|
+- __testdemo__         各个功能的测试和演示
+- doc                  文档
+- com/trydofor/a9text  **重点内容
+- com/trydofor/a9js
|   +- http
|   |      __info__.js  包描述文件
|   |      xhr.js       XmlHttpRequest类
|   +- code
|   |      __info__.js  包描述文件
|   |      des.js       Des算法类
|   |      md5.js       Md5算法类
|   |      encoder.js   编码转换类
|   +- format
|   |      __info__.js  包描述文件
|   |      date.js      类是java中DateFormat类的功能

3. a9engine 约定和规则

  *) js文件,编码为 UTF8(BOM),避免非ascii字符载入错误.
  *) 使用空格(0x20)缩排,而不是tab(0x09),尽管这样会使文件庞大.
  *) js中成员,需要var声明作用域,最大限度保持名词空间清洁.
  *) 使用python和java的命名规则.
  *) 包名尽量以字母开头,使用小写英数,否则以类路径导入时出错.
  *) '__'开头和结尾的成员或文件,表示私有.

================================================================================
更多内容,请参看
源代码(*.js)
doc/
testdemo/

   发表时间:2007-06-21  
trydofor 写道
  *) js文件,编码为 UTF8(BOM),避免非ascii字符载入错误.

我觉得发布的时候压缩一下。吧非ascii字符转换成\uxxxx的形式比较安全:)

现在做这个的人还真不少了,单单在je现身过的。hax的pie,a9engine,我写的JSI还有前几年在这里宣传过的JSVM,可以组装一辆四轮卡车了:)
0 请登录后投票
   发表时间:2007-06-21  
先,感谢轮子厂商的回复:)

不过我这是自行车的轮子,嘿嘿.
a9engine是为a9text服务的一个副产物,俺会把更多的注意力放到a9text上来,实现所见即所得的js驱动的wiki,但愿我能一直保持兴趣并完成他:)

目前online editor已经很优秀了,比如' editor'
web2.0也给了更多更完美的体验.

a9text,我都闭上眼睛造了1年多了,继续闭上眼睛造呢,呜呼.
0 请登录后投票
   发表时间:2007-06-21  
a9text我是蛮感兴趣的呢,期待中:)
0 请登录后投票
   发表时间:2007-06-21  
好。赞一个。希望能有朝一日把四个轮子合成一个火箭推进器。
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics