这个问题其实我想了很久,一直没什么答案。前天和堂弟Lonce作了一些讨论,Lonce还给了我大量Flex的资料。在这里先写些个人零散的想法。
现 在的网络应用,服务器端的技术越来越发达,客户端技术越发展很慢,使得客户端越来越显得“瘦”。用户采用浏览器来访问网站,得到的体验非常初糙。基于 B/S架构的应用在互动性,用户体验上远远不如C/S架构的软件。例如上网页上完全没有办法做出一个像QQ这样的即时通讯软件,点击按钮可以即时响应,好 友上线即时通知;没有办法在网页上进行清晰稳定的在线视频聊天;也没有各种方便的操作快捷键。虽然一些RIA技术可以部份模拟,但是差距仍然非常大这里面 有HTTP协议的原因,浏览器的原因,也有HTML的原因。但我绝对相信,随着网络的发展,网络将取代PC成为信息储存,传播的主要平台,今后的网络软件 使用会和现在在PC上操作各种本地软件一样方便快捷,这是迟早的事。
有个很意思的例子,像水木清华这样的BBS (www.newsmth.net),同时提供WEB和Telnet两种访问方式,正好可以类比现在的C/S,B/S两种模式。SMTH的WEB和 Telnet式都有各自忠实的用户群,而且互相都觉得自己的方式是较好的。针对这两种访问方式的优劣,也有过很多激烈的辩论。我个人喜欢Telnet方 式,即时响应,还有各种快捷键,非常方便,用一段时间就成了习惯。
条条大道通罗马,如何实现网络软件与传统的桌面软件的融合,有各种各样的技术可以实现。谁代表未来的方向呢?看看RIA的主流实现技术和它们的特点:
1。Macromedia Flash/Flex
需 要插件(Flash播放器),但根据Macromedia的说法,全球98%的浏览器都内嵌了Flash Player,所以基本上用户不用安装额外的插件。Flash还有个很大的优势,就是集成多媒体应用的能力比较强,在未来PC性能大增强,网络带宽成千数 百倍的增大的情况下,影音视频,虚拟现实技术等都必然被大量地使用,而Flash,很可能就是一个很好的传播平台。
2。Laszlo
XML描述界面,编译生成Flash,兼容性好,但开发效率较低
3。Microsoft Avalon (XAML)
Microsoft的Longhorn操作系统自带的用户界面标记语言,依赖于操作系统。
4。XUL
XUL也是个非常不错的技术,我也尝试过用PHP+XUL做过客户端的UI,效果挺不错的,可惜XUL是Mozilla浏览器所特有的,不能在所有客户端运行,只能作一些客户端可控的应用,如企业内部应用(可以人为地限定客户端浏览器)。
5。Bindows (XMLHTTP,AJAX)
这是目前最通用的解决方案,所有浏览器都默认支持JavaScript,所以是真正的零客户端。目前最热门的WEB技术之一。
以 上可以看到,目前和短期内RIA领域还将保持百花齐放的形势,各种技术基本上都依赖于客户端的插件,浏览器或者操作系统,没有哪种技术可以通吃各种系统, 一统天下。就目前来说,AJAX和Flas/Flex可能是最好的选择,Google Map使用了AJAX技术,而Yahoo! Map则选择了Flash,这两者似乎代表了一些思想和技术上的趋势。
另外,RIA一定要基于现在的网页浏览器吗?未必,RIA的根本目 的在于提高终端的客户体验。只要能达到这个目的,用什么技术和软件都可以。也许将来会出现优于HTML,全球通用的数据描述语言;出现一统天下的WEB Browser(不是Webpage Browser,因为以后的远程数据可能不是一页页地呈现在用户面前);未来我们访问和操作远程服务器上数据会像在自己的机子上一样快捷方便。
无论如何,未来的RIA技术需要具有的特点有:
1。通用性,所有用户平台(操作系统或浏览器)都支持;
2。开发效率高;
3。多媒体集成能力强,给用户良好的体验。
现 在的网络应用,服务器端的技术越来越发达,客户端技术越发展很慢,使得客户端越来越显得“瘦”。用户采用浏览器来访问网站,得到的体验非常初糙。基于 B/S架构的应用在互动性,用户体验上远远不如C/S架构的软件。例如上网页上完全没有办法做出一个像QQ这样的即时通讯软件,点击按钮可以即时响应,好 友上线即时通知;没有办法在网页上进行清晰稳定的在线视频聊天;也没有各种方便的操作快捷键。虽然一些RIA技术可以部份模拟,但是差距仍然非常大这里面 有HTTP协议的原因,浏览器的原因,也有HTML的原因。但我绝对相信,随着网络的发展,网络将取代PC成为信息储存,传播的主要平台,今后的网络软件 使用会和现在在PC上操作各种本地软件一样方便快捷,这是迟早的事。
有个很意思的例子,像水木清华这样的BBS (www.newsmth.net),同时提供WEB和Telnet两种访问方式,正好可以类比现在的C/S,B/S两种模式。SMTH的WEB和 Telnet式都有各自忠实的用户群,而且互相都觉得自己的方式是较好的。针对这两种访问方式的优劣,也有过很多激烈的辩论。我个人喜欢Telnet方 式,即时响应,还有各种快捷键,非常方便,用一段时间就成了习惯。
条条大道通罗马,如何实现网络软件与传统的桌面软件的融合,有各种各样的技术可以实现。谁代表未来的方向呢?看看RIA的主流实现技术和它们的特点:
1。Macromedia Flash/Flex
需 要插件(Flash播放器),但根据Macromedia的说法,全球98%的浏览器都内嵌了Flash Player,所以基本上用户不用安装额外的插件。Flash还有个很大的优势,就是集成多媒体应用的能力比较强,在未来PC性能大增强,网络带宽成千数 百倍的增大的情况下,影音视频,虚拟现实技术等都必然被大量地使用,而Flash,很可能就是一个很好的传播平台。
2。Laszlo
XML描述界面,编译生成Flash,兼容性好,但开发效率较低
3。Microsoft Avalon (XAML)
Microsoft的Longhorn操作系统自带的用户界面标记语言,依赖于操作系统。
4。XUL
XUL也是个非常不错的技术,我也尝试过用PHP+XUL做过客户端的UI,效果挺不错的,可惜XUL是Mozilla浏览器所特有的,不能在所有客户端运行,只能作一些客户端可控的应用,如企业内部应用(可以人为地限定客户端浏览器)。
5。Bindows (XMLHTTP,AJAX)
这是目前最通用的解决方案,所有浏览器都默认支持JavaScript,所以是真正的零客户端。目前最热门的WEB技术之一。
以 上可以看到,目前和短期内RIA领域还将保持百花齐放的形势,各种技术基本上都依赖于客户端的插件,浏览器或者操作系统,没有哪种技术可以通吃各种系统, 一统天下。就目前来说,AJAX和Flas/Flex可能是最好的选择,Google Map使用了AJAX技术,而Yahoo! Map则选择了Flash,这两者似乎代表了一些思想和技术上的趋势。
另外,RIA一定要基于现在的网页浏览器吗?未必,RIA的根本目 的在于提高终端的客户体验。只要能达到这个目的,用什么技术和软件都可以。也许将来会出现优于HTML,全球通用的数据描述语言;出现一统天下的WEB Browser(不是Webpage Browser,因为以后的远程数据可能不是一页页地呈现在用户面前);未来我们访问和操作远程服务器上数据会像在自己的机子上一样快捷方便。
无论如何,未来的RIA技术需要具有的特点有:
1。通用性,所有用户平台(操作系统或浏览器)都支持;
2。开发效率高;
3。多媒体集成能力强,给用户良好的体验。