看到园子里有朋友的一篇文章,ajax,好大一颗雷!(http://www.cnblogs.com/xdesigner/archive/2006/11/24/570914.html
其中观点我的确不敢苟同,虽然我只是园子里的一个小字辈,但是看到这么多前辈们为了大家的一起成长学习花费了那么多时间写出非常优秀的ajax文章,又对比这篇文章,实在是有些愤愤不平。(我觉得再说好像又是七宗罪门事件了)

我不想说别的,dudu前辈最近对园子里对评论功能添加了ajax技术实现,(参看:博客园也ajax  http://www.cnblogs.com/dudu/archive/2006/11/24/571154.html)他的目的是“如果你想不刷新页面查看最新评论,请点击评论列表右下角的“刷新评论列表”链接。”
那么对比一下2种方式:以前需要刷新整个页面,把整个页面全部提交到服务器,服务器服务器序列化凡序列化部分内容执行页面逻辑读取数据,最后.net生成html返回给iis,最后返回给客户端又重新绘制整个页面。现在采用ajax,我猜想dudu的实现应该是这样的:发送异步请求到服务器端,带上一个参数,即最后一个评论的时间,或者是id,然后到数据库中去匹配,如果没有比这个更新的,那么直接返回,如果有,把新的以某种格式返回,json,或者xml,然后使用dhtml在客户端重新绘制小部分页面,然后达到跟前一种方式一样的目的,(不一样的效果)。以下html代码是dudu新添加功能的部分html代码
<DIV id=AjaxHolder_Comments_divRefreshComments
style="FONT-SIZE: 12px; MARGIN-BOTTOM: 5px; MARGIN-RIGHT: 10px; TEXT-ALIGN: right"><A
id=AjaxHolder_Comments_refreshList
href="javascript:__doPostBack('AjaxHolder$Comments$refreshList','')">刷新评论列表</A></DIV>

估计应该是用的服务器端控件,并且是asp.net ajax,或者是magic ajax。

说道增加架构的复杂度,的确,但是就我自己认为,因为我自己一直从事商业网站的开发,所以一直把用户的体验放在首位,架构的复杂度,用户可是不管的。但最终能给你钱的,还是用户。如果说到vista的出现会让b/s架构都消失,那么你就等到vista大行其道的时候,再做开发吧。