商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > flex是什么Flex介绍

flex是什么Flex介绍

  发布于2026-07-22 阅读(0)

扫一扫,手机访问

说到Flex,很多人第一反应是Adobe那个大名鼎鼎的富客户端框架,不过它其实还有另一重身份——一款能识别文本词法模式的扫描器生成工具。这两个“Flex”各走各路,但今天我们要聊的,是前者:那个让无数开发者又爱又恨的Adobe Flex。

Flex简介

Flex是一个高效、免费的开源框架,专门用来构建表现力丰富的Web应用程序。它跑在Adobe Flash Player和Adobe AIR之上,跨浏览器、跨桌面、跨操作系统,部署一致性做得相当到位。虽然只有Flex框架才能构建Flex应用,但配合Adobe Flash Builder(以前叫Adobe Flex Builder)这套IDE,智能编码、交互式调试、可视化界面设计这些功能一应俱全,开发效率直接拉满。

用Flex打造的RIA(富互联网应用)可以在浏览器里通过Flash Player运行,也能脱离浏览器在AIR上跑。超过98%的联网电脑都装了Flash Player——这个企业级客户端运行时,矢量图形处理能力极强,能扛住数据密集型应用,执行速度不输桌面软件。而借助AIR,Flex应用还能直接访问本地数据和系统资源。

Flash本身是矢量动画工具,但Macromedia(后来被Adobe收购)一直想让它成为RIA霸主。ActionScript 3.0的推出,加上类似Ja va Swing的类库和组件体系,让Flash的野心尽显无遗。Flex则走了一条更“程序员友好”的路:通过Ja va或.NET等非Flash途径,解释.mxml文件来组织组件,最终生成.swf文件。Flex的组件和Flash的组件很像,但在功能和易用性上做了不少改进。截至2011年11月,Flex的最新版本是4.6。

既然Flash本身就能实现Flex的效果,为什么还要多此一举?两个核心原因:

第一,为了吸引开发者。 Flash天生是为设计师准备的,时间轴、动画概念跟程序员的思维习惯差异太大。Macromedia推出Flex,用简单的.mxml描述界面——跟(x)HTML非常相似,而且更规范、更标准化,让JSP、ASP、PHP程序员也能轻松上手。

第二,为了确立一个标准。 微软推出Vista时,同步发布了XAML(界面描述语言),对应的Smart Client技术和Flex异曲同工(也就是后来的Silverlight)。MXML和XAML的相似性,恰恰体现了人机交互技术的重要趋势:内部逻辑与外部界面交互相分离。

Flex和J2EE/.NET其实没有直接绑定关系。Macromedia用Ja va做了一套工具把Flash技术融入J2EE,又用.NET做了另一套融入.NET生态。说白了,Flex解决的是J2EE和.NET生态里最头疼的问题——Web客户端表现层的开发效率与体验。

Flex成长历史

成因

传统程序员做动画应用一直磕磕绊绊,Flex最初就是为了解决这个痛点而生。它试图通过提供一个程序员已经熟悉的工作流和编程模型,来降低RIA开发的门槛。

RIA相互之间关系

Flex最早是作为J2EE应用(或者说JSP标签库)发布的。它把MXML和ActionScript编译成SWF文件——也就是Flash应用。最新版的Flex支持创建静态文件,采用解释编译方式,无需购买服务器许可证就能直接在线部署。

Flex的目标很明确:让程序员更快、更简单地开发RIA应用。在多层架构中,Flex属于表现层。它提供GUI界面开发,使用基于XML的MXML语言,内置了Web Services、远程对象、拖拽、列排序、图表等组件,还自带动画效果和其他交互功能。相比基于HTML的传统方案(PHP、ASP、JSP等),每次请求都要执行服务器端模板,而Flex应用只需要客户端载入一次,工作流流畅太多。而且Flex的语言和文件结构,天然地把应用程序逻辑和界面设计分离开来。

