什么是Flex技术

来源:互联网 发布:淘宝自定义区装修视频 编辑:程序博客网 时间:2024/05/16 11:11

FLEX是Adobe公司开发的,可以输出成基于FLASH Player来运行的互联网应用程序。
FLEX 基于标准的语言和各种可扩展用户界面及数据访问组件结合起来,使开发人员能够快速构建具有丰富数据演示、强大客户端逻辑和集成多媒体的应用程序。
 
简单的说,FLEX可以编译动态的FLASH输出到浏览器,就好象我们制作动态网站一样,只是把输出的HTML变成了FLASH。
 
FLEX使用Action Script 2.0作为编译界面和程序编译语言,目前FLEX 2 已支持Action Script 3.0。Action Script是一种强类型的面向对象编程语言,并且符合JAVASCRIPT标准。
 
FLEX使用MXML来对结构和内容进行定义,好比HTML。但是MXML比HTML更强大,功能更多。
 
WEB服务端,FLEX使用专门的服务程序,包括:Web服务代理(Web services proxy)、服务器端Java程序访问(Server-side Java object access)、共享会话支持(Shared session support)、插件程序检测和升级(Plug-in detection and updating)等服务。
 
FLEX拥有专门的编写软件,叫做Brady。他是一种基于Dreamweaver MX 2004的所见即所得的开发工具。
 
应该说,FLEX的出现将会和AJAX一样,再次掀起网络技术热潮,目前国外的一些浏览器厂商,比如微软等,已经开始宣布支持FLEX的标准。
部分公司,如YAHOO已经开始使用FLEX进行网站开发,下面就是YAHOO利用FLEX作出的无刷新地图效果。
http://maps.yahoo.com/broadband#mvt=h&trf=0&lon=138.853455&lat=35.402484&mag=10

Q:什么是Flex技术?Flex技术是什么意思?

FLEX,是Rich Internet Applications时代的牛×产物Rich Internet Applications,翻译成中文为富因特网应用程序。传统网络程序的开发是基于页面的、服务器端数据传递的模式,把网络程序的表示层建立于HTML页面之上,而HTML是适合于文本的,传统的基于页面的系统已经渐渐不能满足网络浏览者的更高的、全方位的体验要求了,这就是被Macromedia公司称之为的“体验问题”,而富因特网应用程序的出现也就是为了解决这个问题。

Adobe Flex是支持RIA(rich internet applications)的开发和部署一系列发展中的技术和产品线的概括词,包括the Flex Framework, Flex Builder 2, and Flex Enterprise Services 2等。

FLEX试图通过提供一个程序员们已经熟知的工作流和编程模型,让程序员比从前更快更简单地开发动画及RIA应用。在多层式开发模型中,FLEX应用属于表现层。FLEX的语言和文件结构也试图把应用程序的逻辑从设计中分离出来。

Flex最重要的两个技术要数AS和MXML, MXML 和 HTML 一样是标记语言,它描述了反映内容与功能的用户界面。与 HTML 不同的是,MXML 可对表示层逻辑与用户界面和服务器端数据绑定提供声明抽象。MXML 可将表示与业务逻辑的问题彻底分开,以实现最大程度地提高开发人员的生产率及应用程序的重复使用率。MXML 的开发基础是在迭代过程上,这与其他类型的 Web 应用程序文件如 HTML、JSP、ASP是相同的。开发 MXML 应用程序就象打开一个文件编辑器一样简单,只要输入一些标签、保存文件,然后在 Web 浏览器上打开文件 URL 即可。

MXML 文件同时也是普通的 XML 文件,所以可以选择多种开发环境。可以在简单文件编辑器、专用 XML 编辑器或是支持文件编辑的集成开发环境 (IDE) 中进行开发。由于 MXML 符合W3C XML 方案的定义,您也可以使用结构化编辑,如代码着色和代码提示。

MXML和HTML间最大区别:前者定义的应用是编译的SWF文件,执行于FlashPlayer客户端中。后者是基于页面技术的应用。因此前者能提供更丰富的、动态的UI。MXML不支持Flash的某些特性,例如:时间轴。但是可以利用Flash设计组件并应用在Flex中。MXML应用可以是一个MXML文件,也可以是多个MXML组成,MXML支持MXML文件形式的自定义组件、ActionScript文件形式的自定义组件以及在Flash中建立的自定义组件。

FLEX试图通过提供一个程序员们已经熟知的工作流和编程模型,让程序员比从前更快更简单地开发动画及RIA应用。在多层式开发模型中,FLEX应用属于表现层。FLEX的语言和文件结构也试图把应用程序的逻辑从设计中分离出来。

FLEX使用Flex markup language (代号MXML)对程序的结构和内容进行定义。和HTML不同,MXML为表示层逻辑提供说明性的抽象概念并且绑定客户端和服务器端的数据。

使用Action Script 2.0作为界面控制和数据处理的程序语言,Action Script 2.0是一种强类型面向对象的编成语言,并且符合javascript标准,可以用Action Script 2.0定义事件侦听器和处理器,设置和获取组件属性的值,事件处理函数。

FLEX还包含了一个类库,包括FLEX组件、数据邦定和行为等。

另外,还有FLEX运行时服务,包括:Web服务代理(Web services proxy)、服务器端Java程序访问(Server-side Java object access)、共享会话支持(Shared session support)、插件程序检测和升级(Plug-in detection and updating)等服务。

运用Flash是完全可以做到flex的效果的,为什么还需要flex呢?我理解这里面有两个原因:

1,为了迎合更多的developers(开发者)。Flash天生是为了designer(设计者)设计的,界面还有flash的动画概念和写程序的开发人员格格不入,为了吸引更多的jsp/asp/php等程序员,Adobe推出了Flex用非常简单的.mxml来描述界面和jsp/asp/php程序人员使用.(x/d)html非常相似,而且mxml更加规范化、标准化。

2,为了一个标准。大家一定听说过微软下一代系统longhorn,在longhorn推出的同时微软也会推出新的语言xaml,一种界面描述语言,与之相应的就是smart client和flex非常相似的东西。

总之,flex 是未来界面开发的一个好方向,据我了解很多公司都要求员工要学习 flex 技术,可见 flex 受欢迎的程度。学习Flex可以看看《精通Flex 3.0-基于Actionscript 3.0实现》