`
titan
  • 浏览: 113705 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

基于Flex的表现层开发技术

阅读更多

Flex简介

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

传统的程序员在开发动画应用方面存在困难,FLEX试图通过提供一个程序员们已经熟知的工作流和编程模型,让程序员更快更简单地开发动画及RIA应用。在多层式开发模型中,FLEX应用属于表现层。

1Flex Framework 包括 MXML、类库、组件、容器和效果(effects)等。它不需另外的服务器或IDE就可以生成和美化FLEX应用程序。

2Flex Builder 是在Eclipse基础上创建的全新RIA IDE,是生成FLEX应用的最简单最强大的方式。实现了集成编译器,代码缩进,调试,设计视图,源代码控制系统集成等许多功能。它可以当作标准的独立应用软件,也可以当作Eclipse的插件使用。

3Flex Enterprise Services拥有众多新功能,比如自动测试,企业通信支持(提供一种发布/订阅的通信架构),数据服务(使本地处理的数据和服务器端同步)。最新版的FLEX支持创建静态文件,该文件使用解释编译方式并且不需要购买服务器许可证就可以在线部署。FLEX服务器也是客户端和XML Web Services及远程对象(Coldfusion CFCs,或Java类,等支持Action Message Format的其他对象)之间通讯的通路。

FLEX采用GUI界面开发,使用基于XMLMXML语言。FLEX具有多种组件,可实现Web Services,远程对象,drag and drop,列排序,图表等功能;FLEX内建动画效果和其它简单互动界面等。相对于基于HTML的应用(PHP,ASP, JSP, ColdFusiohCFMX)在每个请求时都需要执行服务器端的模板,由于客户端只需要载入一次,FLEX应用程序的工作流被大大改善。FLEX的语言和文件结构也试图把应用程序的逻辑从设计中分离出来。

 

集成FlexASP.net

由上文介绍可知,Flex是一种表现层技术,它可以比较方便的支持开发动画和特殊效果的界面。

Flex能输出成为Flash格式(swf文件),在浏览器中的Flash Player插件中运行。

 

1.         Flex与服务端集成

Flex支持与流行的Web框架进行集成。Flex被下载到浏览器中,通过下列方式与服务器进行交互。

     HttpService:是Flex通过Http协议与远程进行数据交互。由于是使用Http协议,对于各种的服务端ASPJSPPHP等。

     WebServiceFlex支持与WSDL1.1标准的Web Service进行交互。Flex支持SOAP方,web Service请求和应答。

     Remote ComponentFlex通过Remote ComponentColdfusionJava组件。也可以通过第三方组件与.NET交互,如AMF Gateway(The Silent Group开发的Fluorine)。这也是通讯效率最高的一种方式。

 

 

 

                 

 

                             Flex与远程集成的图示

 

 

 

2.         FlexJavaScript应用的集成

 

传统的 Ajax 开发依旧是实现富 Internet 应用程序(RIA)的最主要方法,而Flex的优点在丰富,精致的界面体验,表现能力更强。两者并不冲突,传统的Ajax应用可以与Flex集成,在需要图形化等丰富表现力的场合,使用Flex应用。

     Flex通过ExternalInterfaceFABridge可以与JavaScript实现相互调用。

u       ExternalInterface

将数据从 Flash 容器(HTML/JavaScript 代码)传递到 ActionScript 代码中有许多种简单方法,包括使用查询字符串和 <param> 标记。但是,这种方法仅限于将数据传递到容器中。一种功能更强大的技术是使用 ExternalInterface 类,这是一个应用程序编程接口(API),它用于代理 ActionScript JavaScript 语言之间的通信。清单 1 中的示例最佳演示了 ExternalInterface 的使用:

 

 

 

 

清单 1 演示了如何使用 ExternalInterface 类注册 ActionScript 函数,以便 JavaScript 代码可以调用该函数。您可以通过先定义 ActionScript 函数,然后使用 addCallback() 方法将该函数公开给要执行的 JavaScript 来完成操作。在 HTML 端,只需获得 Flash 容器的句柄并调用该函数,该函数是使用 addCallback() 方法的第一个参数命名的。虽然此演示主要是将函数公开给 JavaScript 代码,但是您可以使用另一种方式:使用 ExternalInterface 类的 call() 方法。

ExternalInterface 类可以十分强大,但是实现该类有很大的缺点。要使用 ExternalInterface,必须可以编写代码以实现 ActionScript JavaScript 环境。这不但要求额外的技巧,而且需要翻倍的工作量。在这种情况下,维护代码以及两个非常健壮的技能集可能会变得很困难。

u        FABridge

为了解决针对 Flash 外部 API 的开发限制,Adobe 发布了 FABridgeFlex SDK附带的 FABridge 是用于公开 Flash 内容以编写浏览器脚本的小型库,并且它可以在大多数主要浏览器平台中工作。使用 FABridge,现在实质上不再需要直接实现 Flash 外部 API 所需的管道代码。此外,实现桥接所需的技能也不再健壮。作为一名 JavaScript 开发人员,您只需能够了解哪些 ActionScript 属性和方法可用。

(请参考相关文档)

基于Flex的表现层开发的优缺点

性能

从几个方面来看Flex的性能:

第一、   Flex图形显示效率

Flex是基于Flash的框架,Flash的效率决定Flex的效率。

Flex能否支持展示1500个节点图形元素?

 

第二、   下载Flex的输出的Flash.swf)的性能

由于企业网管的应用主要在企业内部网络中,有相对较高的带宽,下载速度会相当快。同时可以利用浏览器缓存,一个客户端第一次访问下载后,以后访问无需再重复下载。这里要防止将Flash做的过于庞大复杂,降低用户体验。

第二、Flex与远程通讯的性能

Flex远程通讯的方式可以归纳为两种传输协议:利用xml和二进制通讯。其中后者效率要更高。Xml正是大多数web的通讯方式,如Ajax, Web Service等。所以可以看到flex并没有降低数据通讯的效率,相反还可以利用Flex一些特性,做到更到效率的通讯。

表现力

一、丰富的组件

      Flex提供一整套的工业级的控件,以及非常灵活的组件框架,丰富方便而灵活的前后台数据交互方式,可以提供用户很好的体验。

      组件包括表格、树、列表等各种常用组件。

      图形控件包括饼图、柱状图、线图、气泡图、区域图、图例等

      由于Flex已经开源,一些第三方厂商和开发人员也开发了一些第三方Flex组件库

其中比较优秀的ILog Elixir

二、矢量图形和API支持

   使 Flex 在表现力方面有别于其他软件的一个功能是提供矢量图形。通过使用矢量图形线、形状和图像可以使用几何公式 (而不是位图) 来表示。 通过使用 Flex您对矢量图形 API 具有完全的访问权限但大多数时候您只需使用 Flex 框架中的组件该框架已经广泛利用矢量图形。

例如,如果您需要划一个带圆角的红色半透明面板,您需的编码的全部内容是:

<Panel backgroundColor="#FF0000" backgroundAlpha="0.5" cornerRadius="6"/>

尽管漂亮又具体,这第一个示例不是创新的:通过分割图像您可以得到相同的结果。但是, 矢量图形对用户界面可以有一个更具转变性的影响:它们使您能以任何可能的方式拉伸、收缩、旋转、翻转或更改对象的形状。换句话说,他们使您可以使用户界面对象的行为与真实生命对象相似。

三、多媒体支持

   支持播放音频和视频流。

 开发方式和难度

       Flex是提供程序员开发动画、复杂图形应用和RIA的工具和框架。所以使用Flex的主要是UI开发工程师, 由美工来完成一些图片,纯动画(与业务逻辑无关,使用Flash开发工具)。

Flex开发中主要包括MXML(一种描述界面的XML)和ActionScript脚本语言。ActionScript脚本,也是一种面向对象的脚本语言。通过面向对象的方式开发,可以提高UI组件的可重用度和一致风格。Flex中的UI组件风格类似Swing

      Flex支持运行期调试。

Flex的熟练开发人员目前不多,但是其学习曲线较低。熟练的java.net程序员经过培训可以轻松进行Flex开发。

 

  • 大小: 50.3 KB
  • 大小: 44.9 KB
分享到:
评论

相关推荐

    Flex 3 RIA开发详解与精深实践一

    RIA技术,尤其是Flex,能够与现有的企业级应用体系结构模型(如JavaEE、.NET)无缝整合,提升现有应用的表现层,而不破坏原有的业务逻辑或数据结构。通过增强界面友好度和减少远程交互频率,RIA技术显著提升了用户...

    flex介绍工作原理,开发工具

    Flex是Adobe公司推出的一种用于构建富媒体应用程序的技术,它不仅是一种表现层的服务器,还包含了丰富的用户界面组件库,以及基于类XML的标记语言MXML,用于布局和控制界面元素。ActionScript,一种面向对象的编程...

    Flex开发平台搭建

    在搭建过程中,表现层通常基于Flex构建,如使用开源的CatWindow库来实现仿OS风格的多窗口操作。CatWindow提供窗口拖动、最小化、最大化、任务栏快速切换、桌面快捷方式、任务栏预览窗口和托盘图标的等功能,使得用户...

    基于Flex的网页游戏的研究与设计.pdf

    本文主要探讨基于Flex技术开发网页游戏的方法和技术。 #### 二、Flex与Red5的选择及其原理 ##### 1. Flex简介 Flex是一种开源框架,由Adobe公司开发,用于构建高性能的Web应用程序。它支持ActionScript 3.0编程...

    基于Flex与SSH的富互联网企业级技术及其云架构的研究

    ### 基于Flex与SSH的富互联网企业级技术及其云架构的研究 #### Flex与SSH在富互联网应用中的角色 Flex是一种开源框架,用于构建高性能、高质量的客户端应用程序。它结合了HTML、CSS以及JavaScript等Web标准技术,...

    毕业论文基于Flex的网络拓扑图的绘制工具

    本文主要探讨了一款基于Flex技术的网络拓扑图绘制工具的开发,该工具旨在提升网络设备监控系统的性能,优化维护工作流程,提高工作效率。Flex作为一种富互联网应用(RIA)技术,具备优秀的图形表现力和跨平台特性,...

    基于Flex和Java的配网通信网管系统的拓扑设计与实现.pdf

    1. 表现层:在本系统中,表现层使用Flex技术构建,主要负责与用户交互,向用户展示设备拓扑图形界面,接收用户的操作请求,并将请求发送到业务层。Flex技术的图形化界面为用户提供了直观、友好的操作体验。 2. 业务...

    flex开发系列书籍:WebGIS框架设计与实现

    1. **架构层次**:框架采用分层设计,分为表现层、逻辑层和服务层,各层之间通过明确的接口进行通信,实现了良好的模块化和解耦合。 2. **组件模型**:基于Flex的组件模型,提供了丰富的预定义控件和自定义控件,...

    基于NET与Flex技术的化学实验安全学习平台的开发PPT学习教案.pptx

    该在线学习平台通过集成.NET与Flex技术,提供了一个包含表现层、业务逻辑层和数据访问层的三层架构设计。这种设计既保证了系统的稳定性和安全性,又使得未来对平台的维护和升级变得更加方便和快捷。平台采用了用户...

    flex进销存技术架构

    在《flex进销存技术架构》这一文章中,作者介绍了基于Flex技术构建的企业信息管理系统(简称:进销存系统)。该系统主要面向中小型企业,旨在提供一个高效、灵活且易于维护的信息管理平台。 #### 二、系统特点 1. *...

    Flex整合J2EE开发小记+源码下载

    整合Flex和J2EE,可以实现前后端分离,使UI层更加轻量且富有表现力,而服务器端则专注于处理复杂的计算和数据管理。 在整合过程中,通常使用HTTP或AMF(Action Message Format)作为通信协议。HTTP是标准的网络协议...

    Flex从入门到实践.

    Flex的主要特点是其基于组件的开发方式,允许开发者利用标准语言和丰富的用户界面组件来创建具有强大功能和多媒体集成的应用程序。 1. Flex简介 Flex的核心是其组件模型,它生成的程序由Flash Player运行,表现为...

    Flex 的 WebGIS 气象服务系

    基于Flex的WebGIS气象服务系统框架设计包括四个层次:表现层、数据接口层、应用层和框架数据层。 表现层: 表现层通常基于Web浏览器或Flash播放器实现,通过Flex框架中的组件实现矢量图形的绘制,提供丰富的用户...

    Flex

    Flex的应用程序通常分为三层架构:表现层(Presentation)、业务逻辑层(Business Logic)和数据访问层(Data Access)。表现层负责用户界面的显示,业务逻辑层处理应用程序的核心功能,数据访问层则处理数据的存储...

    flex文档

    ### Flex文档核心知识点详解 ...综上所述,Flex作为一种先进的RIA开发框架,不仅提供了强大的客户端表现能力,还保持了与传统Web技术的良好兼容性,为构建高效、交互性强的现代Web应用提供了有力支持。

    Flex_API的架构图

    ActionScript用于编写Flex应用程序的逻辑层。 3. **MXML**: MXML是一种声明式语言,用于描述Flex界面的布局和组件结构。它与ActionScript相结合,使得开发者可以方便地分离界面设计和业务逻辑。 4. **Flex ...

Global site tag (gtag.js) - Google Analytics