`

RIA/FLASH/FLEX

    博客分类:
  • Flex
阅读更多
RIA是macromedia在2004年提出的术语。简单来说,RIA就是网络上的应用程序,它同时具有web应用的特点和 desktop应用的特点。作为web应用程序,它是跨平台的、无须额外配置的、无处不在的;作为desktop应用程序,它是实时反应的、具有丰富交互操作的。RIA的架构也很简单,即:表示层-服务器-数据库,通常表示层是浏览器或其他支持http协议的应用程序,服务器则可以是任何其他C/S或B /S的使用的企业级应用服务器,数据库自然是任意的了。

RIA的存在为广大的web用户带来了全新的体验。这些体验主要体现在界面的内容上,使得大量的界面控件和数据能够紧密联系,更可以方便的整合音频、视频等媒体元素。不同于传统的web应用,RIA采用异步传输模式和服务器通信,这是一种比较安全的、具有更强适应性的服务器运行模式,在传输发生时用户可以继续做其他操作而无须等待刷新,另一方面,由于传输是局部的,只考虑发生变化的部分,因此大大减少了网络流量。

目前比较流行的RIA坚决方案主要有Flex、Ajax、JavaFX、Silverlight、Openlaszlo。本板块主要关注基于Flex的解决方案。
以上解决方案都依赖于浏览器级相关的插件,另外一个则是给予独立Flashplayer的解决方案AIR(Adobe
Integrated Runtime),它将web应用搬到了浏览器之外,同样没有C/S笨重、部署不容易的特点,用户所做的只是下载一个air并安装即可。AIR不再本板块讨论的范围,感兴趣的朋友可以自己去www.adobe.com查看相关资料。

2.Flex

Flex最初由macromedia(后来于Adobe合并)在2004年推出,意在为提供一个企业级的RIA解决方案。简单来说Flex是一个应用框架,最终以swf的形式将应用程序嵌入到web浏览器里,再通过一些企业级的解决方案来与后台应用服务器通信。实际上,跟Ajax一样,Flex也是一个老技术新思想的应用框架。其核心是ActionsScript和XML,以及在此基础上的整套SDK。和Ajax基于网页不同的是,Flex基于窗体。

目前,Flex已经正式开源,并且能在Microsoft Windows, Linux和Apple Mac OS X平台正常工作。对于普通用户,只需拥有带FlashPlayer的web浏览器即可。对于Flex Applicaion的开发只需下载其免费的SDK即可,当然Adobe也推出了其官方开发工具FlexBuilder——一个基于Eclipse的商业开发工具——同时具有独立版和插件版(Windows版和MacOSX版具有可视化的设计工具,Linux版现在还没有)。

3.Flex与Flash的关系

首先这里想说的是,Flash并非只是一个单纯的矢量动画创作工具,而是一个凭借脚本语言ActionScript在功能和定位上不断演变的网络应用开发工具。早在Flash MX的时候就已经成为macroemdia 推广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这一移动设备上的Flashplayer,Flash可以开发移动应用,Flex则不行。
6.Flash的编程模型是基于时间轴的,Flex的则是基于窗体,虽然它运行在网页里。

4.ActionScript和其他语言

ActionScript与JavaScript是同门兄弟,都源于ECMAScript规范。但是对于我们使用语言的人而言,这个是透明的。有人说熟悉了JavaScript就能很快熟悉ActionScript,这在以前没有任何疑问,但是事物总是会发展的,ActionScript先后有过两次革命性的发展,这便是ActionScript1.0,ActionScript2.0和ActionScript3.0,没接触过as的朋友请注意,这三个版本的每一个都是一门新的语言。JavaScript的语法却一直没变,还是跟ActionScript1.0类似。

ActionScript的发展经历了面向过程、基于对象、面向对象三个大的方向过程。这使得ActionScript越来越受到Java、C#等开发者的欢迎,ActionScript3.0号称可以与Java等王者语言媲美,其实说到底,都是面向对象的语言,原有的思维方式和模式都可以直接用到ActionScript3上来。当然如果不是在AIR环境里,Flex无法直接访问本地系统、文件系统和数据库,这个是它的弱点之一。

不过,ActionScript作为脚本语言,相对于java这样的系统语言还是有所不同的,因为这是ActionScript卖点,“动态语言 ”,即在运行时能够改变对象的结构,这一点于JavaScript是一样的,因此JavaScript思维方式也可以作用于ActionScript。关于动态面向对象语言的优势,有兴趣的朋友可以看看我的《抛砖引玉:ActionScript2扩展图形接口》 一文。

5.后台通信技术

作为企业级解决方案,Flex提供了众多与后台交互的方式:
1.Flash Remoting, ActionScript专用通信接口,使用称之为AMF(Action Message Format)的通信协议,速度比HTTP协议要快。支持多种数据类型,并有针对Java、.Net、ColdFusion、PHP等语言的服务器端 Remoting。
2.FDS(Flex Data Service),一个java企业级部署的war,内置于java通信的库,用户的java web应用可以方便的与其整合。
3.HttpService、WebService、Socket,这三种常见的Web应用接口使得Flex能与任何支持它们的后台方便的通信。

摘自:http://www.hzclw.cn/2010/751.html
分享到:
评论

相关推荐

    ADOBE AIR完整入門與開發實錄-使用Flex/Flash/Ajax開發AIR應用

    AIR允許利用現有的Web開發技能(包括Flash、Flex、HTML、JavaScript、Ajax)優勢,建立和配置跨平台(或跨作業系統)的桌面RIA(Rich Internet Applications)應用。透過詳細的實例講解,介紹AIR 的特性和開發技巧,讀者會...

    RIA及技术与用户体验

    Flash/Flex/Flash player/AIR的比较 先谈谈 RIA(Rich Internet Applications) 谈谈用户体验设计 进入RIA 的世界-转换思维模式 RIA深度应用案例 RIA的开发利器——具体了解Flex

    RIA及其基于Flex的应用开发模型

    介绍了RIA 的产生、发展及优点, 阐述了基于Macromedia Flash/Flex 开发RIA 应用的框架与方法, 对RIA 的应用前景作了展望。

    [转] [Flash/Flex] Flex框架下的RIA开发现场--第3回 Adobe AIR 2的15项新功能

    NULL 博文链接:https://as3.iteye.com/blog/975735

    flex 4 学习资料

    Flex4)用一个简单登录流程代码演示Flex自定义事件声明、触发__精灵★ 's Flex/Flash/AS3 技术 & 网络游戏_百度空间 分享:Flex4+Struts2+Spring3+Blazeds 百度空间_应用平台 Flex中嵌入Google地图 - 菩提树 - ITeye...

    Adobe AIR v32.0.0.125.zip

    AIR 支持现有的Web技术如Flash,Flex,HTML,JavaScript和AJAX,可以用你最熟练的技术来开发您所见过的最具用户体验的RIA程序。 Adobe AIR功能 基于Flash 或 Flex:应用程序根内容(理解为容器)为Flash/Flex (SWF)...

    Flex_4.0_RIA开发详解

    Flash Builder 4开发环境中集成了两者的编译器,用户只需选择相应的编译运行命令。 本书在介绍第一个Flex程序“Hello World”程序时,简单地介绍了了如何编译与运行Flex应用程序。事实上编译时可选的参数较多,本节...

    AdobeAirAdobeAIRInstaller part2

    Flex,HTML,JavaScript和AJAX,可以用你最熟练的技术来开发您所见过的最具用户体验的RIA程序,例如,一个AIR程序可以使用如下一种或多种组合技术构建: <br> Flash / Flex / ActionScript HTML / ...

    Flex 4:开发RIA 应用程序

    该书为adobe flex4认证的内部培训教材,以Adobe Flash Builder 4为基础培训,目前市面上的flex4的教材太少,这个发上来大家一起看看吧

    Flash Catalyst 示例第一季

    今天开始学习Catalyst,准备仿淘宝做一个! http://www.hahaman.cn/FLEX%20RIA/thread-255-1-1.aspx

    JAVA程序员应当如何来选择RIA的开发环境

    RIA在Web应用体系结构中提供富客户端操作体验,其目标是整合桌面客户端和WEB应用程序的优势,而常用的开发技术就是如上提到的Java,JavaScript,Flash/Flex。AJAX既不是一个产品也不是一项新技术,但它确实是RIA体系...

    FLASH-FLEX3.0开发教程中文版(例子源码)

    FLASH-FLEX3.0开发教程中文版(例子源码)

    Adobe-Flex-简介.doc

    Flex是一个基于组件的开发框架...Flex是一个建立在Flash平台上的富客户端应用开发工具包,Flex 作为富 Internet 应用(RIA)时代的新技术代表,自从 2007 年 Adobe 公司将其开源以来,Flex 就以前所未有的速度在成长。

    私人使用奉献 flex3注册机

    Macromedia Flash是强大的矢量动画编辑工具,在做动画起家之后,Flash一直在谋求rich internet application(ria富客户端)的霸主地位,最有影响的是,已经推出了面向对象的编程脚本ActionScript3.0,并且建立起类似于...

    FLEX从入门到精通.pdf

     1.3.1 揭秘Flash和Flex  1.3.2 用户喜爱Flex的十大理由  1.4 本章小结  第2章 Flex3生态系统  2.1 Flex历史简介  2.2 Adobe Flex3生态系统,  2.2.1 运行时  2.2.2 语言  2.2.3 框架和API  ...

    Ext框架与Flex框架的整合实例

    目标:本人觉得Flex可以开发RIA应用,而Ext可以开发出富客户端的web应用,那么二者可不可以兼得呢?于是,现在可以回答你:“可以”。 阅读对象:熟悉Flex框架、Ext框架技术的人员,并且希望使用它们开发出更丰富...

    FlexChart使用教程

    Macromedia Flash是强大的矢量动画编辑工具,在做动画起家之后,Flash一直在谋求RIA(rich internet application)富客户端的霸主地位,最有影响的是,已经推出了面向对象的编程脚本ActionScript3.0,并且建立起类似...

    Flex4 权威代码指南(清晰中文版)pdf+目录+含源代码

     书中详细介绍了Flex 4的相关知识点,具体包括构建、部署和调试RIA,使用功能强大的MXML语言编写了应用程序,使用MXML和ActionScript快速构建自定义用户界面,以及通过样式和皮肤自定义应用程序的外观等。...

    Flash,Flex和AIR应用开发内存监测及优化技巧

    Flash,Flex和AIR应用开发内存监测及优化技巧 内容摘要  Flash Player 是如何分配内存的?  Flash Player 是如何完成垃圾回收的?  Flash Player 是如何优化渲染显示的?  你该如何处理以下问题:  事件监听...

    使用 Flex 4.5 访问数据

    使用 ADOBE FLEX 45访问数据 目录 第 1 章: 访问数据服务概述 Flex 与其它数据访问技术的比较 使用 Flash Builder 访问数据服务 数据访问组件 第 2 章: 使用 Flash Builder 构建以数据为中心的应用程序 创建 Flex...

Global site tag (gtag.js) - Google Analytics