Apache Flex(前稱Adobe Flex)是一个基于AdobeFlash平台的,用以开发和部署RIA(Rich Internet Applications)的SDK(Software Development Kit)。最初由Macromedia公司于2004年3月发布,并且后来由Adobe收购,并由Adobe于2011年将之捐献给Apache软件基金会,在2012年推动成为首要项目。
Flex 3 SDK在2008年以开放源代码的Mozilla公共许可证释出。因此,可以用通用的集成开发环境开发Flex应用,如IntelliJ IDEA、Eclipse、自由及开放源代码的IDE ,以及专属软件Adobe Flash Builder。最新版的SDK版本是4.16.1,采用第2版的Apache许可证释出。
成因
传统的程序员在开发动画应用方面存在困难,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技术。
但在2014後重大的變革:由原先MXML+CSS+AS的發展路線,另外追加產生js發展路線,在移動平台發展動盪的2014年隨著AIR跨平台的支援上,產生了更彈性的變數
目前普遍認為相較於HTML更合適在移動平台App發展更有前瞻性
Flex 和 ColdFusion
Macromedia 把一部份 Flex 1.5 的子集嵌入到了它的ColdFusion MX 7中间件平台中以供在 Flash 表单中使用。虽然可以使用这个平台来开发RIA,但是它原来的目的只是为了开发丰富的表单应用,所以这个功能并不为Macromedia 所支持。
Flex 应用开发步骤
- 使用 Flash Builder
- 使用一系统预定义组件(窗口,按钮等)来定义一个开发界面。
- 组织安排组件,现在用户自定义的界面设计。
- 使用风格和主题来定义可见设计。
- 增加动态动作,如应用程序之间的互动。
- 定义并在需要时连接上一个数据服务。
- 从源代码轉換成各種平台安裝文件。
版本历史
相关术语
- XUL
- Thin client
- XAML
- Flash Player
- OpenLaszlo
- MXML
技术邮件列表
- [http://groups.yahoo.com/group/flexcoders/ Flexcoders - Flex Developer Mailing List]
- [https://web.archive.org/web/20060721184418/http://www.houseoffusion.com/groups/flex/ ColdFusion Flex List] at House of Fusion.
參考資料
外部链接
- [http://www.adobe.com/products/flex/ Official Adobe Flex site]
- [http://webarchive.loc.gov/all/20090217012122/http://flex.org/ Flex 官方起始页]
- [http://www.adobe.com/cn/products/flex/ 官方中文Flex摘要页]
- [https://web.archive.org/web/20080415135740/http://blog.minidx.com/ 中文Flex範例]
- [http://www.cflex.net CFlex - Community Driven Adobe Flex Developer site]
- [http://www.flexauthority.com/ Flex Authority - Adobe Flex Developer site]
- [https://www.jessewarden.com Jesse Warden - Adobe Flex Developer Blog Site]
- [http://renaun.com/blog Renaun Erickson - Adobe Flex Developer Blog Site]
- [http://ngis.moea.gov.tw/ngisfxweb/Default.aspx 完全利用FLEX開發的線上GIS網站]
- [http://sites.google.com/site/reflexutil ReflexUtil] - 测试工具(开源) 运行时 为 Flex
- [https://web.archive.org/web/20101020161410/http://www.wedoswf.com/ 纬度网 Flex 知识库] - 提供围绕ActionScript,Flash,Flex技术开发为主题的问答形知识库(中文)
评论 (0)