展开菜单
首页 精品内容 本月促销 装机必备 Windows macOS软件 IOS软件 Android AI PDF教程 专题
全部分类

当前位置:

首页 > 编程开发 > flex是什么Flex介绍

flex是什么Flex介绍

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

说到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
本文内容来源于网友投稿,如有侵权请联系删除。
作者最新文章
编程开发
相关文章 更多
精品专题 更多
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

macOS软件

正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

IOS软件

正软商城iOS软件专区,精选适用于iPhone和iPad的办公、学习、影音、设计、效率及AI应用,提供功能介绍、适用设备、系统要求和正版获取方式等信息。

AI

正软商城AI软件专区,汇集AI写作、AI绘画、AI视频、AI办公、AI编程、AI翻译、智能客服和数据分析等人工智能工具,提供功能介绍、适用平台、收费方式及正版购买信息。

Mac软件 更多
Blender
Blender

Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。

灵活计算器
灵活计算器

灵活计算器是一款笔记式算数应用,支持实时计算、动态关联和云端同步功能。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

赤友清理大师
赤友清理大师

赤友清理大师是一款为 Mac 设计的智能清理优化工具,可精准扫描垃圾、大文件、重复文件等,释放磁盘空间。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

极度公式
极度公式

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

图几
图几

图几是一款适用于 macOS 的截图、标注与美化工具,支持离线操作保障隐私。界面整理和高频系统操作被放到一起考虑,桌面或窗口内容一多时,管理起来会更省心。

密码键盘
密码键盘

密码键盘是一款兼具安全性与便捷性的高效密码管理器。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。

思源笔记
思源笔记

思源笔记是一款本地笔记软件,提供所见即所得的编辑方式,为长文写作带来顺滑的体验。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

Office 365 简体中文
Office 365 简体中文

一款文字处理软件,一种订阅式的跨平台办公软件,基于云平台提供多种服务,通过将 Excel 和 Outlook 等应用与 OneDrive 和 Microsoft Teams 等强大的云服务相结合,Office 365 可让任何人使用任何设备随时随地创建和共享内容。

Mac
WALTR PRO
WALTR PRO

WALTR是一款电脑至iOS文件传输转换工具,操作简单,快速实现文件识别与传送。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

CodeExpander
CodeExpander

CodeExpander 是一款快捷短语输入增强工具,通过键入缩写自动展开为自定义文段,提升工作效率。任务管理和过程控制会更完整,持续下载、批量同步或需要稳定传输流程的场景会更适合它。

Mountain Duck
Mountain Duck

Mountain Duck 是一款能将多个网盘挂载到本地的工具,像本地磁盘一样使用网盘。清理链路的完整性会更好一些,做应用卸载、残留处理和空间整理时,通常能少走很多手动排查步骤。

Menuist
Menuist

Menuist 是一款面向 macOS 的 Finder 右键菜单增强工具,主要用来补充新建文件、快捷导航等常用操作,让日常文件管理和访问路径时更高效、更顺手。

WINDOWS 更多
Blender
Blender

Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。

Windows 10
Windows 10

Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。

极度公式
极度公式

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

密码键盘
密码键盘

密码键盘是一款兼具安全性与便捷性的高效密码管理器。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。

思源笔记
思源笔记

思源笔记是一款本地笔记软件,提供所见即所得的编辑方式,为长文写作带来顺滑的体验。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

傲梅轻松备份
傲梅轻松备份

傲梅轻松备份是一款专业易用的数据备份软件,为重要数据提供安全保障。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。

Office 365 简体中文
Office 365 简体中文

一款文字处理软件,一种订阅式的跨平台办公软件,基于云平台提供多种服务,通过将 Excel 和 Outlook 等应用与 OneDrive 和 Microsoft Teams 等强大的云服务相结合,Office 365 可让任何人使用任何设备随时随地创建和共享内容。

Mac
Wise Folder Hider Pro
Wise Folder Hider Pro

Wise Folder Hider Pro 是一款专业级文件和文件夹隐藏加密软件,为私密数据添加多重保护。高频操作更强调就近处理,浏览、整理和跨目录移动文件时,来回切换和重复点击都会少很多。

WALTR PRO
WALTR PRO

WALTR是一款电脑至iOS文件传输转换工具,操作简单,快速实现文件识别与传送。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

CodeExpander
CodeExpander

CodeExpander 是一款快捷短语输入增强工具,通过键入缩写自动展开为自定义文段,提升工作效率。任务管理和过程控制会更完整,持续下载、批量同步或需要稳定传输流程的场景会更适合它。

PinStack
PinStack

PinStack是一款轻量级的Windows平台剪贴板管理工具,优化您的剪贴板使用体验。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。

Mountain Duck
Mountain Duck

Mountain Duck 是一款能将多个网盘挂载到本地的工具,像本地磁盘一样使用网盘。清理链路的完整性会更好一些,做应用卸载、残留处理和空间整理时,通常能少走很多手动排查步骤。