Web应用是我极力倡导的一种应用程序模式,在这种模式下,客户端计算机上将不需要安装任何的软件,你所需要的就是一个浏览器。
我们现在的应用程序方式是把软件下载回来,然后把它安装在我们的计算机上,在桌面上放置一个快捷方式,双击快捷方式打开应用程序,这时候系统会把运行这些软件需要的文件都加载到内存里去,变成一条一条的指令,然后按照我们的命令进行各种各样的运算,这种模式下程序的指令代码和数据内容都是存放在内存当中的。
还有一种应用程序模式叫做c/s模式,c是client,s指的是server,这种模式下用户需要在本地机器上安装一个客户端软件,然后连接到网络上,从服务器上下载数据到本地硬盘或者内存当中,我们最常见的这种软件就是QQ,我们安装的QQ就是客户端软件,我们登陆的时候就是在向服务器请求传送给我们数据,包括我们的好友列表,我们未读的消息,以及我们的用户等级等等。其实这也可以成为Web应用,不过这种模式是有很大的缺点的,那就是客户端程序的更新问题。比如说QQ从2006版本升到了2007版本,那么所有使用QQ的人如果为了获得2007版本的服务,就必须在所有安装2006版本的机器上重新安装或者升级我们的客户端到2007,如果这个软件是每年升级一次也还好,可是如果这个软件是每个月都要更新甚至每天都要更新呢?那将会是非常大的工作量,给用户带来的麻烦将是不言而喻的。
所以另外一种应用程序方式诞生了,那就是b/s模式。b指的就是browser,浏览器,s当然还是指server,这种模式下用户只需要一个浏览器安装在本地就可以,应用程序全在网上,比如现在大部分的免费邮箱系统,其实这个邮箱用起来和QQ是没有区别的,只不过他把所有的东西全部放在一个网页里面,不用安装任何软件,登陆网络就可以使用,但是也因为不用安装软件的原因,使得它的功能逊色了很多,因为功能太多的话程序就会很大,页面相应的时间几乎会很长,用户是无法忍受的。现在的web应用普遍存在的缺憾是:界面简陋,功能太少,看看QQ和Web QQ的差距就会很明白两种模式的优缺点。
其实我理想中的Web应用程序是这样子的:左面上是一个快捷方式,双击后打开的并不是硬盘上的一个文件,而是网络上的一个地址,这时候系统开始加载程序文件,这些文件不是存在与硬盘上,而是存放在服务器上,和从硬盘上读取文件是一样的,把这些程序文件加载到内存或者虚拟内存上之后开始加载数据,或者这两者是同时进行的,这样我们的硬盘上就不需要安装一堆一堆的程序了,这些程序不但占用很多空间,而且是难以维护的,在这种情况下,只要有专门的人把服务器上的程序维护好就可以了,本地只是一些用户配置文件就可以了,虽然你的桌面上仍然是很多快捷方式,可是他们不过是一些网络地址而已,你完全可以打开浏览器,输入一个程序的地址,然后就开始使用程序了。
不过想要实现这种模式困难是很多的,首先,服务器的要求很高,比如说一个软件千千静听,很多人肯能同时在使用这个软件听歌,如果大家都是直接连接到千千网站使用这个程序的话,那么势必会对网站造成很大的流量和压力,其次,网速问题,目前为止网络速度和硬盘的速度仍然不是一个级别,因此加载这种网络程序的速度是不能让人满意的,这时候可以考虑采用P2P技术或者P2SP技术,这样能够加快程序的加载,再次是安全问题,如果程序安装在硬盘上,当你打开的时候并没有访问网络,可是如果你需要从网络上下载文件,就存在安全隐患了,最后也是最重要的问题,那就是技术问题,现在有很多的技术可以被利用,JSP,ASP,Ajax,Flex等等,可是仍然没有哪一种技术可以达到这种要求,目前的技术在实现程序设计的时候仍然是那么简陋。
我最希望看到的当然是能在我有生之年实现这种模式,如果我能够参与设计一种新的语言来很容易的开发这种程序那就再好不过了,不过我现在并没有这个实力,我现在想做的就是学号这些技术,集各种技术之长,先从一个音乐播放器开始做吧,用Flex应该是一个不错的选择。
First posted in yongquan_yang.blog.163.com