web开发的思考(三)

首先明确,我所说的web不等于互联网,我的理解是:互联网是包含基于Tcp/ip协议的所有应用,而web是指基于Http协议的,尤其是用浏览器作为客户端的应用的集合。

web依然是每个网民都接触过的最基本的网络应用(关于他为什么会有这样的地位,我本来写了一大堆,后来感觉啰嗦,有谁不明白,单独问我吧),并且会是可预见的未来最重要,最有发展潜力的网络应用领域(相对于qq、传统网络游戏等非web应用,本来也写了一大堆,有谁不明白,请问我吧,有谁怀疑,欢迎拍砖)。

正因我如此看好web,所以才写这个系列文章,web开发将向什么方向发展,是本篇讨论的内容。浏览器和服务器是web运行的平台,所以一切问题,都要围绕浏览器和服务器展开。

每个人电脑上都有各种各样的软件,word、浏览器、qq、迅雷、甚至foxmail等等,程序多了带来的不便相信大家都有所体会。分久必合,各种应用应该会向统一的方向发展,显然浏览器是不可能被其他应用取代的,那么其他应用会不会向着浏览器集中呢?答案是肯定的,并且也确实在向着这个方向发展。比如Google Docs是一整套web办公平台,比如Gmail其实就是一个web版的邮件客户端,同时里面的gtalk就是一个web版的IM。

web应用正在向着专业化,复杂化发展,很多原来的桌面软件,现在变为浏览器上的软件,这样的变化有很多显而易见的好处:方便不需要安装,数据在服务器不需要携带,减少程序占用的内存和切换的麻烦等,在目前阶段也有一些明显的不足,比如网速慢会让用户体验很糟糕,浏览器bug多造成死机、js效率低初始化缓慢等,我相信网速肯定是越来越快的,其他的方面,也正是我们开发者任务和方向。ok,总之web是在向着这个方向发展。

显然这些程序已经不仅仅是一个网页,而是一个个完整的应用程序,因此你不能再用做网页的方法做这样的“软件型网站”,而要用软件开发的思想去对待:运行于浏览器上的客户端+运行于服务器上的服务器端,即基于浏览器的C/S开发或者BC/S。客户端的开发环境目前不多,我所知道的有html+css+javascript、flash、silverlight。传统的网站或者网页,所有的程序都在服务器端,客户端什么都没有,只有一个浏览器,每个请求都会从服务器把界面传到客户端,而基于浏览器的C/S开发则是在访问第一次的时候,把客户端所有的界面相关的程序发送过来,并在浏览器上初始化,之后所有的请求都只传输必要的数据,而不传输界面信息。

这就是我所说的web开发向C/S回归。

这并不是说所有的web应用都回向C/S方向发展,有些内容为主,界面占少部分代码,操作流程比较简单的应用,比如普通的文章发布系统的前台、Google这样的搜索引擎,用C/S实现反而弄巧成拙。也不是说所有的桌面软件都回向web发展,具体哪些软件不适合,我还没认真想过(作为浏览器插件不算真正意义上的web软件,它还是桌面软件,还需要安装,只不过把脸放在浏览器上而已,安装率超过90%的另当别论(比如flashplayer))

向着C/S方向发展的应该是一些功能有一定复杂度的应用,比如上面提到的word、mail客户端、im。另外,我觉得可能的,还有bbs(bbs其实是个操作频繁的应用软件,用现在这种方式,每次请求都有大量无用代码,反应很慢,我曾说过rss reader其实是个bbs)、一些网站的后台、我正在用的这个live writer。

目前的各种ajax框架的迅速发展和广泛应用,其实就是因为web应用的复杂和多样化需求导致的,但是大多数人对于ajax的理解还不成熟,以为ajax的主要特性是异步传输或者动态效果,都是不全面的,ajax的主要作用是作为浏览器上客户端开发的基础,目前的大多数ajax框架还只是完成了很多传统客户端语言的功能和特性,因为javascript本身很灵活,但是功能不完善,比如字符串处理,面向对象特性,UI处理等;重新封装后的javascript framework可以更方便的开发。Ext是为数不多的在框架基础上实现了比较完整的控件库的javascript框架,我在用这个框架,感觉还是很不完善,用的很吃力。

flash和silverlight在UI方面相对更强大一些,但是用户更习惯于浏览器或者操作系统本身的控件,flash(比如flex)重新实现的那些控件,比如滚动条之类,跟普通的控件还是有些区别,用起来不习惯。我觉得这是为什么flash无法取代HTML+css+javascript的重要原因之一。javascript语言本身的发展潜力不用怀疑,但是他的功能完善的需求是非常巨大的,目前基于javascript的框架,是基本解决之道。所以,致力于开发一套完整的javascript控件或者框架,是一个不错的发展方向。

本来还有一些关于服务器端的内容,太晚了,留着下篇写吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值