ylbtech-杂项:Flex (Adobe Flex)

Flex指Adobe Flex,基于其专有的Macromedia Flash平台,它是涵盖了支持RIARich Internet Applications)的开发和部署一系列技术组合

1. 结构介绍返回顶部

Flex 是一个高效、免费开源框架,可用于构建具有表现力Web应用程序,这些应用程序利用Adobe Flash Player和Adobe AIR, 可以实现跨浏览器、桌面和操作系统。虽然只能使用 Flex 框架构建 Flex应用程序,但Adobe Flash Builder™(之前称为 Adobe Flex Builder™)软件可以通过智能编码、交互式遍历调试以及可视设计用户界面布局等功能加快开发。
使用 Flex 创建的 RIA 可运行于装有 Adobe Flash Player 插件的浏览器中,或运行于跨操作系统的 Adobe AIR上,它们可以跨所有主流浏览器、操作系统实现一致的运行。通过利用 AdobeAIR,Flex应用程序可以访问本地数据和系统资源
Flex是通过java或者.net等非Flash途径,解释.mxml文件,并生成相应的.swf文件。Flex的component和flash的component很相似,但是有所改进增强。目前Macromedia公司已经被ADOBE公司收购。Adobe2013年01月15日将Flex捐给Apache并发布了Apache Flex4.8。

运用Flash是完全可以做到flex的效果的,为什么还需要flex呢?主要有两个原因:
1:为了迎合更多的developers(开发者)。Flash天生是为了designer(设计者)设计的,界面还有flash的动画概念程序开发人员格格不入,为了吸引更多的jsp/asp/php等程序员,Macromedia推出了Flex,提供了非常简单的mxml界面描述语言给jsp/asp/php程序人员使用,而且mxml更加规范化、标准化。
2:为了一个标准。大家一定听说过微软的操作系统vista(后续的win7也是同一核心),在vista推出的同时微软也推出了新的语言xaml,一种界面描述语言,与之相应的就是smart client和flex非常相似的东西(即SilverLight),Mxml和Xaml的也很相似…
Flex和J2EE /.NET其实没什么关系,Macromedia用java做出来个应用把flash的技术融合到J2EE里面再用.net的技术做出来个.net应用把flash技术融合到.net里面去;应该说flex解决了J2EE里面和.net里面最繁琐的问题那就是web客户端的问题。

2. 成长历史返回顶部

成因
传统的程序员在开发动画应用方面存在困难,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技术。

3. 历史版本返回顶部

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日
Flex4的最终正式版 - 2010年3月22日

