`
yantaoliu2006
  • 浏览: 91848 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多

Adobe公司推出的开放源码框架

  

简介


  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应用带回桌面,创造的商业应用价值和用户体验价值将超过以往任何技术。

  

采用Adobe Flex & AIR技术的经典应用


  eBay(http://desktop.ebay.com)

  eBay桌面是构建于Adobe AIR上的一个应用程序,程序创建了与eBay客户的持久连接。eBay桌面实时地直接将产品供货通知和拍卖更新发布给买主,这样用户不需要打开浏览器进入eBay网站就可以获取最新信息。

  纳斯达克股票市场公司(https://data.nasdaq.com/mr.aspx)

  NASDAQ Market Replay使用Adobe Flex和Adobe AIR在桌面上发布一个RIA,让金融专业人士能够重放任何时间点市场活动的详情。

  纽约时报公司(http://shifd.com)

  纽约时报公司正在开始ShifD,一个新的RIA,允许使用者在计算机和移动设备之间切换内容。ShifD工作在Web网站和移动设备之上以及两者之间,通过一个可下载的AIR应用程序提供给人们一种欣赏移动媒体的方式。

  CCTV网络电视奥运台(Olympic Network TV Station)

  由 Adobe Flex 制作、Adobe Flash 技术加以传递前所未有的网页体验。其中包含由 CCTV 奥运媒体团队所提供的奥运赛事成绩、统计资料,以及多样化的背景数据、比赛规则及专家分析等。同时,透过社交网络功能,还能让运动迷与朋友们实时分享各种奥运赛事意见及看法。

  

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 flex是什么

    Flex是Adobe公司开发的一种开源框架,主要用于构建富互联网应用程序(Rich Internet Applications,简称RIA)。它基于ActionScript编程语言和MXML标记语言,提供了一种高效、灵活的方式来设计和构建交互式的用户界面...

    selenium对flex程序的自动化测试.docx

    Selenium 对 Flex 程序的自动化测试 Selenium 是一个自动化测试工具,它可以模拟用户的行为来测试 Web 应用程序。Flex 是一种基于 XML 的开发语言,用于构建 Rich Internet Applications(RIA)。在这篇文章中,...

    Flex开发环境配置教程

    在进入Flex开发之前,首先需要理解Flex是什么。Flex是一种基于Adobe的ActionScript编程语言和MXML标记语言,用于构建富互联网应用程序(Rich Internet Applications, RIA)。它允许开发者创建交互式的、数据驱动的...

    flex.md flex属性详解文档

    flex原理和全属性详解flex 是 flexible Box的缩写,意为“弹性布局”,用来为盒状模型提供最大的灵活性,任何一个容器都可以指定为flex布局

    Flex移动开发第一次分享

    1. **Flex概述**:解释Flex是什么,它的历史,以及为什么选择Flex进行移动应用开发,比如跨平台能力、强大的组件库和良好的用户体验设计。 2. **Flex架构**:深入到Flex的架构,包括ActionScript编程语言、MXML标记...

    Flex学习.doc

    1. **Flex是什么及用途与前景** Flex是一种用于创建Rich Internet Applications(RIA)的开发框架。RIAs是具有丰富交互性和用户体验的互联网应用程序。Flex 2.0基于Action Script 3.0,这是一个强大的编程语言,与...

    Flex完全自学入_手册

    #### 一、Flex是什么,用途和前景 Flex是一种用于构建高质量、跨平台的Rich Internet Applications(RIA)的软件框架。最初由Macromedia开发,后随公司被Adobe收购而成为Adobe产品线的一部分。Flex 2.0是其发展历程...

    Flex 帮助教程中文版

    在这一章节中,我们将学习Flex的基本概念,包括Flex是什么,它的主要用途以及如何通过Flex构建RIA。Flex提供了一套完整的开发工具和组件库,使得开发者可以便捷地创建动态、数据驱动的Web应用。此外,我们还会了解到...

    Flex3基础入门PPT

    1. **Flex概述**:解释了Flex是什么,为什么选择Flex作为RIA开发平台,以及Flex在Web开发中的地位和优势。可能涉及Flex的应用场景和历史发展。 2. **开发环境搭建**:介绍了如何安装并配置Flex Builder或Flash ...

    flex是什么 Flex介绍

    Flex 是一个用于构建富互联网应用程序(Rich Internet Applications, RIA)的开源框架,它由Adobe公司(前身为Macromedia)开发。Flex的核心是提供一套工具和库,使得开发人员可以构建具有高度交互性和动态用户体验...

    Flex + LCDS + Java 入门教程

    1. **Flex是什么?** Flex是一种基于ActionScript和MXML的开放源码框架,用于构建具有动态图形、交互性和数据可视化的RIA。它允许开发者创建在浏览器中运行的富客户端应用程序,而无需用户安装额外的软件。 2. **...

    Flex Flex Flex Flex

    Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex ...

    Flex万年历记事本_flex源码

    Flex是Adobe公司推出的一种基于ActionScript 3.0的开源框架,主要用于构建富互联网应用程序(Rich Internet Applications,简称RIA)。这种技术允许开发者创建具有高度交互性和动态视觉效果的Web应用,提供比传统...

    Flex中文帮助

    1. **Flex概述**:这一章通常会介绍Flex是什么,它的历史背景以及在RIA开发中的地位。Flex通过Flash Player或Adobe AIR运行,可以创建交互性强、视觉效果丰富的Web应用。 2. **开发环境设置**:可能会讲解如何安装...

    MyEclipse6.5中安装FLEX插件的过程.rar

    首先,了解Flex是什么至关重要。Flex是由Adobe开发的一种开源框架,用于创建富互联网应用程序(RIA),它基于ActionScript编程语言和MXML标记语言,使得开发者可以构建交互性强、图形丰富的Web应用。 在MyEclipse ...

    上次传的flex中文教程不全啊,这次补上

    1. **第一章**:通常会介绍Flex的基础概念,包括Flex是什么,它的主要用途以及为什么选择Flex。这一章可能涵盖了Flex的历史、架构,以及与Flash和ActionScript的关系。ActionScript是Flex编程的核心语言,学习者会在...

    flex2 explorer

    首先,我们要理解Flex是什么。Flex是Adobe公司推出的一种用于构建富互联网应用(RIA,Rich Internet Applications)的开源框架。它基于ActionScript语言和MXML标记语言,能够创建具有丰富图形、动画和交互性的Web...

    flex学习笔记 flex学习总结 flex学习教程

    Flex是Adobe公司推出的一种用于构建富互联网应用程序(RIA)的技术,它基于ActionScript编程语言和Flex框架,可以创建交互性强、用户体验优秀的Web应用。本教程是作者精心编写的Flex学习资料,适合初学者入门,通过...

Global site tag (gtag.js) - Google Analytics