⑴ flex简介
Flex是一个高效、免费的开源框架,用于构建具有表现力的Web应用程序,这些应用程序在Adobe Flash Player和Adobe AIR的支持下,在跨浏览器、桌面和操作系统上实现一致的部署。Flex应用程序只能通过该框架创建,但Adobe Flash Builder(之前称为Adobe Flex Builder)软件可加速开发过程,通过智能编码、交互式调试和可视设计UI布局等功能。
使用Flex创建的RIA(Rich Internet Application)可在使用Adobe Flash Player的浏览器中运行,也可在浏览器外通过跨操作系统运行时Adobe AIR运行。这些应用程序在超过98%连接到Internet的计算机中运行,这些计算机装有Flash Player,这是一个企业级客户端运行时,支持高级矢量图形,处理数据密集型和要求最高的应用程序,同时保持桌面应用程序的执行速度。通过使用AIR,Flex应用程序可以访问本地数据和系统资源。
Macromedia Flash是一个强大的矢量动画编辑工具,在动画制作后,一直在寻求RIA(Rich Internet Application)的霸主地位。影响最大的是引入了面向对象的编程脚本ActionScript3.0,并建立了一个类似于Java Swing的类库和相应的组件。Flex通过Java或.NET等非Flash途径解释.mxml文件组织components,并生成相应的.swf文件。Flex的components与Flash的components相似,但有所改进和增强。Macromedia公司已被Adobe公司收购,当前(2011年11月)的Flex版本为4.6。Adobe在2013年1月15日将Flex捐赠给Apache,并发布了Apache Flex 4.8。
为什么还需要Flex,而不是直接使用Flash?这里有两个主要的原因:
1. 为了吸引更多的developers(开发者)。Flash的设计是为了满足designer(设计者)的需求,界面和动画概念与程序开发人员的思维方式不匹配。为了吸引更多的jsp/asp/php等程序员,Macromedia推出了Flex,使用与(x/d)HTML非常相似的.mxml来描述界面,更易于非Flash开发者理解和使用。
2. 为了建立一个标准。微软在推出操作系统的vista(后续的win7也是同一核心)时,也推出了新的语言xaml,一种界面描述语言,与之相应的就是Smart Client,与Flex非常相似。Mxml和Xaml在某种程度上相似,这体现了人机交互技术进步的重要体现,即内部逻辑与外部界面的分离。
Flex与J2EE/.NET并没有直接关系,Macromedia使用Java将Flash技术融合到J2EE中,同时使用.NET技术将Flash技术融合到.NET中。Flex主要解决了J2EE和.NET中最为繁琐的问题,即Web客户端的问题。
flex通常是指Adobe Flex,是最初由Macromedia公司在2004年3月发布的,基于其专有的Macromedia Flash平台,它是涵盖了支持RIA(Rich Internet Applications)的开发和部署的一系列技术组合。flex的另一个意思是一款生成扫描器的工具,能够识别文本中的词法模式。