Flex服务器还充当客户端与XML Web Services、远程对象(如ColdFusion CFCs、Ja va类等支持Action Message Format的对象)之间的通信桥梁。

一般被认为能替代Flex的,主要是OpenLaszlo和AJAX技术。

版本历史

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日
Flex 3.5 – 2009年12月16日
Flex 4 最终正式版 – 2010年3月22日

Flex应用前景

优势

作为新一代富客户端技术的代表,Flex被越来越多的公司采用,也被越来越多的程序员认可。来看十大优势:

  1. Flex与Flash的关系——让普通程序员也能开发Flash应用。
  2. 界面表现能力一流——矢量图形和动画效果天生出色。
  3. RIA富客户端——解决了异步调用、界面无刷新、浏览器兼容性等难题。
  4. 对流媒体的支持——Flex被公认为流媒体支持最好的应用技术之一。
  5. 平台可用性——Adobe官方数据,Flash Player在全球PC上的安装率高达99.8%。
  6. 跨平台——Flash Player能在Linux和手机上运行,不用担心绑定在Windows上。
  7. 对底层的可操作性——可以调用摄像头、嵌入视频,视频由Flash Player直接播放。
  8. 后续运营和发展前景——Adobe推出并开源了Flex,社区活跃。
  9. 学习环境充足——Flex官方样式配置工具(本身也是Flex写的)可以在线配置控件外观,连美工和图片都不需要,直接用样式实现。
  10. 后台数据访问层灵活——可以用任何你熟悉的Web编程平台作为后端,比如.NET、PHP、JSP、WebService。

Adobe RIA技术

传统网络程序基于页面和服务器端数据传递,表现层建立在HTML之上。而HTML更适合文本,传统的页面模式已经不能满足用户更高、更全面的体验需求。RIA的出现就是为了解决这个问题。

RIA面向用户

富互联网应用是下一代网络应用,它把桌面应用的交互式用户体验和传统Web应用的部署灵活性、成本优势结合起来。RIA的“富客户”技术通过提供可承载编译后客户端应用的运行环境(以文件形式通过HTTP传递),客户端使用异步客户/服务器架构连接后端应用服务器,形成一种安全、可升级、适应性强的面向服务模型。这种模型由Web服务驱动,结合声音、视频和实时对话的通信技术,创造了前所未有的用户体验。

Adobe RIA技术的核心价值在于:它最大化地保留了现有Web技术,同时显著提升了产品设计师和开发工程师的“开发体验”,强化了设计与开发端的整合。设计师和工程师可以方便地把代码平移到新平台上,发布和部署也比之前的工具都方便,从而让RIA有了更广大的开发者基础。

Adobe RIA技术还带来了新的桌面概念——“Desktop 2.0”,内容涵盖Flash、HTML/CSS/JS、PDF,几乎囊括了当下最流行的Web内容载体。而“可离线”应用模式让用户能更安全、舒适地工作娱乐,不再担心网络故障造成的信息损失,还能借助本地资源节省网络资源。可以说,Adobe RIA技术让用户把Web 2.0应用带回桌面,创造的商业价值和用户体验价值远超以往。

定位

2011年11月,Adobe宣布不再对移动浏览器上的Flash Player提供新版本升级,并建议开发者使用HTML5代替开发移动程序。到2011年12月,Adobe透露部分内部开发者已转向HTML5研究,但承诺继续支持Flash技术。从长远来看,Adobe在部分领域放弃投入,未来可能也会逐步放弃Flex/Flash的传统领域。

经典应用

1. eBay
eBay桌面是基于Adobe AIR构建的,它创建了与eBay客户的持久连接,实时将产品供货通知和拍卖更新推送给买主,用户无需打开浏览器就能获取最新信息。

2. 纳斯达克股票市场公司
NASDAQ Market Replay使用Adobe Flex和Adobe AIR在桌面上发布RIA,让金融专业人士可以重放任何时间点市场活动的详情。

Flex与Flash的关系

