7 开发模式比较
以往开发个人单机程序,都是依照事件驱动模式,而开发Web应用程序则差异较大,一般是依照请求/响应模式。
7.1 事件驱动模式
以VB/Java单机程序为例:
" 原型开发:先拖放界面上的组件(标签、按钮、文本框);
" 双击对应的组件进行事件驱动的代码编写(鼠标单击事件);
编程模式简单、直观。
7.2 请求/响应开发模式(传统的B/S开发)
B: Browser 浏览器
S: Server 服务器
基于请求/响应模式。
客户端技术:html, javascript
服务端技术:jsp/EJB/ASP.Net
传统的B/S应用中,表示层都是使用html + javascript。
单纯html + javascript技术满足不了某些复杂的应用,而且脚本式的开发语言弊病多多:没有对象概念,开发、调试麻烦,页面繁琐,安全性……,近期流行的Ajax就是html + javascript,很明显,只是为了满足日益增长的客户需求的一个折衷方案。因为Ajax在界面元素上没有改进,在开发模式上却更加复杂,实用中一般是使用自定义标签来简化开发(Ajax + JSF)。
7.3 Flex开发模式
7.3.1 事件驱动模式
在Flex开发中,Web客户端的编写是依照事件驱动模式进行开发的:
" 先编写界面(使用mxml),
" 在界面组件对应的事件里编写行为控制代码(使用actionscript),在actioscript再与服务器端进行交互,取得服务器端数据后返回到界面。
这样的开发模式简单、直观,易于理解和开发。和开发简单的VB/Java单机程序一样,更容易为大多数人掌握,更容易开发出优秀的应用。
7.3.2 完全的MVC模式
一直以来,服务器端都是依照MVC(视图 - 控制 - 模块)模式进行开发,而客户端始终处在一种混乱的状态,就是Html页面 + Javascript脚本。而MXML和Actionscript的技术使得客户端的MVC成为可能,使用mxml编写视图,而客户端后台的控制器和模块都使用面向对象的Acrionscript编写。从这点来讲,Web应用程序客户端的编写将更为容易,而且更复杂的客户端也成为可能,相信在不久的将来,我们将看到真正"超乎想象"的Flex应用。
8 Flex的将来
8.1 当前最新版本
Flex开发工具(IDE)为Flex Builder,目前最高版本是2.0,支持的Actionscript是3.0。
8.2 Flex是否会取代html/javascript
我们要注意,虽然Flex的性能优异,但并非所有的应用都适合用Flex来实现。Html适合于信息的发布,Flex更适合于互动性要求很高的应用,两种方案适用于不同的应用。
8.3 Flex技术的开放性
Flex方案,从技术的开放性来看:
" 使用XML
" 面向对象的actionscript
" Flash平台的广泛性
" 对于多媒体的强大支持
" 兼容主流的服务端技术
无疑,Flex方案将在服务器端、客户端、媒体处理、商务应用获得广泛的支持,是目前最优秀的RIA解决方案,它代表着将来的一个方向。
(完)