1. Flex简介
1.1 什么是Flex
Flex是一个针对企业级富互联网应用的表示层解决方案;
Flex是一种应用程序框架;
Flex序列产品包括编译工具和IDE,通过编写MXML(一种类XML标记语言)和ActionScript(AS,Flex的脚本语言,从Flash移植过来)代码,用编译器来生成SWF文件,使用浏览器的Flash Player插件就可以进行观看。
几乎每一个用户浏览器都安装了Flash Player插件
1.2 富互联网应用程序RIA(Rich Internet Application)
RIA将桌面应用程序的强交互性与传统Web应用的灵活性结合起来,为用户带来全新的体验。
RIA的富客户端采用异步方式和服务端通信,这是一种安全、具备良好适应性的服务器运行模式
Macromedia公司于2001年初创造了Rich Internet Application这个词语
1.3Flex发展历史
2004年3月正式退出Flex1.0,这是RIA思想付诸实施后诞生的产品,是为RIA开发量身定做的强有力的工具。
2. Flex的特性
使用矢量图形
继承Flash的矢量图形表达能力。
矢量图形在放大时不失真,但运行较负责的图形时,会消耗较多的CPU运算时间。
并提供了矢量图形API的访问权限,允许用户动态地创建和修改矢量图形。
丰富的组件库
使用组件,极大提高代码的重用性。
比Flash组件更多,运行小赖也有很大的改进。
采用全新的架构,使得组件的样式定制和外观修改更简单。
支持CSS
可以创建自己的组件
对多媒体的广泛支持
支持多媒体,比如FLV流媒体
可以对多媒体的播放进行动态控制
提供了与Flash Media Server(FMS)等其他流媒体服务器进行通信的功能
可以在本地存储数据(本地共享对象)
与服务器端的通信
除了可以加载XML文件和其他文本资料,还可以和ASP、JSP等多种服务器端程序通信,连接远程WebService
支持Remoting和Socket等高级数据通信方式
Remoting采用AMF(action Message Format)协议,AMT是一种二进制格式,专门用于AS和后台服务器端的通信,比HTTP通信的速度要快很多,而且支持多种数据类型,Java、。 NET、PHP等都有相应的Remoting服务端。通过Remoting服务端接口,AS直接调用服务端对象的方法。
Socket套接字通信,可以使用一个特定的通道(端口)来收发消息。支持任意字符串格式的通信。
3. Flex和Flash的比较
3.1 相同点
最终都生成SWF文件,通过Flash Player 来解释运行。
3.2 产品市场定义的差异和针对不同的开发人员
Flex是一直RIA解决方案,针对的是企业级的网络应用(数据通信Flex表现得非常好)。
flash主要应用在平面动画、广告设计、移动应用、多媒体应用等方面,同时也可以用于网络应用开发。
4. Flex的发展和未来
2004年3月 Flex1.0 和 Flex Builder1.0 ,还不成熟,高达12000美元,运行环境只支持J2EE。Flex Builder1.0的界面极其类似DW,但是速度慢,生成的SWF文件比较大
2004年11月 Flex1.5
修正了1.0的很多错误
支持运行时的共享库
提供了一组Chart(图表)组件
改进了布局功能
修改组件的样式和外观变得更灵活
性能提供,运行速度提高了近50%
新增了一些使用的组件
2006年6月 Flex2.0 系列产品, SDK免费。
AS 3.0:完全符号ECMA(European Computer Manufacutures Association欧洲计算机制造协会)标准的脚本语言,将性能和开发效率作为首要目标。采用了可以进行更强的编译时类型检查的编译模式,完全支持 E4X(ECMAScript for XML)标准。遵从ECMAScript语言规范。添加了正则表达式支持,提供了处理复杂字符串的技术支持。增强处理运行错误的能力,更全面支持对象,支 持二进制数据处理,支持Socket,提供Flash Player API等待。
Flex Framework 2.0 :基于MXML和AS的应用开发框架。是Flex2.0的核心,提供了一套丰富的可扩展的用户界面组件、一个用来控制布局和用户交互的灵活模型以及一个功能强大的基础架构。
Flex Buider 2.0 :在Eclipse的基础上从头编写,并集合了 Flex Framework 和AS 3.0的功能强劲的IDE。
Flex Data Services :和Flex配合使用的数据服务器软件,提供了企业级的数据服务和即时通信的功能。支持Remoting通信方式。
Flex Charting Components 2 :强大的图表组件。
Flash Player 9.0 :改进虚拟机的脚本运行,包含AVM2(ActionScript Virtual Machine)的AS虚拟机和AS 3.0。速度快,支持运行时报错,遵循业界标准的调试方式,执行AS的效率比以前高出10倍。并兼容早期版本。
5.Flex 和它的对手
AJAX: 目前很火
Openlaszlo :开源的RIA开发平台,和Flex很多相似的地方。