您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[InfoQ]:富互联网应用之美 - 发现报告
当前位置:首页/行业研究/报告详情/

富互联网应用之美

信息技术2023-08-30InfoQJ***
富互联网应用之美

免费在线版本 (非印刷免费在线版) 了解本书更多信息请登录本书的官方网站 InfoQ中文站出品 本书由InfoQ中文站免费发放,如果您从其他渠道获取本书,请注册InfoQ中文站以支持作者和出版商,并免费下载更多InfoQ企业软件开发系列图书。 本迷你书主页为 http://www.infoq.com/cn/minibooks/beautiful-ria 序一 富互联网应用,或者叫做RIA,具备真正的革命性的在线用户体验。Macromedia在十多年前提出了这个词条,当时最多的想法是,这是一个错字。但是在短短几年之后,RIA在应用开发领域就证明了自己的地位和价值,迸发出迷人的光彩,并且让所有人都从中获益。 RIA是多种技术的组合,这些技术相辅相成,以平滑透明的方式工作,创建更好的用户体验。RIA充分利用了互联网的普及程度和应用范围。RIA技术可以充分发挥计算机及其相关设备的能力,智能地为客户推送最合适的功能。RIA摆脱了严重制约Web功能的松散耦合的页面模型,取而代之的是类似传统桌面应用的用户体验。最重要的是,RIA提供了全方位的更好的用户体验。 RIA已经被不计其数的后端系统和技术应用,从商业到开源,从遗留系统到尖端应用,从复杂到简单,几乎无所不包。但是RIA真正的应用领域是客户端,在这个领域,开发人员可以有两个选择。Flash平台(包括浏览器中的Flash播放器和桌面的AIR客户端应用)帮助定义了RIA应用空间,在很多场景和开发者中保持了领先地位。最近,随着Ajax技术(这也暴露了之前没有充分利用Web浏览器的能力)的出现,并逐渐转向HTML5,Web浏览器自身也成为了适合RIA应用的开发平台。 需要着重提出的是,HTML和Flash都是非常有价值的开发工具,它们的目的是相辅相成。Flash的工作经常是HTML无法完成的。Flash扩展Web浏览器,而不是取代它,开发者需要同时学习这两种技术,包括如何使用这两种技术解决那些单一技术无法解决的问题。 Adobe(几年前与Macromedia合并了)占据了RIA领域的主导地位。Flash播放器仍然是下载次数最多的独立软件。现在Flash可以运行在所有主流平台和主要设备上,很显然,基于Flash进行RIA开发是很多开发人员的首选。有了针对设计人员的FlashProfessional、针对开发者的FlashBuilder、针对简单应用工作流的FlashCatalyst这一系列产品,Flash在RIA领域的领头羊位置是无可争议的。同时,Adobe全面支持和鼓励基于HTML的RIA开发,类似Dreamweaver功能,我们即将到来的HTML交互设计工具(还未命名),基于jQuery的工作等等。Adobe致力于创建和提升开发工具的功能,使得开发人员和设计人员能够更有效地构建未来的富互联网应用,特别是那些目标桌面系统和相关设备。 不过,正如我们提到的,我们不是一个人在战斗!Adobe在持续为RIA开发创建最好的工具的同时,我们必须从社区吸取营养,帮助我们定义和创建知识体系,从而帮助更多的开发者 和设计者走向成功。 这就是为什么我很高兴看到这个迷你书项目的原因:高度聚焦在RIA领域,提供开发人员需要的支持,训练他们的技能,帮助他们在激烈的竞争中取得成功。过去几年我有幸频繁地访问中国,认识了很多本地的开发者和设计者。随着每次访问,我越来越被会场中展现出来的技术、能力和激情所感动。考虑到中国有庞大的Flash和Web开发社区,我非常高兴能够看到这样一个可以满足这样重要需求的出版物出现。 BenFortaAdobe全球平台技术推广总监 序二 为这本迷你书写序,似乎是我的宿命。由于工作原因把这个任务推迟了一段时间之后,后果居然是不仅写了序,还成为了另一篇序的译者。 互联网10年,始于2000年。对于互联网来说,那是个最好的年代,也是最坏的年代。互联网泡沫的破灭并没有湮灭技术与创新的光辉,反而为今后的发展打下了坚实的基础。随后互联网开始了10年的高速发展。时至今日,互联网像一条巨大而充满吸力的纽带,把各种IT服务相关的技术、应用和实现都吸引过来,形成了一个完整而庞大的互联网生态圈。在这十年中,互联网从不缺乏优秀的技术创新,其中RIA(富互联网应用)及其相关技术便是其中重要的组成部分。 在RIA的江湖中,曾经有一个三足鼎立的传说。那就是Adobe公司的Flex,微软公司的Silverlight和Java阵营的JavaFX。Flash由于FlexSDK的支撑,很早就从单纯的动画展示转入RIA领域,而且由于Flash的普及(Flash播放器是下载次数最多的独立软件),Flex目前应该是三大技术体系中市场份额最大、应用最广泛的技术;Silverlight是微软推出的跨浏览器和跨平台的插件,能在微软的.NET上交付炫目的多媒体体验和有丰富交互功能的Web应用,已经对Flex有了很大的冲击;JavaFX是未被收购前的Sun公司在2007年推出的用来对抗Flex和Silverlight的桌面应用。 我个人一度对JavaFX的原生调用机制充满幻想,认为它与JavaEE的结合会为Java社区的RIA企业应用带来很大的生产力,但是非常遗憾,随着Sun公司的没落,JavaFX也日渐式微。从这本迷你书也可以看出这一点,在实际应用中已经很少谈及JavaFX了。Silverlight由于其技术定位的原因,应用更多的局限在.Net阵营。那是否意味着Flash/Flex技术已经一家独大了?技术领域从来不缺乏竞争者。AJAX技术一直在与Flex一起支撑和丰富着RIA的应用,包括互联网和企业级应用。随着jQuery、Ext等优秀的AJAX框架兴起,它们已经可以完成更多的之前只能由Flex完成的RIA体验,但是似乎还不能撼动Flex的霸主地位。直到HTML5及其相关技术的出现,格局打破了,Flex的危局到来了么? HTML5的出现,像一道亮丽的风景线,打破了RIA领域的格局。大家开始真正的认识到,Web浏览器才是不折不扣的最大的开发平台。HTML5同样咄咄逼人,其特征之一就是减少浏览器对外部插件的需求(比如Flash)。当然,Flash/Flex的特点之一也是完成HTML无法完成的工作,不过,现在这一点还是真的吗?HTML5提供了更优秀的Web元素处理机制,提供用于绘画的Canvas元素,用于媒体回放的Video和Audio元素,提供对本地离线存储的 更好支持,提供针对移动设备的支持等等。HTML5似乎无所不能,Flex感到危机了吗? 就我个人的视角,HTML5具备了与Flex竞争的能力和资格,但是现阶段Flex依然是RIA领域的老大。HTML5的优势在于创新性的利用了浏览器自身的能力,而且有业界最富创新精神的公司苹果和谷歌的大力推进。Flex的优势在于市场占有率,及其对游戏交互、视频和文档处理能力。浏览器的因素同样不可忽视。目前市场上占据浏览器最大份额的IE浏览器的所有版本都不能完全支持HTML5特性,除了还未发布的IE9。而其他浏览器,Chrome、Firefox、Safari和Opera正在快速抢占浏览器市场,而且这些浏览器都在积极的支持HTML5特性。浏览器之争会很大程度上影响RIA和HTML5的竞争走向,包括HTML5的普及程度。 作为从业者,无论你想挽救Flex的危局,还是参与HTML5的盛宴,无论是你想进入RIA领域,亦或已经置身其中,我都建议你仔细阅读这本RIA迷你书的每一篇文章,这些内容是RIA领域的专家和实际从业者的知识共享和经验总结,范围之广涉及趋势、技术、框架、语言、应用、性能等,实在是InfoQ为大家打造的一本居家学习之RIA必备读物。RIA技术之美,读起来很美! 池建强瑞友科技IT应用研究院任副院长、InfoQ架构社区编辑 目录 序一1 序二3 虚拟座谈会:RIA和AJAX技术的现状与展望6 AJAX应用开发:实践者指南14 案例研究:ECLIPSE富AJAX开发平台在CASSOFTWAREAG项目中的应用22 使用FLASHBUILDER4BETA进行数据为中心的开发32 FLEX技术在企业级开发中的应用38 高效率的超大规模FLEX开发48 SPRINGBLAZEDSINTEGRATION简介与入门56 JAVA程序员学习FLEX和BLAZEDS的十三个理由66 微软设计产品市场总监FORESTKEY谈SILVERLIGHT72 虚拟座谈:HTML5来了,JAVASCRIPT框架会如何发展75 RICHCLIENT/RIA原则与实践83 设计者-开发者工作流中的迭代模式98 虚拟座谈会:RIA和Ajax技术的现状与展望 作者ScottDelap译者王波 InfoQ曾经通过Email针对RIA和Ajax技术的现状和展望专门成立了虚拟小组。该小组召集了多位对社区有着卓越贡献的技术精英,对此进行了专门的访问。文中我们可以看到当时每位组员针对不同问题的答复,大家可以和现在RIA和Ajax的进行比较,可能会发现一些值得思考的地方。 最近,InfoQ通过Email针对RIA和Ajax技术的现状和展望专门成立了虚拟小组。该小组召集了多位对社区有着卓越贡献的技术精英,他们是: “ Mozilla公司开发工具主管DionAlmaerCurl公司的首席策略官JnanDash SFEIRAuthorOnGWT.com公司的首席技术官DidierGirardJavaWeb用户组创始人PeterPilgrim 微软客户端平台宣传部门主管TimSneath Adobe公司的富互联网应用宣传人员RyanStewart 随后,我们会看到每位组员针对不同问题的答复。 1.尽管RIA技术已经出现,但是Web还是由“页面”占主导而非“应用程序”。然而,去年随着网站对视频和交互浏览等嵌入了“迷你应用程序”,我们已经看到了这种现象正加速改变。而最终由RIA导致了这场变革。 Almaer:Web页总会占有一席之地,但我认同我们正朝着Web应用程序的时代迈进。当然, Web应用程序早已出现,但我们正经历着这场改变: 开发反应灵敏的Web应用程序技术还不成熟 Ajax勉强组合了一些技术和标准来给终端用户提供开发应用程序所需的简要工具 时至今日,Ajax就像第一架飞机那样。它们勉强的凑合在一起并发挥几分作用,但离理想的距离还很遥远。出现问题会让人非常惊讶,但毕竟这不是喷射机的时代。简洁实用的软件就让人心满意足了 Girard:互联网聚集了大量页面。这种情况已经持续多年了。但在最近的两年,我看到了企业开发的飞速发展。现在,大部分的应用程序都是单页面应用程序,而RIA才是它的核心。 Dash:我认为RIA在消费者当中还有很大的空间,特别是从静态可刷新页面转移到动态交互应用程序的要求非常强烈。对于企业级RIA,除了提供交互和可设定状态的交易应用程序外别无选择,这正是它们在客户端/服务器模型中过去常常用到的。然而,企业级RIA在美国还没起步。相反,我们在日本已经看到大量的企业在使用CurlRIA平台。 Sneath:回答这个问题相当困难,因为它基于“RIA”术语的业界标准假设。例如,长期以来我们身边出现了强大的互联网应用程序框架,我们推出ASP已经12年了,它提供了基于HTML的抽象层来跨页面支持状态属性,丰富的控件和在客户端/服务器开发之间的无缝开发。下个月AJAX就10岁了,随着IE5配备了第一个实现技术,这项技术后来作为某项标准而被采纳。 过去的20年间,最大的进步莫过于像Silverlight和Flex等框架提供的丰富图形功能,以及更加强大的编程工具和以往单单用HTML和JavaScript都难以实现的架构。我们终于可以集成媒体、控件、图像及编译代码并用互联网进行发布,同时给设计师和开发人员提供各式各样的工具。这些技术还不成熟,但是部分市场已经足够成熟来进行广泛的应用。 Pilgrim:我相信JavaFXRIA在去年底已经应用到桌面。我把它限定在桌面是因为我