flex入门之Flex与Flash的关系

来源:互联网 发布:访谈节目知乎 编辑:程序博客网 时间:2024/05/16 01:03

flex入门之FlexFlash的关系

  首先这里想说的是,Flash并非只是一个单纯的矢量动画创作工具,而是一个凭借脚本语言ActionScript在功能和定位上不断演变的网络应用开发工具。早在FlashMX的时候就已经成为macroemdia推广RIA战略的工具。但是毕竟Flash最初的定位是面向美术动画设计师的矢量动画创作工具,并不适合传统的开发人员。于是Flex成为开发者们的首选。

  FlexFlash都以ActionScript作为其核心编程语言,并被编译成swf文件运行于Flashplayer虚拟机里。因此Flex也继承了Flash在表示层上先天性的美感、除了视觉上的舒适感外,还天生具备方便的矢量图形、动画和媒体处理接口。

  虽然FlexFlash有众多的相似点,但是不同之处仍然很多:

  1.尽管公用ActionScript,但是使用的库并不完全相同,更合适的说法是两者使用着两套具有极大功能重叠范围的库。

  2.Flash偏向的是美术动画设计师人员,所以更容易发挥特效处理的优势,Flex偏向开发人员,所以容易做出具有丰富交互功能的应用程序。

  3.Flash只能以ActionScript脚本的形式开发(舞台被关联到一个称之为documentclass的类里),另外舞台元素也是可以绑定脚本的,不过从软件工程的角度讲不建议这样用,Flex还可以使用称作mxml的标记语言来描述应用的外观和行为,mxml中可以直接嵌入ActionScript脚本。

  4.由于第三点而造成的两者市场定位不同,Flex是面向企业级的网络应用程序,Flash则面向诸如平面动画、广告设计等多媒体展示程序。

  5.借助FlashLite这一移动设备上的FlashplayerFlash可以开发移动应用,Flex则不行。

  6.Flash的编程模型是基于时间轴的,Flex的则是基于窗体,虽然它运行在网页里。

flex入门之Flex的技术框架

  Flex技术包括以下几个主要技术框架:

  1.描述应用程序界面的XML语言(MXML);

  2.符合ECMA规范的脚本语言(ActionScript),处理用户和系统的事件,构建复杂的数据模型;

  3.一个基础类库;

  4.运行时的即时服务;

  5.MXMLActionScript文件生成swf文件的编译器。

flex入门之词法分析器生成器Flex

  Flex(fastlexicalanalysergenerator)Lex的另一个替代品。它经常和自由软件Bison语法分析器生成器一起使用。Flex最初由VernPaxson1987年用C语言写成。

  Flex手册里对Flex描述如下:

  “Flex是一个生成扫描器的工具,能够识别文本中的词法模式。Flex读入给定的输入文件,如果没有给定文件名的话,则从标准输入读取,从而获得一个关于需要生成的扫描器的描述。此描述叫做规则,由正则表达式和C代码对组成。Flex的输出是一个C代码文件——lex.yy.c——其中定义了yylex()函数。编译输出文件并且和-lfl库链接生成一个可执行文件。当运行可执行文件的时候,它分析输入文件,为每一个正则表达式寻找匹配。当发现一个匹配时,它执行与此正则表达式相关的C代码。

  一个相似的,用C++语言的词法分析器生成器是Flex++,包含在Flex软件包里。

  Flex不是GNU工程,但是GNUFlex写了手册。

0 0
原创粉丝点击