首先需要明确一点:Flash并非只是一个单纯的矢量动画创作工具,而是一个凭借ActionScript脚本语言不断演变的网络应用开发工具。早在Flash MX时期,它就被Macromedia作为推广RIA的战略工具。但Flash最初的定位面向美术动画设计师,并不适合传统开发人员,于是Flex成了开发者们的首选。

与Flash的异同

Flex和Flash都以ActionScript作为核心编程语言,编译成SWF文件在Flash Player虚拟机里运行。因此Flex继承了Flash在表现层上的先天美感,矢量图形、动画和媒体处理接口一应俱全。

但相似之处再多,不同点也很明显:

  1. 虽然共用ActionScript,但使用的库并不完全相同——更准确地说,两者使用着两套功能大量重叠的库。
  2. Flash偏向美术动画设计师,容易发挥特效处理优势;Flex偏向开发人员,容易做出交互丰富的应用程序。
  3. Flash只能以ActionScript脚本形式开发(舞台关联到一个叫document class的类里),虽然舞台元素也可以绑定脚本,但从软件工程角度看不推荐;Flex还可以用MXML标记语言描述应用外观和行为,MXML中可以直接嵌入ActionScript。
  4. 由于第三点,市场定位不同:Flex面向企业级网络应用,Flash面向平面动画、广告设计等多媒体展示程序。
  5. 借助Flash Lite(移动设备上的Flash Player),Flash可以开发移动应用,Flex不行。
  6. Flash的编程模型基于时间轴,Flex基于窗体——虽然它运行在网页里。

Flex的技术组成

Flex技术包括以下几个主要框架:

  1. 描述应用程序界面的XML语言(MXML)
  2. 符合ECMA规范的脚本语言(ActionScript),处理用户和系统事件,构建复杂数据模型
  3. 一个基础类库
  4. 运行时的即时服务
  5. 由MXML和ActionScript文件生成SWF文件的编译器

开发步骤

以下直接来自Flex 2.0 Beta 3的帮助文件,步骤清晰:

  1. 使用预定义组件(窗口、按钮等)定义开发界面。
  2. 组织安排组件,实现自定义界面设计。
  3. 使用风格和主题定义可见设计。
  4. 增加动态动作,如应用之间的互动。
  5. 定义并在需要时连接数据服务。
  6. 从源代码生成在Flash播放器中运行的SWF文件。

Flex相关认证介绍

名称 范围 简介
Adobe RIA开发工程师 国内 开发工程师认证是Adobe针对国内计算机软件和数字艺术、数字媒体等相关专业的在校大学生、研究生以及从业人员,为培养RIA开发人才而全力打造的专业教育解决方案。了解Adobe RIA的概况和Adobe Flash平台的整体技术框架,并能通过Adobe Flash平台的主要开发工具实现基本的RIA项目开发。经Adobe专业考试平台针对考生技术掌握程度与实践情况的专业考核,取得合格成绩的考生将获得由Adobe颁发的“Adobe RIA开发工程师”认证。Adobe RIA技术概览。Adobe Flex技术基础。Adobe Flash Builder 4.0的使用。Adobe AIR基础。 参考教材: 《Flex 4:开发富媒体应用》
Adobe Flex ACE 国际 The Flex 4 ACE Exam is based upon the most critical job activities that a Flex developer performs. The skills and knowledge certified by this examination represent a professional level of expertise for a certified individual.
Adobe Rich Internet Application ACE Adobe Certified Expert - Rich Internet Application - 至少要有三个ACE通过才可以Specialist( v.1)Complete All.Electives Complete 1. Adobe Certified Expert - Advanced ColdFusion 8 Adobe Certified Expert - ColdFusion 8 Adobe Certified Expert - Dreamwea ver CS4 Adobe Certified Expert - Illustrator CS4 Adobe Certified Expert - Photoshop CS4 Requirements Complete All. Adobe Certified Expert - Flash CS4 Adobe Certified Expert - Flex 3 with AIR
本文转载于:https://www.jb51.net/article/33443.htm 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注