這是一個完全基于js的應(yīng)用程序,區(qū)別于一般的web應(yīng)用,它是oaop。大概需要一些什么樣的工作呢?
大概的概念:
1、容器
是的,需要容器。容器的兩個目的:布局和管理組件。組件之間的相互通信以及影響都需要容器來協(xié)調(diào)。管理組件之間的狀態(tài),組件需要向容器進行注冊。對組件傳播過來的事件,容器需要做出處理,調(diào)用相關(guān)其他組件的方法或者忽略或者繼續(xù)向上一級容器傳播。
2、組件
組件的目的是完全屏蔽對dom編程的依賴,同時屏蔽底層的瀏覽器事件,例如鼠標單擊、雙擊等等,對這些事件進行完全的封裝。組件有著自己的生命周期:初始化、渲染、重畫、銷毀等等。由組件完成頁面的渲染工作,例如節(jié)點、畫板、連線等等。
3、模型
在頁面進行建模是必要的,例如活動節(jié)點、流程等等,這些模型與組件銜接,它們之間的狀態(tài)互相影響,比如節(jié)點組件名稱的改變實際影響的是所對于節(jié)點模型的屬性。畫板節(jié)點的增加實際也會給響應(yīng)的流程定義模型新增一個活動節(jié)點。
4、與服務(wù)器交互
與服務(wù)器的交互完全基于xml。流程定義模型有著自己的xml方法,由xml解析為模型,由模型解析為xml,雙向的過程。本地存儲。很自然的選擇。
可能的難點:
最大的難點就是組件的實現(xiàn),事件的處理以及傳播機制。
開發(fā)的過程:
1、底層庫的選擇
面向?qū)ο蟮拈_發(fā)方式,底層庫需要完成的工作:繼承、接口實現(xiàn)、事件的統(tǒng)一處理接口、element DOM編程的封裝。
2、基本組件的開發(fā)
畫板、圖形組件、連線組件、彈出面板、簡單表格組件、樹等等。封裝基本的事件。可以定制事件。
3、容器的開發(fā),管理組件
組件實際也是容器的實現(xiàn),比如畫板的概念。畫板中節(jié)點之間的互相影響。
4、加入模型的支持
5、xml與模型之間的js解析
參考:
ext是一個不錯的參考,但是太笨重,功能越多越緩慢,輕量實現(xiàn)。主要參考其中容器以及組件的概念。
draw2d 實現(xiàn)太簡單,基本就是一個圖形庫,考慮其中對圖形組件的實現(xiàn)。
http://www.aygfsteel.com/ronghao 榮浩原創(chuàng),轉(zhuǎn)載請注明出處:)
FeedBack:
# re: js的流程設(shè)計器,我們需要什么
# re: js的流程設(shè)計器,我們需要什么
只有注冊用戶登錄后才能發(fā)表評論。 | ||
![]() |
||
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
|
||
相關(guān)文章:
|
||
| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
27 | 28 | 29 | 30 | 31 | 1 | 2 | |||
3 | 4 | 5 | 6 | 7 | 8 | 9 | |||
10 | 11 | 12 | 13 | 14 | 15 | 16 | |||
17 | 18 | 19 | 20 | 21 | 22 | 23 | |||
24 | 25 | 26 | 27 | 28 | 29 | 1 | |||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
關(guān)注工作流和企業(yè)業(yè)務(wù)流程改進。現(xiàn)就職于ThoughtWorks。新浪微博:http://weibo.com/ronghao100
常用鏈接
留言簿(38)
隨筆分類
- ajax相關(guān)(9)
- cms(7)
- Head First Process-深入淺出流程(15)
- j2se基礎(chǔ)(6)
- JbpmSide(6)
- OOA/OOD(4)
- SOA、BPM(26)
- 工作日志(24)
- 工作流jbpm3(10)
- 張小慶,在路上(42)
- 心情小站(24)
- 權(quán)限相關(guān)(12)
- 表現(xiàn)層相關(guān)(4)
- 轉(zhuǎn)載(4)
隨筆檔案
- 2013年8月 (1)
- 2012年12月 (1)
- 2012年1月 (3)
- 2011年12月 (2)
- 2011年11月 (2)
- 2011年10月 (3)
- 2011年9月 (3)
- 2011年8月 (7)
- 2011年7月 (4)
- 2011年6月 (3)
- 2011年5月 (5)
- 2011年4月 (6)
- 2011年3月 (4)
- 2011年2月 (2)
- 2010年9月 (1)
- 2010年6月 (1)
- 2010年5月 (1)
- 2010年3月 (4)
- 2010年1月 (2)
- 2009年11月 (5)
- 2009年10月 (4)
- 2009年9月 (1)
- 2009年7月 (1)
- 2009年6月 (2)
- 2009年5月 (2)
- 2009年4月 (1)
- 2009年3月 (4)
- 2009年2月 (2)
- 2008年12月 (1)
- 2008年11月 (1)
- 2008年10月 (1)
- 2008年9月 (2)
- 2008年8月 (2)
- 2008年7月 (2)
- 2008年6月 (3)
- 2008年5月 (4)
- 2008年4月 (1)
- 2008年3月 (2)
- 2008年2月 (2)
- 2008年1月 (4)
- 2007年11月 (3)
- 2007年10月 (3)
- 2007年9月 (2)
- 2007年8月 (4)
- 2007年7月 (1)
- 2007年6月 (12)
- 2007年5月 (2)
- 2007年4月 (1)
- 2007年3月 (8)
- 2007年2月 (6)
- 2007年1月 (4)
- 2006年12月 (4)
- 2006年11月 (3)
- 2006年10月 (1)
- 2006年8月 (2)
- 2006年7月 (3)
- 2006年6月 (3)
- 2006年4月 (1)
- 2006年3月 (2)
- 2006年2月 (2)
- 2006年1月 (4)
- 2005年12月 (7)
- 2005年11月 (12)
文章分類
文章檔案
常去的網(wǎng)站
搜索
最新評論

- 1.?re: 使用Handler來增強Web服務(wù)的功能
- asdfasfd
- --ads
- 2.?re: 使用solr搭建你的全文檢索
-
@木哥哥
你的分詞器用的是什么啊?mmseg貌似可以的 - --陳冠馳
- 3.?re: 使用solr搭建你的全文檢索
-
@marten這是你的solr的schame.xml配置文件有問題。好好檢查下你的配置文件里面的字段什么的配置對著沒
- --陳冠馳
- 4.?re: 討論一下你覺得一個工作流產(chǎn)品好的標準
- 評論內(nèi)容較長,點擊標題查看
- --深圳非凡信息技術(shù)有限公司
- 5.?re: DisplayTag應(yīng)用
- name="test"從哪里來的,千篇一律的到處使用test卻沒有test的定義,sb
- --qige