Thinking in RIA Game

原创 2007年09月15日 11:45:00

  当 Google 和 Microsoft 不止一次的在各种场合强调“Online Software”概念的时候,一个强烈的信号提示整个软件产业——未来的应用软件世界将由浏览器唱主角。

  记得3年前刚接触到 Web 2.0 这个词的时候,仅仅是觉得“Web的秩序开始有人来治理了”,当人们还在争论着 Web 2.0 究竟是何物时,AJAX、RIA、Enterprise Web 2.0 等等一串的概念就扑面而来。一时间整个 Web 世界开始沸腾了,B/S架构的应用被各大、小厂商们视为争夺市场的法宝,人们发现BBS已经过时了,Wiki和Blog开始流行,Portal可以让人们随意定制了,似乎C/S变成落后技术的代名词,“什么?你们的软件还要安装客户端啊?”客户们开始抱怨那些需要安装客户端的软件,如果你现在再谈“客户端”只会让客户觉得你已经跟不上时代的步伐了。

  而当 Web 2.0 的 RIA 软件在企业级应用大行其道的时候,互联网用户的获益似乎还只能停留在 Portal、Blog上。而国内的游戏厂商对于 Web 2.0 的变革反应极其迟钝,当Adobe在其Flash技术上大肆开发Online Software时,当Apple在iPhone上彻底放弃J2ME时,有些国内厂商似乎才回过神来。但是,奇怪的事情还是发生了,当国外一个一个基于 RIA 和 Flash 的“无客户端”网络游戏成功的时候,当国外一个一个采用Java Applet 技术的游戏失败的时候,国内的厂商竟然将 Applet 重新搬了出来。Flash 不是 RIA,Applet 也不是 RIA,有些人已经输在了起跑线上。

  无论是 Flash 还是 Applet ,这些使用插件技术嫁接到浏览器上的产品,都不是今天的 RIA,丰富界面应用的产品。但是 Flash 是成功的,也是Onlien Software客户端的解决方案之一,而 Applet 似乎就没有这么乐观了,浏览器的支持永远都是 Applet 的诟病,而苹果在 iPhone 上放弃 J2ME ,转投 RIA 的怀抱再次说明了 Web 2.0 的生机和机遇——游戏不需要客户端,仅仅需要的只是浏览器。

  就技术而言,Flash 的画面表现力是最丰富的,而使用 JavaScript/DOM 的 传统 Web Game 明显没有任何优势可言,这就是为什么人们总是认为 Web Game 就只是“网页游戏”了。但是现在世界变了,浏览器的能力越来越强大,客户的机器配置越来越高,RIA Game 也开始流行了,如果你还在质疑采用 JavaScript + CSS 的 RIA Game 的游戏表现能力,那么看看 Archer B-Ware 吧;如果你还在认为开发 RIA Game 只能使用脚本语言,编写页面代码,那么看看 GWT 吧。当整个世界从C/S转到B/S的时候,你是不是已经被淘汰了?

  可以预期,由于网络带宽的限制 RIA Game 目前不可能出现 3D 游戏,RIA Game 的市场是 2D 游戏,而且主要是 2D 休闲游戏和中小型 MMORPG 游戏。相比使用 C/S 结构的 2D 游戏,RIA Game 除了不需要用户安装客户端、也不需要用户更新游戏程序以外,对于开发厂商来说极短的开发周期也是 RIA Game 的重要优势,无论采用何种开发方式 RIA Game 在开发和调试时间上都比 C/S 游戏短,对开发人员的开发门槛更低,尤其是和采用 C/C++ 开发的游戏相比。厂商能在很短的时间就同时推出多款 RIA Game ,而且更新灵活,你的客户经理也不会整天收到客户端无法使用的投诉邮件了。

  借着 Web 2.0 的东风 RIA Game 将开始逐渐流行,国外已经有很多成功的案例,相信不久国内也能看到自己的 RIA Game,它不是 Flash Game、Applet Game 或者 Web Game,是真正的“零端”网络游戏,让游戏玩家也能体验到“Enterprise Web 2.0”。

 
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

java学习笔记3-thinking in java

java学习笔记,摘自:thinking in java

Thinking In Java中初始化和清理中的一段代码

package com.kael; class Shape { Shape(int i) { System.out.println("Shape constructor"); } ...

Thinking in Java 第二章 一切都是对象

本人是汕头大学学生,现读大三。 在大二的时候就开始学习android,但是要学习好android,必须要学好java,于是我在那时候就开始学习java了。 在读完一本java简单入门后,开始一边学习a...

Thinking in Java笔记7

(第8章笔记)//集合可以用来容纳对象,但不能容纳基本数据类型,但可以容纳Integer,Double等 package com; import java.util.*; class Wee...

Thinking in C++读书笔记(三)---C++中的C

这章的名字虽然叫C++中的C,但是主体却是给我们介绍了很多C++中和C中原来不知道的只是,真心感觉C++/C的灵活和伟大。努力学习! 第三章 C++中的C 1 C++和C中的不同: 因为C++是向下兼...

Thinking in java-14 static 关键字

static关键字意义

Thinking in Java(7)-Guaranteeing proper cleanup

You can’t know when the garbage collector will be called,or if it will be called. So if you want som...

《Thinking in Algorithm》12.详解十一种排序算法

排序算法在算法中占着很重要的地位,很多算法的实现都是基于排序算法的(如搜索算法和合并算法)。所以排序算法也是笔试面试中必考内容。但是不管他怎么考,也就是那几种算法,一般不会超出我接下来要讲的这11种,...

Thinking in Java final关键字

P262 final关键字 根据上下文环境,Java的关键字final的含义存在着细微的区别,但通常它指的是“这是无法改变的。”不想做改变可能出于两种理由:设计或效率。由于这两个原因相差很远,所以关键...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)