4. 应用前景返回顶部
优势
作为新一代的富客户端互联网技术的佼佼者,Flex这种技术已经被越来越多的公司所采用,被越来越多的用户和程序员所接受。以下列出Flex十大优势
1、Flex与Flash:可以让普通程序员开发制作Flash成为可能
2、界面表现能力一流
3、RIA富客户端应用,解决了异步调用界面无刷新浏览器兼容性等多项难题
4、对流媒体的支持:Flex是被公认为流媒体技术支持最好的应用
5、平台的可用性:根据ADOBE公司的说法,Flash player在全世界一半的PC机器上安装度为99.8%
6、跨平台:Flash player能够在linux下运行,也可以在手机上运行,所以不用担心绑死在WINDOWS上
7、对底层的可操作性:Flex能够调用底层的东西,比如可以调用摄像头实现视频,而且视频本身就嵌入在Flex应用中,由Flex player直接播放。
8、平台的后续运营和发展前景:Flex是由ADOBE公司推出的且开源
9、有充足的学习环境: Flex官方样式配置工具,可以在线配置Flex应用程序各种控件的外观样式,该程序也是用Flex编写的,大家可以想象Flex可以做到什么程度的应用了,而且这么漂亮的界面根本不用做任何图片和美工,都是直接用样式实现即可
10、可以用任何你熟悉的WEB编程平台作后台数据访问层,可以使用 .net,php,jsp,webservice
11、面向对象as3编程语言,有着和java非常类似的语言风格,非常适合学java程序员快速入门。
Adobe RIA
传统网络程序的开发是基于页面的、服务器端数据传递的模式,把网络程序的表现层建立于HTML页面之上而HTML是适合于文本的,传统的基于页面的系统已经渐渐不能满足网络浏览者的更高的、全方位体验要求了。而富互联网应用Rich Internet Applications,缩写为RIA)的出现就是为了解决这个问题。
富互联网应用程序下一代的将桌面应用程序交互式用户体验与传统的WEB应用部署灵活性和成本分析结合起来的网络应用程序。富互联网应用程序中的富客户技术通过提供可承载已编译客户端应用程序以文件形式,用HTTP传递)的运行环境客户端应用程序使用异步客户/服务器架构连接现有的后端应用服务器,这是一种安全、可升级、具有良好适应性的新的面向服务模型,这种模型由采用的WEB服务所驱动。结合了声音、视频和实时对话综合通信技术,使富互联网应用程序(RIA)具有前所未有的网上用户体验。
Adobe RIA技术封装让现有的WEB技术得到了极大的保留,核心价值在于大大提高了产品设计师和开发工程师的“开发体验”,强化了设计端和开发端的整合。设计师和开发工程师们可以方便地将自己的代码平移到新的平台上,并且发布、部署的方式比之前的任何一款开发工具都方便得多,从而使RIA应用有更广大的开发者基础。
Adobe RIA技术也将带来新的桌面革命——“Desktop 2.0”,内容从Flash, HTML/CSS/JS到PDF,几乎涵盖了时下最流行的WEB内容载体。此外,“可离线应用模式能让用户更加安全、舒适地进行工作和娱乐。用户们不必再抱怨因网络故障而造成的信息损失,而且也可以借助本地资源更好地节省网络资源。因此,Adobe RIA技术可以让用户将WEB 2.0应用带回桌面,创造的商业应用价值和用户体验价值将超过以往任何技术
定位
2011年11月,adobe宣布对移动浏览器上的flashplayer不再支持新版本升级。并建议开发者使用html5 代替开发移动程序
到11年12月,adobe解说已经让部分内部开发者转到html5的研究上, 但承诺继续支持flash技术。从长远来看adobe在现在放弃部分领域,在将来可能也会逐步放弃其他flex/flash的传统领域。不过flex极有可能被HTML5分站大量市场
Flex和Flash的主要区别
1、Flex侧重于应用软件、游戏的开发,flash更侧重于网页web端的展示效果
2、Flex生成的swf文件较大,不利于网络传输,flash生成的swf文件较小,适合在网站上展示
经典应用
1、eBay
eBay桌面是构建于Adobe AIR上的一个应用程序,程序创建了与eBay客户的持久连接。eBay桌面实时地直接将产品供货通知和拍卖更新发布给买主,这样用户不需要打开浏览器进入eBay网站就可以获取最新信息。
2、纳斯达克股票市场公司
NASDAQ Market Replay使用Adobe Flex和Adobe AIR桌面上发布一个RIA,让金融专业人士能够重放任何时间点市场活动的详情。
3、纽约时报公司
纽约时报公司正在开始ShifD,一个新的RIA,允许使用者在计算机和移动设备之间切换内容。ShifD工作在Web网站和移动设备之上以及两者之间,通过一个可下载的AIR应用程序提供给人们一种欣赏移动媒体的方式。
4、CCTV网络电视奥运台
Adobe Flex 制作Adobe Flash 技术加以传递前所未有的网页体验。其中包含由 CCTV 奥运媒体团队所提供的奥运赛事成绩、统计资料,以及多样化的背景数据、比赛规则及专家分析等。同时,透过社交网络功能,还能让运动迷与朋友们实时分享各种奥运赛事意见及看法
 
5. 与 Flash返回顶部

