`
lxc63lxc
  • 浏览: 29206 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

FLEX和FLASH

 
阅读更多

FLEX和FLASH
2010年12月28日
      Macromedia Flash是强大的矢量动画编辑工具,在做动画起家之后,Flash一直在谋求rich internet application(ria富客户端)的霸主地位,最有影响的是,已经推出了面向对象的编程脚本ActionScript3.0,并且建立起类似于java swing的类库和相应component(组件)。Flex是通过java或者.net等非Flash途径,解释.mxml文件组织components,并生成相应的.swf文件。Flex的component和flash的component很相似,但是有所改进增强。目前Macromedia公司已经被ADOBE公司收购。当前(2008年10月)的flex版本为3.0 。
  运用Flash是完全可以做到flex的效果的,为什么还需要flex呢?这里面有两个原因:1:为了迎合更多的developers(开发者)。Flash天生是为了designer(设计者)设计的,界面还有flash的动画概念和程序开发人员格格不入,为了吸引更多的jsp/asp/php等程序员,Macromedia推出了Flex,用非常简单的.mxml来描述界面给jsp/asp/php程序人员使用.(x/d)html非常相似,而且mxml更加规范化、标准化。
  2,为了一个标准。大家一定听说过微软下一代系统longhorn,在longhorn推出的同时微软也会推出新的语言xaml,一种界面描述语言,与之相应的就是smart client和flex非常相似的东西。Mxml和Xaml的也很相似… …这是人机交互技术的进步的重要体现,即内部逻辑与外部界面交互相分离。
  Flex和j2ee/.net其实没什么关系,Macromedia用java做出来个应用把flash的技术融合到J2EE里面,再用.net的技术做出来个.net应用把flash技术融合到.net里面去;应该说flex解决了J2EE里面和.net里面最繁琐的问题那就是web 客户端的问题。
  什么是用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应用带回桌面,创造的商业应用价值和用户体验价值将超过以往任何技术。
  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的则是基于窗体,虽然它运行在网页里。
  Flex的技术框架
  Flex技术包括以下几个主要技术框架:
  1. 描述应用程序界面的XML语言(MXML);
  2. 符合ECMA规范的脚本语言(ActionScript),处理用户和系统的事件,构建复杂的数据模型;
  3. 一个基础类库;
  4. 运行时的即时服务;
  5. 由MXML与ActionScript文件生成swf文件的编译器。 [编辑本段]词法分析器生成器 flex (fast lexical analyser generator) 是 Lex 的另一个替代品。它经常和自由软件 Bison语法分析器生成器一起使用。Flex 最初由 Vern Paxson 于 1987 年用 C语言 写成。
  Flex 手册里对 Flex 描述如下:
  “flex是一个生成扫描器的工具,能够识别文本中的词法模式。flex读入给定的输入文件,如果没有给定文件名的话,则从标准输入读取,从而获得一个关于需要生成的扫描器的描述。此描述叫做规则,由正则表达式和 C代码对组成。flex 的输出是一个 C 代码文件――lex.yy.c――其中定义了 yylex() 函数。编译输出文件并且和 -lfl库链接生成一个可执行文件。当运行可执行文件的时候,它分析输入文件,为每一个正则表达式寻找匹配。当发现一个匹配时,它执行与此正则表达式相关的 C代码。”
  一个相似的,用 C++语言 的词法分析器生成器是 flex++,包含在 flex 软件包里。
  Flex 不是 GNU 工程,但是 GNU 为 Flex 写了手册。
  源文档 
分享到:
评论

相关推荐

    使用 Flex 和 Flash Builder 开发手机应用程序

    Flex和Flash Builder是Adobe提供的两个强大的开发工具,它们被广泛用于开发各种应用程序。在移动设备应用程序的开发中,Flex和Flash Builder扮演着重要的角色。Flex主要负责应用程序的外观和界面设计,而Flash ...

    FLEX和FLASH小日本的水波效果

    在IT行业中,FLEX和FLASH是两种非常重要的技术,尤其在网页交互和动画设计领域。本文将详细探讨“FLEX和FLASH小日本的水波效果”这一主题,以及与之相关的知识点。 首先,让我们理解一下FLEX。FLEX是Adobe公司开发...

    Flex和Flash图片加载条

    Flex和Flash图片加载条 Flex和Flash图片加载条

    flex 和 flash cs5集合的mp3播放器

    flex 和 flash cs5集合的mp3播放器

    Flex与Flash相互调用

    - 保证Flash和Flex运行在同一安全沙箱中,否则`ExternalInterface`可能无法正常工作。 - Flash和Flex之间的通信可能存在延迟,因为`ExternalInterface`调用是异步的。 - 如果Flash内容是在另一个域中,可能需要处理...

    flex与flash cs 交互

    Flex和Flash CS交互是开发富互联网应用程序...在项目中,`testAS3.fla`可能是包含AS3代码和交互逻辑的Flash源文件,`flexFlash.mxml`是Flex项目的主文件,而`testAS3.swf`是编译后的SWF文件,它将与Flex应用进行交互。

    flex与flash的交互

    在IT行业中,Flex和Flash是两种非常重要的技术,它们在创建富互联网应用程序(RIA)时起着关键作用。本文将深入探讨Flex与Flash之间的交互,以及如何利用它们来构建动态、交互性强的Web应用程序。 Flex是由Adobe...

    Flex与Flash组合开发最佳实践__Combain Flex&Flash

    在IT行业中,Flex和Flash是两种非常重要的技术,它们在创建富互联网应用程序(RIA)时发挥了巨大作用。本文将深入探讨“Flex与Flash组合开发”的最佳实践,旨在帮助开发者更高效地利用这两种技术来构建交互性强、...

    flex 与 flash 交互

    Flex和Flash是Adobe开发的两种相关但不同的技术,它们在Web开发中扮演着重要的角色,尤其是在富互联网应用程序(RIA)的构建中。本篇文章将深入探讨Flex与Flash之间的交互,以及如何实现它们之间的相互调用。 Flex...

    Flex与Flash相互调用实例

    Flex和Flash是两种在Web开发中广泛使用的技术,它们各自有着独特的优势,但在某些场景下,需要它们相互协作,实现更复杂的功能。本教程通过一个实际的调用实例,展示了Flex与Flash如何相互通信。 Flex是基于...

    flex&flash相互调用

    标题中的“flex&flash相互调用”指的是在Adobe Flex和Flash这两个技术之间进行交互的方法。Flex是一种基于ActionScript和MXML的开源框架,用于构建富互联网应用程序(RIA),而Flash则是用于创建动画、图形和交互式...

    flex+flash(Chapter02)

    6. **性能优化**:结合Flex和Flash时,了解如何优化代码和资源加载,以确保应用程序的性能和响应速度,这是提高用户体验的关键。 7. **安全与跨域策略**:在集成过程中,了解并处理跨域安全问题,确保数据传输的...

    简单的flex、flash播放器

    标题中的“简单的flex、flash播放器”指的是使用Adobe Flex技术和Flash技术开发的轻量级视频播放器。Flex是基于ActionScript 3.0的开放源码框架,用于构建富互联网应用程序(RIA),而Flash则是广泛用于创建动画和...

    关于flex与flash生成swf文件的加载(体积)问题

    在IT行业中,Flex和Flash是两个重要的开发工具,主要用于创建丰富的互联网应用程序(RIA)。这篇文章将深入探讨关于使用Flex和Flash生成SWF文件时所遇到的加载(体积)问题。SWF是Adobe Flash Player用于播放多媒体...

    flex flash 捕鱼达人

    本篇文章将深入探讨Flex和Flash在捕鱼达人游戏开发中的核心知识点,帮助初学者和开发者更好地理解和运用这些技术。 首先,Flex是Adobe公司推出的一种开源框架,主要用于构建富互联网应用程序(RIA),它基于...

    Flex/flash 无需服务器的P2P源码

    标题 "Flex/flash 无需服务器的P2P源码" 描述了这是一个使用Flex和Flash技术实现的点对点(P2P)通信系统,它能够实现NAT(网络地址转换)穿越,使得两个处于不同NAT后的设备也能直接通信,而无需通过中央服务器作为...

    flex / flash bulider 相关资料

    Flex和Flash Builder是Adobe开发的两个紧密相关的工具,主要用于创建富互联网应用程序(RIA)和桌面应用。本篇文章将深入探讨这两个技术平台的核心概念、应用场景以及它们如何协同工作。 标题中的"flex"指的是Flex ...

    Flex/Flash实现的地图编辑器源码

    通过学习和研究这些源代码,开发者不仅可以了解Flex和Flash如何协同工作,还可以借鉴其中的设计模式和最佳实践,提升自己的编程技能。对于想要自制游戏或者优化现有游戏地图编辑器的开发者来说,这是一份极具价值的...

    flex3.0+flash

    Flex 3.0 和 Flash 是 Adobe 公司在 Web 开发领域的两个重要工具,它们结合使用可以构建富互联网应用程序(RIA)。本资源包含了 Flex 3.0 与 Flash 集成开发的源代码示例,对于理解两者如何协同工作以及深入学习 RIA...

    FLEX+Flash动态更换皮肤演示

    通过这个“FLEX+Flash动态更换皮肤演示”,开发者不仅可以学习到如何在Flex应用中实现动态皮肤更换,还能深入了解Flex和Flash之间的协同工作,以及如何通过ActionScript和MXML结合来增强用户体验。这种技术在创建...

Global site tag (gtag.js) - Google Analytics