基于Flex开发富互联网应用程序

来源 :硅谷 | 被引量 : 0次 | 上传用户:li_uwx
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘要]传统网络程序的开发是基于页面的、服务器端数据传递的模式,把网络程序的表现层建立于HTML页面之上,而HTML是适合于文本的,传统的基于页面的系统已经渐渐不能满足网络浏览者的更高的、全方位的体验要求了。而富互联网应用(Rich Internet Applications,缩写为RIA)的出现就是为了解决这个问题。主要探讨在Web2.0标准下,如何使用Adobe Flex 3构建富互联网应用程序,以及程序开发步骤与部署过程。
  [关键词]网络程序 富互联网应用程序 HTML
  中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2008)1110076-02
  
  一、引言
  
  Adobe Flex 3是属于Adobe公司针对RIA的最佳提供方案,同时也是近年火热话题RIA、Web2.0最易达成的途径。内容从Flash, HTML/CSS/JS,到PDF,几乎涵盖了时下最流行的WEB内容载体。此外,“可离线”应用模式能让用户更加安全、舒适地进行工作和娱乐。用户们不必再抱怨因网络故障而造成的信息损失,而且也可以借助本地资源更好地节省网络资源。因此,Adobe Flex 3技术可以让用户将WEB 2.0应用带回桌面,创造的商业应用价值和用户体验价值将超过以往任何技术。
  
  二、使用Flex开发程序
  
  (一)基于组件的开发模型
  Flex是基于组件的开发模型。我们可以使用Flex中所包含的预构建的组件,也可以通过创建新的组件来扩展Flex组件库,或者是可以组合预构建的组件来创建复合的组件。
  (二)Flex是由MXML和ActionScript 3语言两部分组成的
  MXML是一个可以让你在Adobe Flex中布局用户界面组件的一种XML语言。可以使用MXML声明来定义程序中的非可视化组件,比如对服务器端数据源的访问以及用户界面组件和数据源之间的数据绑定。MXML标签与ActionScript类或者类中的属性是相对应的。当编译Flex应用程序的时候,Flex解析MXML标签并且生成相应的ActionScript类。然后这些ActionScript类会被编译成SWF字节码存储到一个SWF文件中。
  Flex的运作原理如下图所示,当使用开发工具不管是Eclipse或是Flex Builder,编辑好程序后就可以编译成.swf文件,此编辑过程会把必要得MXML、
  ActionScript3及有参考到的Class编译成.swf文件放到浏览器上去执行。
  


  (三)用户界面
  使用Flex来构建一个程序,将使用名为容器与控件的组件来描述用户界面。一个容器就是屏幕上包含控件和其他容器的矩形区域。容器的一个例子就是为数据实体(Data Entry),盒子(Box),表格(Grid)所用的窗体(Form)容器。一个控件是一个窗体元素,例如按钮或是文件输入区。例如,下面的图显示了两个不
  同的盒容器,每一个包含三个按钮与一个组合框控件。
  


  上图演示了在水平盒(HBox)容器中的控件。HBox容器将它的控件在Flash播放器的平面上水平排列。上图同时演示了在垂直盒(VBox)容器中的控件。一个VBox容器垂直排列它的控件。
  容器与控件定义了程序的用户界面。在MVC设计模式中,程序模型的这些方面代表视图(View)。模型(Model)是由数据模块表示的。Flex数据模型可以使得我们将程序数据和业务逻辑与用户界面相分离。
  使用MXML或是ActionScript作为Flex程序的一部分来定义数据模型。下图演示了在Flex中使用数据模型创建的窗体:
  


  (四)数据绑定
  数据绑定是将一个对象中的数据绑定到另一个对象的过程。数据模型支持双向的数据绑定,可以从Flex控件向数据模型写入数据,或者是从数据模式向控件读入数据。我们也可以绑定服务器数据到一个数据模型或是直接到Flex控件。例如,我们可以将从一个网络服务器返回的结果绑定到数据模型,然后将数据传递到我们的窗体控件。
  
  三、使用网络服务器工作
  
  在开发与部署环境通常包含一个网络服务器,在这里使用网络服务器返回一个Flex SWF文件来响应用户的请求。我们可以使用下面的任何一种网络服务器:
  (一)简单的网络服务器
  一个简单的网络服务器使用简单的HTML页面响应静态的页面请求。在这种情况下,将预编译的Flex程序并且编写一个包装将Flex程序的SWF文件嵌入到HTML页面中。
  (二)网络程序服务器
  一个网络程序服务器,例如JRUN,ColdFusion,或者是PHP,可以动态的生成页面来运行Flex程序。在这种情况下,我们可以利用程序服务器的可用标签库和处理语言来为Flex程序动态的生成包装。
  (三)J2EE程序服务器或Servlet容器
  需要J2EE程序服务器或是Servlet容器,例如JRUN,Tomcat或者是WebSphere来运行Flex数据服务。通常在运行Flex数据服务的服务器上部署之前预编译我们的Flex程序。然而,在开发过程中,可以在浏览器上请求一个Flex程序的MXMl文件,从而在运行时编译Flex程序。这会调用可以生成包装的编译器并且返回一个编译的SWF文件。
  
  四、Flex程序开发步骤
  
  (一)通常使用下面步骤来开发一个Flex程序
  1.在文本编辑器或是集成开发环境中,例如Adobe Flex Builder,Eclipse,或是IntelliJ,在MXML文件中插入MXML根标签。
  2.添加一个或是多个容器。
  3.向容器中添加控制器,例如输入域,按钮,输出域。
  4.定义数据模型。
  5.添加网络服务,HTTP服务,或是请求一个远程Java对象。
  6.向输入数据添加验证。
  7.添加脚本来扩展组件。
  8.编译程序为SWF文件。
  (二)部署文件
  我们可以部署程序为一个编译的SWF文件,或者如果有Flex数据服务,可以部署程序为一个MXML和ActionScript文件的集合。
  (三)部署SWF文件
  在编译程序为一个SWF文件后,可以通过将这个文件拷贝到网络服务器或是程序服务器的目录中来实现部署。用户可以通过HTTP请求来访问部署的SWF文件:http://hostname/path/filename.swf。
  (四)部署MXML和ActionScript文件
  如果有Flex数据服务,可以将程序部署为MXML和ActionScript文件的集合。当部署程序为MXML和ActionScript文件集合时,用户请求主要的MXML文件来开始一个程序。用户第一次在网络浏览器中请求MXML文件的URL时,服务器编译MXML代码为SWF文件。同时服务器将SWF文件发送到网络浏览器由Flash播放器运行。Flex程序使用MXML文件扩展名。我们将这些文件存放在我们的J2EE程序的网络根目录下。要请求一个由MXML和ActionScript文件部署的程序,用户向主要的MXML文件发送请求:http://hostname/path/filename.mxml。主要的MXML文件包含  tion>标签。
  MXML文件一旦接收到一个HTTP请求,Flex执行如下的操作:
  1.编译MXML文件来生成一个SWF文件。
  2.在服务器上缓存编译的SWF文件。
  3.向客户端返回SWF文件。
  一旦向MXML文件发送请,Flex服务器会检测自上一次请求以来是否修改了MXML文件。如果MXML已经修改了,Flex服务器重新编译这个文件,并且向客户端返回一个更新的SWF文件。
  
  五、结束语
  
  Adobe Flex 3在开发富客户端应用程序上提供了一种便捷,高效,具有良好跨平台兼容性的方法,能大大降低了
  制作用户界面的难度,提高了开发效率。而且对众多W3C标准都支持,并将桌面软件的优势和网络范围的广泛结合在一起,从而为用户创造出更有价值的体验。
  
  参考文献:
  [1]《Flex 3.0 RIA开发详解:基于ActionScript3.0实现》,黄曦,电子工业出版社.2008.
  [2]《Flex与ActionScript编程》,王睿,机械工业出版社.2008.
  [3]《Rich Internet Applications with Adobe Flex & Java》Yakov FainSYS-CON Books 2007.
  
  作者简介:
  赵中枢,男,汉族,黑龙江省绥棱县,讲师,研究方向:多媒体技术与应用、网站开发。