首先这里想说的是,Flash并非只是一个单纯矢量动画创作工具,而是一个凭借脚本语言ActionScript功能和定位上不断演变的网络应用开发工具。早在Flash MX的时候就已经成为macromedia 推广RIA战略的工具。但是毕竟Flash最初的定位是面向美术动画设计师的矢量动画创作工具,并不适合传统的开发人员。于是Flex成为开发者们的首选。
Flex和Flash都以ActionScript作为其核心编程语言,并被编译成swf文件运行于Flashplayer虚拟机里。因此Flex也继承了Flash在表示层先天性的美感、除了视觉上的舒适感外,还天生具备方便的矢量图形、动画和媒体处理接口
虽然Flex和Flash有众多的相似点,但是不同之处仍然很多:
1.尽管公用ActionScript,但是使用的库并不完全相同,更合适的说法是两者使用着两套具有极大“功能重叠”范围的库。
2.Flash偏向的是美术动画设计师人员,所以更容易发挥特效处理的优势,Flex偏向开发人员,所以容易做出具有丰富交互功能的应用程序。
3.Flash只能以ActionScript脚本的形式开发(舞台被关联到一个称之为 document class的类里),另外舞台元素也是可以绑定脚本的,不过从软件工程的角度讲不建议这样用,Flex还可以使用称作mxml的标记语言来描述应用的外观和行为,mxml中可以直接嵌入ActionScript脚本。
4.由于第三点而造成的两者市场定位不同,Flex是面向企业级网络应用程序,Flash则面向诸如平面动画、广告设计多媒体展示程序。
5.借助Flash Lite这一移动设备上的FlashplayerFlash可以开发移动应用Flex则不行
6.Flash的编程模型是基于时间轴的,Flex的则是基于窗体,虽然它运行在网页里。

6. 技术组成返回顶部

安装及配置

SDK2:FLEX标准开发组件,包含flex框架;
Flex Charting 2:FLEX图表组件
Flex Builder 2:开发FLEX应用的集成开发工具,基于Eclipse;
Flex Data Service 2:FLEX数据服务,应用程序使用数据服务与服务器交换数据

技术框架

Flex技术包括以下几个主要技术框架:
1. 描述应用程序界面的XML语言(MXML);
2. 符合ECMA规范的脚本语言(ActionScript),处理用户和系统的事件,构建复杂的数据模型;
3. 一个基础类库;
4. 运行时的即时服务;
5. 由MXML与ActionScript文件生成swf文件的编译器。

开发步骤

以下直接来源于Flex 2.0 Beta 3的帮助文件:
使用一系统预定义组件(窗口,按钮等)来定义一个开发界面。
组织安排组件,现在用户自定义的界面设计。
使用风格和主题来定义可见设计。
增加动态动作,如应用程序之间的互动。
定义并在需要时连接上一个数据服务。
从源代码生成一个在Flash播放器中运行的SWF文件。
 
7. 相关认证返回顶部
1、
名称
范围
简介
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
国际
TheFlex 4 ACE Examis 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 - Dreamweaver 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
2、
8.返回顶部
 
9.返回顶部
 
10.返回顶部
1、百度百科
2、 Apach Flex
3、GitHub
4、Download
5、
 
11.返回顶部
 
作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

最新文章

  1. IO流-----写到输出流
  2. 使用 CSS3 实现超炫的 Loading(加载)动画效果
  3. 右键添加"用vim打开"文件选项
  4. windows下在文件夹中快速启动cmd
  5. Atitit 图像处理—图像形态学(膨胀与腐蚀)
  6. 【JDK源码分析】String的存储区与不可变性
  7. 损失函数(Loss Function)
  8. DOM之parentNode与offsetParent
  9. 百万用户时尚分享网站feed系统扩展实践
  10. Unity 3D 游戏上线之后的流水总结
  11. Android中使用WebView与JS交互全解析
  12. js中正则表达式的使用
  13. ASP.NET页面继承关系
  14. JS获取网页中HTML元素的几种方法分析
  15. python多进程multiprocessing模块中Queue的妙用
  16. 【Java】【14】从后往前每隔n位加逗号(用于货币)
  17. 常用的一些markdown格式
  18. tomcat中浏览器重新选择下.就解决该问题了
  19. IPv6地址分类及表示方法
  20. mstOne

热门文章

  1. Kafka消费者APi
  2. jquery ajax和php实现返回值 json类型
  3. python3.6 ubuntu
  4. 动态改变UITabBarController的菜单文字
  5. HDU 4240
  6. 对magento MVC框架的了解
  7. [LeetCode&Python] Problem 412. Fizz Buzz
  8. [HRBUST-1688]数论中的异或(思维题)
  9. 51Nod:活动安排问题(区间问题)
  10. Visual Studio 2015 编译错误 File 的值+乱码的解决方法