我们在学习一门技术的时候,总是习惯于看一下这门技术的名字是哪些英文单词的缩写。这样的例子很多,比如ASP是Active Server Page的缩写。
但找了好久,没有找到Flex是哪些单词的缩写。因此按我自己的理解,Flex是ADOBE公司推出的一个技术名词,而并非是什么英文缩写。
简介
Flex 是一个高效、免费的开放源框架,可用于构建具有表现力的 Web 应用程序,这些应用程序利用 Adobe Flash Player 和 Adobe AIR 运行时跨浏览器、桌面和操作系统实现一致的部署。虽然只能使用 Flex 框架构建 Flex 应用程序,Adobe Flash Builder(之前称为 Adobe Flex Builder)软件可以通过智能编码、交互式遍历调试以及可视设计用户界面布局等功能加快开发。
Macromedia Flash是强大的矢量动画编辑工具,在做动画起家之后,Flash一直在谋求rich internet application(ria富客户端)的霸主地位,最有影响的是,已经推出了面向对象的编程脚本ActionScript3.0,并且建立起类似于java swing的类库和相应component(组件)。Flex是通过java或者.net等非Flash途径,解释.mxml文件组织components,并生成相应的.swf文件。Flex的component和flash的component很相似,但是有所改进增强。目前Macromedia公司已经被ADOBE公司收购。当前(2008年10月)的flex版本为3.0 。
运用Flash是完全可以做到flex的效果的,为什么还需要flex呢?这里面有两个原因:
1:为了迎合更多的developers(开发者)。Flash天生是为了designer(设计者)设计的,界面还有flash的动画概念和程序开发人员格格不入,为了吸引更多的jsp/asp/php等程序员,Macromedia推出了Flex,用非常简单的.mxml来描述界面给jsp/asp/php程序人员使用.(x/d)html非常相似,而且mxml更加规范化、标准化。
2:为了一个标准。大家一定听说过微软最新一代操作系统longhorn(即vista,后续的win7也是同一核心),在longhorn推出的同时微软也推出了新的语言xaml,一种界面描述语言,与之相应的就是smart client和flex非常相似的东西(即SilverLight)。Mxml和Xaml的也很相似… …这是人机交互技术的进步的重要体现,即内部逻辑与外部界面交互相分离。
Flex和j2ee/.net其实没什么关系,Macromedia用java做出来个应用把flash的技术融合到J2EE里面,再用.net的技术做出来个.net应用把flash技术融合到.net里面去;应该说flex解决了J2EE里面和.net里面最繁琐的问题那就是web 客户端的问题。
成因
传统的程序员在开发动画应用方面存在困难,Flex 平台最初就是因此而产生。Flex 试图通过提供一个程序员们已经熟知的工作流和编程模型来改善这个问题。
Flex 最初是作为一个J2EE(Java 2 Platform, Enterprise Edition)应用,或者可以说是JSP(JavaServer Pages)标签库而发布的。它可以把运行中的MXML(Flex标记语言)和ActionScript编译成FLASH应用程序(即二进制的SWF文件)。最新版的FLEX支持创建静态文件,该文件使用解释编译方式并且不需要购买服务器许可证就可以在线部署。
Flex的目标是让程序员更快更简单地开发RIA应用。在多层式开发模型中,Flex应用属于表现层。
Flex 采用GUI界面开发,使用基于XML的MXML语言。Flex 具有多种组件,可实现Web Services,远程对象,drag and drop,列排序,图表等功能;FLEX内建动画效果和其它简单互动界面等。相对于基于HTML的应用(如PHP、ASP、JSP、ColdFusion及CFMX等)在每个请求时都需要执行服务器端的模板,由于客户端只需要载入一次,FLEX应用程序的工作流被大大改善。FLEX的语言和文件结构也试图把应用程序的逻辑从设计中分离出来。
Flex 服务器也是客户端和XML Web Services及远程对象(Coldfusion CFCs,或Java类,等支持Action Message Format的其他对象)之间通讯的通路。
一般被认为可能是 Flex 替代品的是OpenLaszlo和AJAX技术。
Flex 应用开发步骤
以下直接来源于Flex 2.0 Beta 3的帮助文件:
使用一系统预定义组件(窗口,按钮等)来定义一个开发界面。
组织安排组件,现在用户自定义的界面设计。
使用风格和主题来定义可见设计。
增加动态动作,如应用程序之间的互动。
定义并在需要时连接上一个数据服务。
从源代码生成一个在Flash播放器中运行的SWF文件。
版本历史
Flex 1.0-2004年3月
Flex 1.5-2004年10月
Flex 2.0 (Alpha)-2005年10月
Flex 2.0 Beta 1-2006年2月
Flex 2.0 Beta 2-2006年3月
Flex 2.0 Beta 3-2006年5月
Flex 2.0 Final-2006年6月28日
Flex 2.0.1 - 2007年1月5日
Flex 3.0 Beta 1 - 2007年1月11日
Flex 3.0 Beta 2 - 2007年10月1日
Flex 3.0 Beta 3 - 2007年12月12日
Flex 3.0 - 2008年2月25日
Flex 3.1 - 2008年8月15日
Flex 3.2 - 2008年11月17日
Flex 3.3 - 2009年3月4日
Flex 3.4 - 2009年8月18日
FLEX4(FLASH bulider)