`
Classicning
  • 浏览: 256650 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

平台的大战:RIA

    博客分类:
  • WEB
阅读更多
都说2007年成为RIA的一年,Ajax为代表的传统浏览器端技术将开始萎缩,以SilverLight和Apollo(AIR)为代表的RIA技术将开始成为主导。

看一下这一路以来的发展吧。
IE在客户端的大占有量和互联网的发展早就了B/S架构的辉煌,相较与C/S,其最大的优势就在于客户端平台的广泛性、通用性。最终用户通常不用再安装任何客户端软件就能使用该系统。同时,B/S架构也通过浏览器实现了客户端的跨操作系统。由此,各种Web前端技术开始大行其道,XHTML+CSS+JavaScript成为浏览器端开发的首选。

但是浏览器端的天生不足使此类程序在用户体验和终端的控制能力方面要比C/S架构弱了许多。在这种情况下,Ajax技术应运而生,旨在提高浏览器端的用户体验,说白了就是让最终用户在浏览器中操作时有普通客户端的感受。

不过,功能强大一步,就带来不兼容的问题。在各个浏览器之间,JavaScript和CSS的解析有比较大的差异。于是出现了很多为适应不同浏览器而进行的工作——CSS的hacks以及JavaScript各种各样的浏览器判断。

终于当人们不再满足与浏览器端较弱的表现能力和控制能力时,2007年,RIA技术开始成为焦点。

Adobe的Apollo基于Flash现有的广泛的平台,试图重振Flash系列技术在Web上的主导地位。而微软则以新发布的Vista和.NET Framework为依托,推出SilverLight平台。Sun也不甘示弱,最近展示的JavaFX也将成为这个领域的一个重要角色,而它依托的是Java的JRE平台。

其实,说到这里就很明确了。RIA确实增加了客户端的控制能力、表现能力、用户体验等等,但是一切的一切是以平台、牺牲通用性为代价的。要想实现RIA,就必须有广泛的平台基础。从这一点上说,Adobe拥有最广泛的Flash平台,从Windows到Linux,现在基本上有浏览器能上网的地方,都有Adobe Flash Player的身影,这是绝对的优势。而微软方面,毫无疑问要依靠Vista的推广来坚定他的RIA路线了,目前恐怕还难以预测Vista将在什么时候彻底取代XP成为主流,另一方面.NET Framework在已有的XP用户中推广也可能遇到Sun推广JRE一般的尴尬,也就无法确定微软RIA的前景。最后Sun的就显得弱势一些了,Java平台目前在最终用户中的普及率低的可怕,即便是JRE缩水到2-4M,也不能直接保证它的顺利分发,最终普及应用恐怕还是任重道远。另一方面不可忽略的是,Linux的用户越来越庞大,微软至今对此仍然无动于衷,选择SilverLight,就意味着完全抛弃这一部分用户,在小范围尚且可以,但是对于大型的公众应用来说,这就是绝对不合适的了。

为了实现跨平台易分发的传统B/S架构,如果真的被RIA取代,不能不说是人们观念上的一个改变:更加重视用户体验,而不是片面地强调平台的移植性(为了能让程序在IE中顺利运行而放弃原本可以在Firefox中更加好的实现,对于Firefox用户无疑是不公平的)。某种程度上说,RIA就是一种改进的C/S架构,也就是C/S重回主流的希望。不同于传统C/S几乎完全抛弃跨操作系统,RIA们顺应潮流在操作系统之上封装自己的平台,用以隔离操作系统的不同,因此Runtime成了必需。而没有Runtime的用户呢,运行都难以实现,更何谈体验?即使开发人员为了满足所有的用户需求,一口气开发了毫不相关的Apollo、SilverLight、JavaFX三个版本的客户端,也不能确保完全没有问题,因为可能还有那么一部分用户他们什么都没有。

说白了,就是平台,得平台者得天下。这一点,看微软手中的Windows和.NET Framework的不断发展和增强,看Adobe(Marcomedia)在无操作系统支持的不利情况下占据和扩展的Flash平台,再看Sun苦心多年不得要领的Java平台,可见一斑。RIA的大战就是平台大战,这场大战甚至可能会波及操作系统——当有一天RIA成为主流,在操作系统上层都是封装好的某个平台的时候,谁再去花钱购买那些昂贵的操作系统呢?
分享到:
评论

相关推荐

    坦克大战 基于FLEX开发的关键键盘事件

    Flex是基于ActionScript 3.0的开放源代码框架,用于构建富互联网应用程序(RIA)。在Flex中,处理键盘事件是实现游戏互动性的重要一环,特别是对于坦克大战这样的实时对战游戏来说,玩家通过键盘控制坦克的移动和...

    as3实现的坦克大战

    在游戏开发领域,ActionScript 3(AS3)是一种广泛使用的编程语言,尤其适用于创建富互联网应用程序(RIA),其中包括各种类型的互动游戏。本项目"as3实现的坦克大战"就是一个典型的例子,它利用AS3的强大功能,构建...

    flex开发的坦克大战游戏

    总结起来,Flex以其强大的图形处理能力、丰富的用户交互接口和便捷的MXML组件系统,为开发坦克大战这样的2D游戏提供了坚实的平台。通过巧妙运用Flex的各项特性,开发者可以构建出既具有趣味性又具有挑战性的坦克大战...

    AS3 坦克大战

    AS3是Flash Professional和Flash Builder等工具中的主要编程语言,用于创建互动式的网页内容、动画以及丰富的互联网应用程序(RIA)。 在AS3中,游戏的核心机制通常由以下几个关键知识点组成: 1. **对象和类**:...

    纯html5实现简单气球大战小游戏特效源码.zip

    JavaScript是一种解释型的、跨平台的脚本语言,常用于网页交互和动态效果。在气球大战游戏中,JavaScript起着至关重要的作用: 1. **事件处理**:JS可以监听用户输入,如键盘操作、鼠标点击,从而响应游戏中的动作...

    坦克大战 经典小游戏 Java+FLEX编写源程序

    而FLEX则是一种用于构建富互联网应用程序(RIA)的框架,主要应用于创建动态、交互性强的前端界面。 首先,让我们深入了解一下Java在游戏开发中的应用。Java以其“一次编写,到处运行”的特性,成为开发跨平台游戏...

    基于HTML5和NodeJs的网络版坦克大战.zip

    这些特性使得HTML5成为构建富互联网应用(RIA)的理想选择。 【标签】"html5 网页 多媒体"强调了项目的核心组成部分。HTML5的多媒体支持是其一大亮点,通过内建的音频和视频标签,开发者可以轻松地将多媒体内容嵌入...

    PvZFlash

    《植物大战僵尸》是一款深受玩家喜爱的塔防类游戏,其Flash版本——PvZFlash,为玩家提供了在网页上体验这一经典游戏的途径。在本文中,我们将深入探讨PvZFlash的开发背景、技术栈以及如何使用Intellij Idea ...

    AS游戏编程指南

    - **游戏案例教材**:教材通过一系列游戏案例,如“御空加农炮”、“坦克大战”、“魔法色块”等,教授游戏开发的关键技术和最佳实践。每个案例都涵盖了游戏设计、程序编码、测试调试的全过程,帮助开发者深入理解...

    毕业设计论文

    在毕业设计论文中,作者采用ActionScript 3.0作为编程语言,开发了一款基于Flash平台的交互式坦克大战游戏。ActionScript 3.0是Adobe Flash Player支持的面向对象的编程语言,它在富互联网应用程序(RIA)开发中扮演...

Global site tag (gtag.js) - Google Analytics