你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / Linux开发
带镣铐的舞者:从两方面看AJAX与B/S(4)
 
比较有意思的是:象微软这样的大公司,是如何看待B/S与C/S发展前途的?

  我等普通开发者,没有机会直接与微软高层对话,但可以从其公司的产品发展路线看出一些端倪:

  微软似乎并未认为B/S代表着未来的技术发展方向,相反,它的许多行动,都向着抛弃浏览器的方向在走。

  首先,微软简化了C/S的开发与部署问题,推出了Smart Client技术,让C/S客户端程序的更新可以无需人工干预,自动进行。

  其次,微软努力弥补B/S与C/S两者间的鸿沟,在设计ASP.NET时,毅然抛弃已取得不错业绩的ASP,直接采用类似于VB的“可视化控件+事件驱动” 编程方式,甚至将Web 页面也称为“Form”——Web Form。

  第三,微软可能认为AJAX是一种过渡性质的技术。

  微软在AJAX上迟迟不见动作,直到看到由于Google等公司成功应用AJAX技术提升Web用户体验而导致AJAX的迅速窜红时,才行动起来,给ASP.NET加上AJAX扩展,整个过程中显然行动并不积极,投入的资源也并不多,这与当年微软与网景公司展开浏览器大战时完全不一样。但从其在VS2008中将AJAX Extension内置为标准配置,并直接集成JavaScript的调试功能到IDE中,说明微软还是面对现实的,它承认AJAX拥有重要的地位与较大的发展潜力。

  其实,我分析微软的野心是“一统天下”,抛弃浏览器,彻底统一B/S与C/S。

  这点在.NET 3.0/3.5中看得很清楚。

  首先,微软用WCF统一了DCOM,.NET Remoting等主要用于C/S的技术,集成了原先位于COM+中的许多企业化开发特性,连同主要用于B/S架构的Web Service技术,统一地抽象并封装为可复用的WCF Service。很明显,微软要将信息系统开发模式由CBD转为SOA(即未来的系统是组装Service,而非组装Component)。

其次,微软抛弃了非常成熟的Window桌面程序编程模型(Win32 API+消息/事件驱动)引入了一个全新的WPF编程框架,其中的一个重大的革新是符合XML规范的XAML(应用程序标记语言)的出现。XAML用XML格式纯文本文件来描述应用程序界面。

  我们可以很容易地将XAML与XHTML进行类比。浏览器解析XHTML代码,生成可视化的网页界面,而XAML则由.NET Framework 虚拟机负责解析,在Vista中,由于Vista直接集成.NET Framework 3.0,就可以将Vista看成是一个超级浏览器,由它负责读入XAML生成用户界面,并实现其所有应用程序功能。

  这样一来,一种新的编程模型浮出水面,不管是B/S还是C/S的系统,其方式都是统一的:读入XAML代码à解析à呈现à接收用户输入à处理数据à显示结果。

  在这个编程模型中,浏览器成了一个旁观者,不再是客户端应用的核心。

  新编程模型的运行平台是全功能的OS,而非功能受限的浏览器。这个区别是巨大的,一个运行于OS之上的浏览器,其功能怎能和OS自身相比!

  现在可以通过按面向对象方式组织起来的操作系统API(应用程序编程接口)方便地调用操作系统的各种功能,充分利用客户端的硬件资源(比如可以很容易地在.NET Framework之上开发多线程程序,“压榨”双核CPU的工作能力)。用户界面都用XAML来描述,这就统一了B/S与C/S的界面层技术。

  WPF最适合的运行环境是Vista操作系统,它的一个功能子集,现在称为Silverlight,被实现为一个浏览器插件,从而让WPF程序也能跑在传统的浏览器中。由于Silverlight和Vista本身都可以解析XAML,所以,现在可以用XAML只写一套界面代码,就同时适用于B/S与C/S,并获得相同的用户体验。

  由于B/S和AJAX存在着一些先天不足,如果将经过AJAX增强功能的B/S系统比喻为一个舞者,那么,这其实是一位带着镣铐跳舞的舞者,而微软公司的想法是,与其不断想法减轻这一镣铐的重量,为何不干脆直接抛弃这一镣铐呢?

  微软推出WPF与WCF,就是这样的一个尝试。

  应该来说,微软公司的这套发展战略是建立在对现有B/S与C/S各自的优缺点分析的基础之上而制订的,有它的科学性,也考虑到了自身的商业利益。但这一战略最终实现还有许多困难,因为即使强大如微软,也无法一统江湖。微软的对手与微软一样聪明,技术进步同样迅速。

  可以断言,由于信息系统应用的延续性,在相当长的一段时间内(也许有三五年,也可能有五到十年),B/S与C/S将同时并存,由于B/S许多突出的优良特性,在与C/S的竞争中将占上风,这个局面不会有大的改变。对于AJAX,作为B/S系统的一个重量级武器,虽然很有效,但存在不少缺陷,我对于它的未来发展,抱有谨慎的乐观态度,不过,作为一名Web 开发者,应该去了解并应用这一技术。

  未来的格局到底如何,某种技术到底有没有前途,都不是由个人说了算的。我想,B/S与C/S之争最终的格局,将是多方面因素共同博弈的结果。对于个人而言,必须与时俱进,及时调整自己的行动和战略,这是当代软件开发者的宿命。

(编辑:aniston)

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089