(计算机科学与技术专业论文)基于ria技术的web应用的研究.pdf_第1页
(计算机科学与技术专业论文)基于ria技术的web应用的研究.pdf_第2页
(计算机科学与技术专业论文)基于ria技术的web应用的研究.pdf_第3页
(计算机科学与技术专业论文)基于ria技术的web应用的研究.pdf_第4页
(计算机科学与技术专业论文)基于ria技术的web应用的研究.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

(计算机科学与技术专业论文)基于ria技术的web应用的研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中文摘要 摘要:随着互联网的高速发展和网络技术的进步,越来越多的应用程序开始向因 特网迁移。基于b s ( b r o w s e r s e r v e r ) 架构的w r e b 应用由于开发、部署和维护的 便利,在越来越多的领域得到广泛使用。然而w e b 应用的交互能力和表现能力远 远落后于桌面程序,人们越来越期望w e b 应用能提供桌面应用所提供的美好体验。 r i a ( r i c hi n t e r n e t a p p l i c a t i o n ,富互联网应用) 技术正是为了提升用户体验而 提出的解决方案。随着r i a 概念的提出,w 曲应用和桌面应用的优点可以兼得。 r i a 将桌面应用丰富的交互能力与广泛采用的w 曲技术相结合,能够提供给我们 丰富的用户体验。 本文首先简要介绍了r i a 的基本概念,在着重研究a d o b ef l e x 的技术细节的 基础上,总结了r i a 的主流技术_ a 觚、f l e x 、s i l v e r l i g h t 和j a v a f x 的优缺点; 接着探讨了基于f l e x 的r i a 开发框架,其中讨论了f l e x 与j a v a e e 结合的可行性, 提出了研究后得出的f l e x 与j a v a e e 整合的解决方案;然后以教学支持系统为例, 具体阐述了基于f l e x 的教学支持系统的设计与实现,论证了此解决方案在教学支 持系统中的可行性:最后进行总结并提出了对此方案的改进。 本文对f l e x 与j a v a e e 的整合做了一系列成功的探索和实践,总结出了一整套 行之有效的解决方案,为希望采用f l e x 开发新应用或者改造现有应用的组织和个 人提供了一条可行的思路。 关键词:r i a :f l e x ;j a v a e e ;开发框架;b l a z e d s 分类号:t p 3 1 9 a b s t r a c t a b s t r a c t :w i t ht h er a p i dd e v e l o p m e n to fi n t e m e tt e c h n o l o g ya n da d v a n c e m e n to f n e t w o r k , m o r ea n dm o r ea p p l i c a t i o n sm i g r a t et ot h ei n t e r n e t w e ba p p l i c a t i o n sb a s e do n b s ( b r o w s e r s e r v e r ) a r c h i t e c t u r eb e c o m em o r ea n dm o r ew i d e l yu s e da sar e s u l to f t h e d e v e l o p m e n t , d e p l o y m e n ta n dm a i n t e n a n c ef a c i l i t i e s h o w e v e rt h ei n t e r a c t i v ec a p a c i t y a n dp e r f o r m a n c eo fw e ba p p l i c a t i o n sa r cf a rb e h i n dd e s k t o pa p p l i c a t i o n s ,s ow eh o p e w e ba p p l i c a t i o n sc a np r o v i d et h e 爱l n l eo rb e t t e re x p e r i e n c ep r o v i d e db yt h ed e s k t o p a p p l i c a t i o n s r i a ( r i c hi n t e r n e ta p p l i c a t i o n ) t e c h n o l o g yi st h ep e r f e c ts o l u t i o nw h i c ha i m st o e n h a n c et h eu 剐嚣e x p e r i e n c e w i t ht h er i ac o n c e p t , w ec a nh a v ew e ba p p l i c a t i o n sa n d d e s k t o pa p p l i c a t i o n s a d v a n t a g e s r i at e c h n o l o g yc o m b i n e st h er i c hi n t e r a c t i v ea b i l i t y o fd e s k t o pa p p l i c a t i o n sw i t ht h ew i d e l yu s e dw e bt e c h n o l o g yt op r o v i d eu sw i t hr i c h u s e re x p e r i e n c e t h i sp a p e rf i r s tb r i e f l yi n t r o d u c e st h eb a s i cc o n c e p to f 姒a l s oa n a l y z e st h e a d v a n t a g e sa n dd i s a d v a n t a g e so fr i a sm a i nt e c h n o l o g y a j a x , f l e x , s i l v e r l i g h ta n d j a v a f xo nt h eb a s i so fr e s e a r c ho na d o b ef l e x st e c h n i c a ld e t a i l s ;t h e np r o b e st h er i a d e v e l o p m e n tf r a m e w o r kb a s e do nf l e x , d i s c u s s e st h ec o m b i n a t i o nf e a s i b i l i t yo ff l e x w i t hj a v a e e ,a f t e rt h a tp r o p o s e st h ei n t e g r a t i o ns o l u t i o no ff l e xw i t hj a v a e e ;a n dt h e n t a k e st e a c h i n gs u p p o r ts y s t e ma sa ne x a m p l e ,d e s c r i b e st h ed e s i g na n di m p l e m e n t a t i o n d e t a i l so ft e a c h i n gs u p p o r ts y s t e mb a s e do nf l e x , d e m o n s t r a t e st h ef e a s i b i l i t yo ft h e s o l u t i o n ;f i n a l l yd i s c u s s e st h ea d v a n t a g e so ft h es o l u t i o na n dh o wt oi m p r o v et h e s o l u t i o n t h i sp a p e rh a sd o n em u c hs u c c e s s f u le x p l o r a t i o na n dp r a c t i c ea b o u tt h ei n t e g r a t i o n o ff l e xw i t hj a v a e e ,s u m m e du pas e to fe f f e c t i v es o l u t i o n s ,p r o v i d e dav i a b l ei d e af o r o r g a n i z a t i o n sa n di n d i v i d u a l sw h o w i s ht od e v e l o pn e ww e ba p p l i c a t i o n su s i n gf l e xo r t r a n s f o r mt h ee x i s t i n ga p p l i c a t i o nt of l e x k e y w o r d s :i l i a ;f l e x ;j a v a e e ;d e v e l o p m e n tf r a m e w o r k ;b l a z e d s c i a s s n o :t p 3 1 9 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的研 究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或 撰写过的研究成果,也不包含为获得北京交通大学或其他教育机构的学位或证书 而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作 了明确的说明并表示了谢意。 学位论文作者签名:唐爱强 签字日期:如呷年6 月1 f 日 学位论文版权使用授权书 本学位论文作者完全了解北京交通大学有关保留、使用学位论文的规定。特 授权北京交通大学可以将学位论文的全部或部分内容编入有关数据库进行检索, 提供阅览服务,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。 同意学校向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名: 唐垄欲 签字日期:脚d 7 年多月陟日 导师签名李9 岛 签字b 凝0 u 6 7 年占旯f 争 致谢 本论文的工作是在我的导师朱卫东教授的悉心指导下完成的,朱卫东教授严 谨的治学态度和科学的工作方法给了我极大的帮助和影响。在此衷心感谢两年来 朱卫东老师对我的关心和指导。 朱卫东教授悉心指导我们完成了实验室的科研工作,在学习上和生活上都给 予了我很大的关心和帮助,在此向朱卫东老师表示衷心的谢意。 朱卫东教授对于我的科研工作和论文都提出了许多的宝贵意见,在此表示衷 心的感谢。 在实验室工作及撰写论文期间,许宏伟、马楠、孙奇等同学对我论文中的r i a 研究工作给予了热情帮助,在此向他们表达我的感激之情。 另外也感谢家人我的父母、姐姐、姐夫、刚出生的外甥女以及过世的外祖父 母,他们的理解和支持使我能够在学校专心完成我的学业。 1 绪论 1 1 研究背景与意义 随着当今信息技术的飞速发展和i n t e r n e t 带宽的增加,当前的w e b 技术已经不 能完全满足用户的需求,用户需要更好的客户端体验,r i a ( 富互联网应用程序) 技术应运而生。 传统的网络程序一般采用页面表现内容、服务端处理数据和业务逻辑的开发 模式,使用a s p 、j s p 或者p h p 技术来表现界面,而这些基于h t m l 的表现形式 有很多的限制,频繁的页面刷新等问题使得用户体验不佳。 同时,一个很重要的问题就是j a v a s c r i p t 的兼容性问题。众所周知,由于不同 的浏览器支持的j a v a s c r i p t 不同,导致同一应用在不同浏览器上运行结果不同,甚 至不能正常运行。j a v a s c r i p t 不兼容影响用户正常使用,同时编程需要考虑不同类 型的浏览器,这给编程带来了许多繁琐的工作,更增加了开发的难度。 传统网络应用的另一个缺陷是服务端负载过重和客户端未充分利用。传统网 络应用的请求响应机制导致几乎所有的处理逻辑都需要请求服务端,这导致了服 务端负担过重;另一方面,客户端的能力已经越来越强大,而传统网络应用并未 充分利用客户端的能力。 r i a 技术很好地解决了这些问题。r i a 主流技术f l e x a i r 、s i l v e r l i g h t 和j a v a f x 都提供了单一的运行环境。此单一的运行环境能够在不同的浏览器运行并且得到 同一结果,很好地解决了浏览器兼容性问题。w e b 应用再也不用为浏览器的兼容 性而担忧。 r i a 所提倡的富客户端技术一方面使用先进的技术革命性地改善了用户体验, 另一方面使用客户端处理很多业务逻辑,只与服务端交换很少的数据,这就既充 分利用了客户端的能力,又有效地减轻了服务端的负荷。 r i a 技术和现今的技术相比有巨大的优越性,能显著改善客户端界面体验。 而企业级应用还需要强大的后台数据处理,仅仅通过表现层是远远不够的,所以 r i a 还需要和复杂的数据处理相结合,才能组建出优秀的应用。 本文在介绍r i a 主流技术的基础之上,主要研究r i a 中的f l e x 技术。由于 f l e x 是一项正在蓬勃发展的新技术,f l e x 本身和现有的主流架构的结合还不是很 完善,而只有和主流架构紧密融合才能开发出企业级应用。目前主流的主流架构 大致分为三种:微软支持的n e t 平台、s u n 的j a v a e e 平台和开源的p h p 平台。 f l e x 可以通过_ 定的技术同以上三种平台进行无缝接合。本文经过一系列的研究, 提出一整套符合实际需求的f l e x 开发架构。 在前面研究的基础之上,把研究成果应用到实践中。本人曾参与的教学支持 系统在取得了定的成绩的同时本身存在着一些缺陷,本文将通过研究得出的框 架应用于教学支持系统,对教学支持系统进行基于r i a 架构的设计和实现,以期 使教学支持系统达到更好的整体效果。 1 2 国内外研究现状 1 2 1 砒a 的概念 r i a 是r i c hi n t e r a c t a p p l i c a t i o n 的缩写,即为丰富互联网应用程序【l 】。这个概 念最早由m a c r o m e d i a 提出,r i a 技术使系统的界面更接近传统应用程序,有更丰 富展现性,更好的操作性等。 “富”的概念包含两方面,分别是数据模型的丰富和用户界面的丰富。数据 中的“富”意思是用户界面可以显示和操作更为复杂的嵌入在客户端的数据模型, 它可以操作客户端的计算和异步的发送接收数据。这种模式相对于传统的h t m l 页面的优点是程序运行于客户端,程序更多的是和用户进行交互同时更少的和服 务端进行交互。平衡客户端和服务端之间复杂的数据模型可以有更大的空间去创 建更高效和更具有交互性的网络应用程序。 “富”同样也描述了全面提升的用户界面,h t m l 只给用户提供了非常有限 的界面控制元素,而r i a ( 丰富互联网应用程序) 提供了灵活多样的界面控制元 素,这些控制元素可以很好的与数据模型相结合。传统的因特网模型使用线性的 设计,提供给用户一些选择然后将用户选择结果发送给服务端,这种单一的模式 不符合应用程序灵活交互的要求和用户的意愿;频繁的服务端请求和页面刷新有 很多的缺点,包括页面打开缓慢和降低网络带宽等。如果采用富客户端技术,可 以从以前的服务端响应影响整个w e b 应用,转变到只有收到请求的应用程序部分 做出相应的变化。这本质上意味着界面被分解成许多独立的功能模块,这些功能 模块都会对收到的信息做出相应的反应,有些会和服务端进行交互,有些是这些 功能模块之间的通信。 1 2 2 附a 的发展状况 i n t e m e t 经是我们生活的一部分,而浏览w e b 应用程序可以说是网络用户与 2 i n t e m e t 1 简单的沟通方式。打开浏览器,进入一个网站浏览,这就是网络用户们 看到的最直观的i n t e m e t 的外表。尽管页面上不是单一的文字,但也仅仅是页面。 然而如今这些传统的呆板的页面已经不能满足网络用户的要求了。多媒体、多元 化的信息表现在一个页面上,的确显得很单薄。 另一方面,开发人员也一直在为过分依赖于页面刷新、请求响应等诸多传统 网页开发技术固有的问题而烦恼。当然我们不能忽略b s 架构能够取代c s 架构有 一个重要的因素,就是网络带宽问题。 传统网页节省网络带宽的优势是与生俱来的,而如今网络技术在不断地发展, 软硬件发展达到了一个并驾齐驱的时期,软件系统已经不需要等待硬件的发展而 发展。有了强烈的需求,又有了充足的硬件基础,新技术应运而生,r i a 的出现给 网络用户和开发人员都带来了全新的体验。 r i a 开发技术已经有很多种:开源的a j a x 众所周知,a d o b e 公司的f l e x 技术 发展日趋成熟,微软公司的s i l v e r l i g h t 及s u n 公司的j a v a f x 也崭露头角。f l e x 技 术的优势得天独厚,有强大的f l a s h 平台作后盾,s i l v e r l i g h t 和j a v a f x 在r i a 的实 现上则各有侧重,s i l v e r l i g h t 作为一个浏览器插件支持广泛,而且对于j a v a s c r i p t 和 微软的n e t 技术无缝结合,而j a v a f x 体系不仅希望利用编写更容易的j a v a f x s c r i p t 取代j a v a s c r i p t ,更是提供了j a v a f xm o b i l e ,为手机及移动设备增加了应用 程序支持。 影响r i a 技术使用度的一个重要的因素是各种技术的普及率。a j a x 由于没有 使用新的技术,无需安装新的浏览器插件;f l e x 所依托的f l a s hp l a y e r 是事实上的 最广泛的r i a 平台,拥有超过9 0 的普及率,相比之下,s i l v e r l i g h t 和j a v a f x 的 普及率要低许多,而普及率一定程度上影响了用户的使用量。 r i a 可以分为用户级r i a 和企业级r i a 。用户级r i a 主要注重互操作性,企 业级r i a 更注重客户端和服务端集成和整合。 总体来说,a j a x 占据着r i a 市场,但是a j a x 只是组合了一些技术和标准来给 终端用户提供开发应用程序所需的简要工具,它们勉强的凑合在一起并发挥几分 作用,但离理想的距离还很遥远。f l e x 、s i l v e r l i g h t 和j a v a f x 技术还并未完全成熟, 它们都在不断完善和发展。相信随着这些技术的不断完善改进,最终会占领a 市场。 1 3 本人所做的工作和论文的组织 本人所做的工作可以总结如下: 1 深入研究r i a 技术的优点和f l e x 技术的细节。 3 2 综合比较r i a 主流技术的优缺点。 3 探讨f l e x 与主流框架整合的技术细节,总结出一整套f l e x 与j a v a e e 整合 的解决方案。 4 设计并实现基于f l e x 的教学支持系统。 5 在实际项目的基础上,研究f l e x 性能优化,同时简要介绍了f l e xm v c 框 架。 论文的主要内容安排如下: 第一章绪论 主要介绍本文的研究背景和组织结构,并概述本文所做的研究工作 第二章r i a 相关研究 主要介绍r i a 的概念、与以往技术相比的优越性:并介绍了a d o b ef l e x a i r 技术;最后描述了r l a 的其他主流技术同时对这些技术进行综合评价。 第三章r i a 开发框架研究 主要探讨了r i a 主流应用f l e x 与j a v a e e 等平台的整合 第四章教学支持系统的r i a 架构的设计与实现 在第三章的基础之上,设计并实现基于f l e x 的教学支持系统。 第五章r i a 开发架构的优化 在设计并实现基于f l e x 的教学支持系统的基础上,对f l e x 性能提升进行了研 究并介绍了f l e xm v c 框架。 第六章总结与展望 对全文进行了总结,归纳了本文中研究的创新,并展望了r i a 技术的美好未 来。 1 4 小结 本章首先介绍了本文撰写的背景:r i a 是当前互联网应用的一门先进技术, 有着广阔的前景。然后概述了r i a 技术的国内外现状;最后介绍了本人所做的工 作和本文的组织结构。 4 2r i a 相关研究 本章主要对r i a 的主流技术进行介绍。首先介绍了r i a 的优点;接着对当前 流行的a d o b ef l e x 的框架和关键技术进行介绍;最后在此基础上介绍其他的r i a 解决方案并对所有的技术进行对比分析。 2 1 砒a 概述 丰富互联网应用程序( r i a ) 提供丰富的、引人入胜的体验,该体验可提高用 户满意度并提高生产效率。使用互联网的广泛触及力,可以在各种浏览器、桌面 和设备上部署r i a 2 。 2 1 1 传统架构的缺点 传统的b s 架构在带给人们便利的同时,也存在很多的缺点。主要表现在【3 】: 1 交互比较繁琐 用户希望能在一个页面中就能完成所有的工作。有调查表明,单页面的网站 是最受用户欢迎的。但是,由于商业逻辑的复杂性,如果只用一个页面的话,这 个页面将会变得非常宽,或者非常长。这样的页面同样是用户所无法忍受的。在 典型的w e b 应用中,由于没有消息传递机能,同一页面各部分之间缺乏互动性, 对页面的任何一点改变,都需要发送请求到后台服务器以后再由服务端生成新的 页面发送到客户端,所以目前大部分的应用都是以多页面、多步骤的形式展现的, 以使任务看起来显得。自然和符合逻辑。但这样的结果是可能会造成用户不得 不经常回到前面的页面确定自己的输入,或者进入一个没有结果的死胡同之类的 问题。由于页面的切换本身需要一定的等待时间,许多时间和资源就被浪费了。 2 用户互动性差 以鼠标行为作为最基本的操作方式,无法满足快速操作的要求。同时由于页 面动态刷新,响应速度明显降低。个性化特点也明显降低,无法实现具有个性化 的功能要求。 在高互动性的桌面应用程序中,程序会对用户输入不断发生反馈。传统网站 页面很难做到这一点,只有通过刷新整个页面,将页面提交到服务端,用户才可 以得到输入的反馈,这是由页面的基本请求响应通信模型所约束的。客户端对所 需要的信息种类或获取时限完全没有自主权,它必须等到用户做出一个明确的页 5 面请求后方可采取行动,而且必须提取整个页面。 3 数据处理复杂 在复杂的企业计算和应用中,常常涉及到复杂的数据逻辑关系。企业部门和 用户可能想尝试利用深层的内部数据,或者在数据之间自由的导航。比如,从一 条销售数据一直追踪到库存、采购或生产的信息。但由于网络页面在数据探测和 显示模式上的能力有限,往往很难表现出这种复杂的数据逻辑关系,即使勉强能 做到,用户也将面对一大堆的子窗口,或在无数次的页面切换中迷失方向。很难 想象他下次还会这样做,而且考虑到开发这样复杂的网络应用所需要投入的成本 和人力,这在所有以投资回报为导向的企业都是不可思议的。这样就造成了在现 有的企业网络应用中,很多信息被隐藏了起来,无法被合理利用而产生效益。 2 1 2 砒a 的优点 与传统网络技术相比,r i a 技术具有很多优点。r i a 解决了许多传统网络技 术所固有的缺陷。传统网络技术与r i a 技术的比较如表2 1 所示。 表2 - 1 传统网络技术与r i a 的比较结果 4 1 传统网络的缺陷r i a 解决的问题 请求响应网页渲染模式;缺乏客户端数据为运行代码、内容和通信提供有效和高性能 存储;表现不佳。 的表现。 分割成许多不同的技术并且彼此之间缺乏 整合内容、通信和应用接口构成一个共同的 交互环境。 对大规模应用来说缺乏面向对象设计方法。为交互提供强大和可扩展的对象模型。 对富互联网应用来说缺乏简单的组件驱动通过组件和再利用可以启用快速应用开发。 工具。 缺乏对离线的支持。接受连接和断开的用户。 由表2 1 可见,r i a 具有传统网络所没有的优势,r i a 可以为组织和个人提 供一种经过验证的、有成本效益的方式。r i a 为构建基于r i a 的w e b 应用的组织 提供的益处有: 1 为用户提供更加丰富、更加引人入胜的体验。 2 与用户不断出现的预期保持同步。 3 提高客户忠诚度并产生更高的利润。 4 可以利用现有人员、进程和基础结构。 6 2 2a d o b ef l e x 概述 f l e x 是a d o b e 公司开发的支持r i a 开发和部署的技术产品,主要面向企业级 的应用。借助于f l e x 的强大功能,能够开发出更富有交互性和更好用户体验的r i a 应用。 2 2 if l e x 框架 f l e x 的基本架构f 5 】包括4 部分,以f l e x 3 为例,如图2 1 所示。 图2 1f l e x 基本架构 f i g u r e2 - 1t h eb a s i cs t r u c t u r eo ff l e x 1 f l e xs d k3 a d o b ef l e xs d k 是f l e x 的标准开发套件,包含f l e x 框架、f l e x 类库、m x m l 和a c t i o n s c r i p t 3 0 编译器。f l e x 框架是基于组件的开发框架,用于运行r i a 应用 程序。m x m l 和a c t i o n s c r i p t 3 0 是开发f l e x 应用所需的语言。 2 f l e xc h a r t i n g3 a d o b ef l e xc h a r t i n g 是一组扩展的f l e x 组件。该图表组件提供丰富的交互式 图表和图形库,支持丰富数据显示和交互数据分析。这些组件经常用于企业级开 发当中的数据分析和数据展示。 3 l i v e c y c l ed a t as e r v i c e s3 a d o b el i v e c y c l ed a t as e r v i c e s 的前身是a d o b ef l e xd a t as e r v i c e s 。l i v e c y c l e d a t as e r v i c e s 提供了一组与服务端进行数据交互的方式。l i v e c y c l ed a t as e r v i c e s 7 提供完全基于h t t p 请求响应机制的交互方式、基于r t m p 协议和基于a m f 协 议的数据访问技术。 4 f l e xb u i l d e r3 a d o b ef l e xb u i l d e r 是基于e c l i p s e 的集成开发环境,通过f l e xb u i l d e r ,可以迅 速开发基于f l a s h 平台的r i a 应用。f l e xb u i l d e r 可以运行在w i n d o w s 、l i n u x 和 m a c 平台之上。基于e c l i p s e 的集成开发环境使得构建基于组件的f l e x 应用程序变 得更加容易。a d o b e 提供了独立的开发环境f l e xb u i l d e r 和基于e c l i p s e 的插件f l e x b u i l d e re c l i p s ep l u gi n ,使开发人员更容易使用开发工具快速开发f l e x 应用。在 2 0 0 9 年6 月1 日,a d o b e 发布了新版本的f l e xb u i l d e r ,新版本正式更名为f l a s h b u i l d e r 。 2 2 2m x m l 语言 m x m l 6 是f l e x 应用程序用于描述界面组件布局的语言。在f l e x 技术中, m x m l 用于设计用户界面,实现丰富的f l e x g - - 莨现层。m x m l 提供了很丰富的界面 组件,除了可视化组件,用户还可以通过m x m l 来显示的定义应用程序的非可视 方面,例如访问服务端数据源和用户界面组件与数据源之间的数据绑定。 m x m l 基于x m l ,遵循w 3 cx m l 标准,所以也可以把m x m l 看作是普通 的x m l 文件,可以使用任何的文本编辑器编辑m x m l 。m x m l 的编写同样类似 于h t m l ,它通过标签来定义和描述组件。下面就是一个m x m l 的例子,包含标 签、属性、命名控件等。 与h t m l 不同,m x m l 借助x m l 的规范拥有更强的结构和更少的语法歧义。 像h t m l 一样,m x m l 提供用户界面标签。使用过h t m l 的人会觉得m x m l ! e 常熟 悉。然而,m x m l l t h t m l 更结构化,提供更丰富的标签集。例如:m x m l 包括 了许多可视化标签如:d a t a g r i d 、t r e e 、t a b n a v i g a t o r 和m e n u 及服务器连接、数 据绑定、动画效果等非可视化标签,这些都属于f l e x 标签集,也可以使用自定义标 签扩展m x m l 。 m x m l 与h t m l 最大的不同是m x m l 定义的用户界面被编译成s w f 文件并使 用f l a s hp l a y e r 运行,可以提供比基于h t m l 页面应用程序更丰富、更动态的用户界 面。 8 2 2 3 a c t i o n s c r p t 语言 a c t i o n s c r i p t3 0 是一种功能强大的编程语言,负责f l e x 应用的业务逻辑的实 现和应用程序的控制【7 1 。用户通过使用m x m l 和a c t i o n s c r i p t 共同完成f l e x 应用 的开发。 a c t i o n s c r i p t 是f l a s hp l a y e r 运行环境的编程语言,主要应用于f l a s h 动画和f l e x 应用的开发。a c t i o n s c r i p t 实现了应用程序的交互、数据处理和程序控制等诸多功 能。a c t i o n s c r i p t 的执行是通过f l a s hp l a y e r 中的a c t i o n s c r i p t 虚拟机( a c t i o n s c r i p t v i r t u a lm a c h i n e ) 实现的。a c t i o n s c r i p t 代码通常被编译为a b c 字节码,执行时与 其他资源以及库文件一同编译为s w f 文件,在f l a s hp l a y e r 中运行。 随着f l a s h 和f l e x 的发展,a c t i o n s c r i p t 也不断地发生变化。从a c t i o n s c r i p t1 0 、 a e t i o n s c r i p t2 0 到现在的a c t i o n s c r i p t3 0 ,a c t i o n s c r i p t 逐渐成为功能强大、符合 规范的编程语言。a c t i o n s c r i p t 3 0 不同于以前的版本,a s 3 是一种完全面向对象的 语言。 2 2 4f l e x 与f l a s h f l a s h 与f l e x 有着千丝万缕的联系,以下几点说明了两者的相同之处【8 】: 1 f l a s h 与f l e x 最终都产生s w f 文件,在f l a s hp l a y e r 虚拟机上运行。 2 f l e x 与f l a s h 的最新版本都使用a c t i o n s c r i p t 3 0 作为自己的脚本语言。 3 用户交互都是事件驱动的模型。 4 都是基于矢量图形技术的组件技术。 在f l a s hm x2 0 0 4 的时候,f l e x 推出了第一个版本的f l e x1 0 。可以说,f l e x 的发展完全是依赖于成熟的f l a s h 技术。随着f l e x 版本的升级,f l e x 技术已经成 为区别于传统f l a s h 技术的一个完整体系。 同时,由于f l e x 与f l a s h 的市场定位的不同,这两个产品也有一定的区别。 f l a s h 的定位足面向内容和小型应用程序的设计者和开发者,f l e x 的定位是针对企 业级富互联网应用程序的设计者和开发者。 f l a s h 的编程模型是基于时间线的,对于页面设计人员而言,这样的模型更容 易被使用;对于开发人员而言,f l e x 当中的组件模型更容易理解。f l e x 的编辑环 境是基于e c l i p s e 的f l e xb u i l d e r ,更符合开发人员的使用习惯,尤其是j a v a 开发 人员;f l a s h 的开发环境是基于时间轴的i d e 环境,更容易被设计人员接受。 进行r i a 应用开发使用f l e x 效率会大大提高。同样,开发一个面向数据管理 的大型应用,使用f l e x 更符合开发人员的习惯,效率也比f l a s h 高出许多倍。但 9 是如果想要得到更多丰富的交互方式就要借助f l a s h 。使用f l a s h 可以制作出很多 精美的动画效果、效果丰富的交互式效果,而这些对于f l e x 而言几乎是不可能完 成的。 2 2 5f l e x 的成功应用 随着f l e x 的不断发展,许多公司和组织开发出了优秀的f l e x 应用,这些应 用能帮助我们更好的了解f l e x 。a o l 、e b a y 、p a y p a l 、b u s i n e s so b j e c t s 、s a p 、 y a h o o ! 和s a l e s f o r c e t o m 纷纷发布基于f l e x 开发的应用。下面是一些公司的成功 应用。 1 a d o b eb u z z w o r d b u z z w o r d 是使用a d o b ef l e x 构建的一个基于w e b 的字处理器。b u z z w o r d 看 起来和用起来都像一个正规的字处理器,但是它是一个在w e b 浏览器中运行的应 用。b u z z w o r d 结合了桌面字处理器的丰富用户体验和其它基于w e b 的字处理器的 随处访问和协同工作的能力。 没有其它的在线字处理器可以提供像b u z z w o r d 这么丰富的用户体验,因为在 线字处理器受到h t m l 和j a v a s c f i p t 功能的限制。 b u z z w o r d 为使用a d o b ef l e x 构建一个真正的富互联网应用提供了一个出色的 样板。 2 s a ps p e n d a n a l y t i c s 在s a p 提高产品用户界面质量的计划中,使用f l e x 构建客户端界面是一个关 键部分。s p e n da n a l y t i c s 是s a p 开发的第一个完全使用f l e x 的软件,用作统计和 分析支出数据。 3 册p r i n ts t u d i o h pp r i n ts t u d i o 是h p 采用f l e x 开发的一个优秀的应用。给用户带来了很美妙 的体验。 2 3a d o b ea i r 概述 2 3 1a d o b ea i r 介绍 浏览器已成为交付许多应用程序的首选方式,因为它可以很容易跨操作系统 进行部署并可以简化应用程序的维护。另外,在浏览器中使用的现代编程语言支 持快速的应用程序设计和开发。 l o 通过提供相同的应用程序开发和部署益处,同时添加桌面集成、本地数据访 问,a d o b ea i r 很好地补充了浏览器。 a d o b ea i r 9 1 使开发人员能够使用w e b 技术来构建可部署到桌面并跨操作系统 运行的丰富互联网应用程序。 a d o b ea i r 使用与构建w e b 应用程序相同的技术,因此开发和部署可以快速 而低风险地进行。可以使用现有w e b 开发资源创建引人入胜的应用程序,这些应 用程序可以在所有主要桌面操作系统上运行。 浏览器中的r i a 和桌面的r i a ( a i r ) 有很多相似点,同时也有一些不同。浏 览器中的r i a 与桌面的砒a 的功能比较如表2 。2 所示。 表2 - 2 浏览器中的l u a 与桌面的r i a 的功能比较 功能浏览器中的r i a桌面的r i a ( a i r ) 应用程序交付可以轻松地使用应用程序。已安装的应用程序拥有更强大的持久 性、能力和功能。 安装无需应用程序安装。应用程序可从浏览器中安装或像传统 的桌面应用程序一样下载和安装。 应用程序通过将新内容推送到某个网a i r 提供a p i ,它使得可以像将新内容 站,更新应用程序推送到某个网站一样轻松地更新应用 程序。 支持多个操作在多个操作系统和浏览器上a i r 应用程序是跨平台的,因此可以 系统运行应用程序。在多个操作系统上安装和运行。 编程语言 j a v a s c r i p t 由浏览器提供, 集成的j a v a s c r i p t 和a c t i o n s c r i p t a c ti o n s c r i p t 由f l a s h 虚拟机与浏览器兼容。 p l a y e r 提供。 后台功能r i a 仅可以在浏览器中运行。应用程序可以在后台运行,也可以像 传统的桌面应用程序一样提供通知。 持久性活动仅限于浏览器会话。当浏 r i a 可在桌面安装并可用。它们在本 览器关闭时,信息会丢失。地存储信息并脱机操作。 桌面集成应用程序已沙箱化,因此桌面应用程序可以访问某个桌面文件系 集成受到限制。 统、剪贴板、拖放事件等。 数据存储应用程序具有有限的本地存 应用程序拥有无限制的本地存储和对 储,可能会遭到浏览器的破本地数据库的访问权限,以及加密的 坏。 本地存储。 从表2 2 可以看出,a d o b ea i r 有很多有特色的功能。使用a d o b ea i r 可以: 1 使用a d o b ea i r 技术,开发基于r i a 的桌面应用。 2 借助桌面功能交付卓越的用户体验。 3 利用现有的人员、进程和基础结构。 4 与现有的客户建立一种更持久的联系。 2 3 2 灿r 成功应用 由于a d o b ea i r 优异的表现,得到了许多公司的认可,现在已经有很多成功 的应用。具体的应用简述如下: 1 g o o g l e a n a l y t i c sa i r g o o g l e a n a l y t i c s a i r 基于a d o b e a i r 开发,它主要用于网站流量分析。g o o g l e a n a l y t i c sa i r 可以使网站管理者直接在桌面上查看网站流量统计。这个程序支持 g o o g l e 用户,你可以看到所有访问者、流量、内容访问报告等。标签式界面方便 用户查看不同报告,在每个报告中,你都可以查看到具体的数据段,该程序提供 动画式交互图表,你也可以迅速把交互式报告转换成p d f 格式的报告,这种p d f 报告可以像所有p d f 文件一样保存和打印,报告还可以输出成其他格式如e x c e l 或x m l 。 2 e b a yd e s k t o p c b a yd e s k t o p 是构建于a d o b ea i r 技术的一个应用程序,该程序创建了e b a y 客户端与服务端的链接。这样e b a yd e s k t o p 就可以将产品的供货和拍卖等信息实 时地发布给客户,客户不需要打开浏览器就可以获取最新的买卖信息。 2 4r j a 的其他主流技术 2 4 1 a j a x 简介 a j a x 全称为“a s y n c h r o n o u sj a v a s c r i p ta n dx m l ”( 异步j a v a s c r i p t 和x m l ) 。 a j a x 诞生于2 0 0 5 年,是一种创建交互式网页应用的网页开发技术,一出现就引发 了a j a x 热潮。 简单的说,a j a x 是一种w e b 交互的方法。这种方法是在客户端和服务端之间 传输少量的信息,从而给用户提供响应最及时的体验。 a i a x 的原则【1 0 】是:用户至上;尽量减少通信量;优化资源;可访问性;避免 下载整个页面:无干扰。 1 2 j e s s ej a m e sg a n c t t l 的文章中提到了几个他认为是a j 缸解决方案的组成部分的 技术。它们包括:h t m l x h t m l ;主要的内容表示语言;c s s :为x h t m l 提供 样式定义:d o m :对己载入的页而进行动态更新;x m l :数据交换格式:x s l t : 将x m l 转换为x h t m l ;x m l h t t p ;主要的通信代理;j a v a s c r i 衅:用来编写a j a x 引擎的脚本语言。 有许多商业性的网站已经在使用a j a x 来改进用户体验。下面是一些使用a j a x 的运行良好的著名w e b 应用程序。 l g o o g l e g m a l l g o o g l e 的免费电子邮件服务g m a i l 已被当作川r x 时代客户端服务端交互的 奇迹而r 为宣传。当你第一次登录g m a i l 时,应用程序所使用的某一个i f i a m e 将 会载入用户界而引擎以后所有与服务端交互的请求都将由这个用户界面引擎通 过x m l h t t p 对象来完成,往返传输的数据是j a v a s c f i p t 代码,被浏览器下载后能 够快速地执行。这些请求作为对用户界面引擎的指令

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论