浅谈Web流程图设计器开发
2010-05-30 23:39 LoujaDy 阅读(3168) 评论(0) 编辑 收藏 举报浅谈Web流程图设计器开发
背景
项目需要一个能绘制流程图,并能进行加载文件,导出文件使程序能够识别的流程图设计器。
与WinForm结合
Web流程设计器技术路线选择
当时主要的可选择的技术路线有三种:一是AJAX,二是Silverlight,三则是Flash/ActionScript。
三种技术对比:
AJAX方案的优势:Ajax技术成熟,可选框架多,在这方面有经验的人也多,诺碰到问题有很多可求助的人。
AJAX方案的劣势:JS代码调试困难,没有太好的2D图形框架。
Silverlight的优势:有几年年C#语言开发经验,开发出来的东西可西和现有的系统兼容性会很好,还有就是上手也相对容易。
Silverlight劣势:对Silverlight的类库不是特别了解,设计器开发的周期只有两周左右,如果花一周左右时间去学习Silverlight类库,剩下一周时间开发,可能不现实。
Flash/ActionScript优势:有用Flash/ActipnScript开发游戏的经验,对图形库操作相对熟练。Flash/ActionScript劣势:编译成Swf文件只能通过Shockwave Com组件和现有程序进行交互,兼容性差。
左思右想,结合项目的情况,还是决定用Flash/ActionScript在计划的时间内完成任务。
Web流程设计器架构设计
逻辑结构图
要实现一个简单的流程图设计器,首先要分析流程图设计器上包含哪些内容?结合上图可以看出,设计器应包含几个大内容:
1. 工具栏:ToolBar(提供设计节点)
2. 画板:DrawBoard(用来放置从工具栏上拖过来的节点)
3. 点节:INode(设计元素,绘制流程图用的节点,如:矩形,圆,线)
4. 连接线:ILine(连接各节点的线)
5. 连接点:IRalationPoint(节点与节点连接时用到的点)
6. 连接器:IDesignNodeContainer(由连接点组成的节点容器)
Web设计器的功能
Web流程设计器有哪些功能,现在几乎没有任何特别的功能,紧紧为了给合项目所需,所做的一个极其简单的设计器它的主要功能包括:新建流程、导出流程图(XML字符串)以便项目存储数据库、加载流程图(以XML字符串的开形)、增加删除节点、增加删除传输线、拖拽节点、动态连接线。
待扩展功能:小地图,放大,缩小,导出图片等等!
开发体会
几天的疯狂,动态折线,外接圆,外接棱形,三角公式这些以往很少用到的数学公式,在此次项目中通过“考试“。苦中有乐,很庆幸自己选择了Flash/ActionScript做为设计器的开发工具,最初做出此决定的时候很是担心在开发中遇到问题,因为在我们项目组中,对Flash/ActionScript深入了解的人不多,因为AS的完美,因为其强大的图形处功能,使我寂寞的环境下能顺利的完成计划任务。
作者:Louja
出处:http://loujady.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此声明,且在文章页面给出原文连接,否则保留追究法律责任的权利。