posts - 193,  comments - 520,  trackbacks - 0
这是一个完全基于js的应用程序,区别于一般的web应用,它是oaop。大概需要一些什么样的工作呢?

大概的概念:

1、容器
 是的,需要容器。容器的两个目的:布局和管理组件。组件之间的相互通信以及影响都需要容器来协调。管理组件之间的状态,组件需要向容器进行注册。对组件传播过来的事件,容器需要做出处理,调用相关其他组件的方法或者忽略或者继续向上一级容器传播。

2、组件
 组件的目的是完全屏蔽对dom编程的依赖,同时屏蔽底层的浏览器事件,例如鼠标单击、双击等等,对这些事件进行完全的封装。组件有着自己的生命周期:初始化、渲染、重画、销毁等等。由组件完成页面的渲染工作,例如节点、画板、连线等等。

3、模型
 在页面进行建模是必要的,例如活动节点、流程等等,这些模型与组件衔接,它们之间的状态互相影响,比如节点组件名称的改变实际影响的是所对于节点模型的属性。画板节点的增加实际也会给响应的流程定义模型新增一个活动节点。

4、与服务器交互
 与服务器的交互完全基于xml。流程定义模型有着自己的xml方法,由xml解析为模型,由模型解析为xml,双向的过程。本地存储。很自然的选择。
 
可能的难点:
最大的难点就是组件的实现,事件的处理以及传播机制。

开发的过程:

1、底层库的选择
 面向对象的开发方式,底层库需要完成的工作:继承、接口实现、事件的统一处理接口、element DOM编程的封装。

2、基本组件的开发
 画板、图形组件、连线组件、弹出面板、简单表格组件、树等等。封装基本的事件。可以定制事件。

3、容器的开发,管理组件
 组件实际也是容器的实现,比如画板的概念。画板中节点之间的互相影响。

4、加入模型的支持

5、xml与模型之间的js解析

参考:
ext是一个不错的参考,但是太笨重,功能越多越缓慢,轻量实现。主要参考其中容器以及组件的概念。
draw2d 实现太简单,基本就是一个图形库,考虑其中对图形组件的实现。


http://www.blogjava.net/ronghao 荣浩原创,转载请注明出处:)
posted on 2008-02-13 22:08 ronghao 阅读(2964) 评论(4)  编辑  收藏 所属分类: ajax相关

FeedBack:
# re: js的流程设计器,我们需要什么
2008-02-14 08:24 | 久城
Extjs几乎符合你的要求,只是Ext与服务器的交互是基于JSON的...  回复  更多评论
  
# re: js的流程设计器,我们需要什么
2008-02-14 21:55 | ronghao
@久城
ext太庞大了,太笨重,对于特定的应用来说很多功能都是多余的。比如说布局,一两种足以,都可以直接写死。  回复  更多评论
  
# re: js的流程设计器,我们需要什么
2008-02-17 12:28 | 51dlkzw
非常不错呀……   回复  更多评论
  
# re: js的流程设计器,我们需要什么
2008-11-01 15:07 | kkfc
ext/dojo等的js lib会随着JS开源engine越来越快  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 
<2008年2月>
272829303112
3456789
10111213141516
17181920212223
2425262728291
2345678

关注工作流和企业业务流程改进。现就职于ThoughtWorks。新浪微博:http://weibo.com/ronghao100

常用链接

留言簿(38)

随笔分类

随笔档案

文章分类

文章档案

常去的网站

搜索

  •  

最新评论

阅读排行榜

评论排行榜