其他文献
[摘要]熔体X射线数字图像检测系统设计,是将无损检测领域中的射线检测方法,引入到材料学科研究中的一次尝试。该检测系统可以检测熔体界面的接触角,并对接触角随温度变化的情况作曲线拟合,另外本系统还有对历史记录存储查询的数据库功能,对材料学科中的熔体界面性质等领域的研究具有重要的作用。  [关键词]X射线 熔体 接触角  中图分类号:TP2 文献标识码:A 文章编号:1671-7597(2008)101
期刊
[摘要]kelk测宽仪是邯钢CSP生产线精轧机出口带钢在线检测设备之一,能够测量轧制带钢的宽度、宽度偏差、中心线偏差等。在其运行期间也出现了不少故障率。根据多年的现场经验,对该设备的概况和在CSP的使用情况进行了总结。  [关键词]C965A型 扫描器 边缘处理器  中图分类号:TH7 文献标识码:A 文章编号:1671-7597(2008)1010144-01    一、引言    邯钢CSP生
期刊
[摘要]电荷耦合器件(CCD)的应用前景广阔,其新技术的发展与研究也非常迅速。介绍几种特殊结构的CCD,分析它们的创新之处以及对CCD性能的改善,并分别对超级CCD(SuperCCD)的八角型二极管阵列与传统的CCD感光单元结构,FOVEON X3全色彩影像感测芯片与传统的RGB三原色CCD作了比较分析。  [关键词]特殊结构CCD 电子倍增CCD 超级CCD FOVEON X3多层感光CCD  
期刊
[摘要]如何利用现代化的手段,提高消防部队的科技含量,确保系统正常运行已成为消防管理者面前的一个重大课题。简要介绍VSAT技术及其在消防通信指挥系统中的应用。  [关键词]VSAT 卫星 消防通信指挥系统  中图分类号:TN91 文献标识码:A 文章编号:1671-7597(2008)1010137-01    一、引言    随着社会经济的发展,消防部队灭火救援形势逐步严峻,如何保障消防通信指挥
期刊
[摘要]数字印刷是一个完全数字化的生产流程,体现了最新的计算机技术与印刷技术。数字印刷的过程是从计算机直接到印版,即直接制版(CTP)技术。直接制版技术省却了许多工艺过程,缩短了印刷周期,提高了生产的自动化程度,给印刷界带来了革命性的变革。在直接制版系统中,光栅图像处理器(RIP)是一个非常重要的技术,它对于提高CTP的性能有很大的影响。  [关键词]数字印刷 直接制版(CTP)光栅图像处理器(R
期刊
[摘要]Oracle作为强大的数据库管理系统,被应用到生产和实践的各个领域。介绍以Oracle为后台,结合SQL技术的试验设计管理系统的数学原理,并详细叙述开发过程中碰到的负载平衡问题和数据交换问题及解决办法。  [关键词]试验设计 Oracle数据库系统 数据交换  中图分类号:TP31 文献标识码:A 文章编号:1671-7597(2008)1010146-01    一、引言    试验设计
期刊
[摘要]C语言作为一门专业基础课和程序设计的入门语言,概念多、抽象、难学,从教学语言、内容和方式等方面,以提高C语言的趣味性进行相应的探讨。  [关键词]C语言 教学现状 趣味教学 多媒体  中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2008)1110054-01    C语言自1972年问世以来,因其功能强大、使用灵活、可移植性好、能对硬件直接操作,既有高级语言的特点,又
期刊
[摘要]分析EPON的工作原理,总结EPON接入网的常见故障,并给出解决方案。  [关键词]EPON OLT ONU 故障   中图分类号:TP3文献标识码:A 文章编号:1671-7597(2008)1110045-01    一、EPON的主要原理分析    EPON传输体系主要由OLT,ONU,分光器组成。  OLT是光线路单元,放在局端机房,实现业务的聚合和下发;  ONU是光网络单元,放
期刊
[摘要]办公自动化系统在机关事业单位应用非常广泛,公文处理留痕是一个较为关键的技术问题,对基于Lotus Domino的办公自动化系统的公文留痕处理的各种方法进行比较分析,并提出了自己的解决方法。  [关键词]办公自动化 公文留痕 Lotus Domino 控件  中图分类号:TP3文献标识码:A 文章编号:1671-7597(2008)1110049-02    一、引言    办公自动化系统(
期刊
[摘要]随着Internet的普及,越来越多的企事业单位建立了自己的WWW网站,单位通过网站可以展示产品,发布最新动态,与用户进行交流和沟通,与合作伙伴建立联系,以及开展电子商务等。与此同时,企事业单位内部也建立了功能完善的办公自动化系统,可以快速的实现传统办公无法实现的功能。现今,包括政府部门、事业单位、学校等单位大多都建立了具有自身特色的办公自动化系统。所以作为设计人员,笔者认为有必要在开发系
期刊