2006微软开发技术回顾

  博客开篇了!先回顾一下2006年度的微软开发技术。

  2006年在微软的历史上,注定将是不平凡的一年。这一年,.NET技术开始走向应用,开始在WEB应用开发上初显身手;这一年,微软推出了IE浏览器新版本IE7,这是IE浏览器时隔五年的版本更新;这一年,微软推出了Windows Vista、Office System 2007、Exchange Server 2007的强劲商务组合,其中,Windows Vista虽然姗姗来迟,但丝毫挡不住它为用户带来的震撼,这种震撼的强度是以往微软任何一款OS产品所不具备的,Office 2007一如既往,仍然是微软应用系统的产品最高境界,其创新的用户体验又将引领新一轮桌面应用交互方式的新尝试。

  本篇综述试图从程序员的一个独特视角,分析盘点这一年来微软技术开发的几个方面,尝试对微软开发技术的布局和脉络做出一个粗略的分析和把握。

  从时间的角度来看,上半年,微软新的开发技术、新的平台产品的发展似乎非常平稳,并没有大的动作。开发人员继续沉浸在Visual Studio 2005和.NET 2.0的框架下,逐步加深理解和应用探索,包括服务器端技术(ASP.net、Web Service、SQL2005等等)、桌面技术(WinForm等)以及移动设备技术(.net CF等)等几个大的方面,都在逐步吸引开发人员的注意力。与此同时,一个个新产品的Beta、CTP、RC版本循环更新,正酝酿着一次壮阔的波澜。下半年,浏览器新版本IE7、Windows Vista操作系统、Office 2007、Exchange Server 2007一个个盛装出场,强大功能和炫酷UI的背后,新的开发技术甚至新的开发模式,给开发人员带来了具有震撼力的冲击。尤其是内置部署在Vista中的.NET Framework 3.0,及其内包含的三个技术框架WPF、WCF和WWF。

  上面的简单回顾,可以大致得出微软这一年度在技术方面的几个较重的分块,下面对这些分块逐一分析。

 IE7

  微软在2001年10月发布了IE6.0、于2002年发布了IE6.0SP1,2003年终止了MacOS版IE的开发,之后微软在浏览器开发方面一直没有任何动作,直到2004年8月在Windows XP SP2发行的时候为IE6做了一个较大的补丁,之后又无声息。这期间Web技术突飞猛进,各种服务器端技术此起彼伏,浏览器端的用户体验的改进也提上日程。其间出现Web2.0的概念,其中的一方面为提升用户体验,结合Ajax技术,浏览器端的脚本技术被发挥到了极致,但由于浏览器自身以及Web应用协议(如HTTP)自身的限制,用户体验无法有突破性的进展,始终不可能与桌面应用匹敌。在用户和开发者的期待中,一批浏览器的后起之秀进入视线,尤以Firefox为烈,其诸多功能及使用上的方便一定程度地削弱了IE的份额。一批以IE内核Trident为核心的IE外壳浏览器(如Maxthon)也掀起了一次多页浏览的小高潮。

  直到今年10月19日,IE7 在众盼之中盛装登场,5年的时长的一次更新,再次将IE的功能提升到当前浏览器市场的最高水平。然而对开发者来讲,其中也不无失望,在目前Web技术的快速发展中,基于HTTP协议的HTML已逐步暴露出限制和不足,可IE7在这里并没有提供任何有技术推动作用的超前特色,它还是一个中规中矩的浏览器。

  关于IE浏览器的开发技术方面,IE7基本没有变化,其五层六大模块的体系结构(如下图)没有变,其扩展开发和重用的方式没有变,其开发资料贫乏的现状甚至都没有变 :),与以前不同的是,微软这一次对IE的插件开发有所重视,在IE7发布的同时,微软开展了IE插件有奖征集活动,目前仍在进行中。目前市场上IE的插件有许多,但真正功能创意好而流行起来的却少之又少。流氓软件对IE插件技术的滥用,也让人们对IE的插件开发爱恨有加。

  谈到IE的开发,想说说自己的一些看法。IE的构架设计是十分优秀的,它的开放程度,基本可以让开发者在其上为所欲为。目前针对IE的开发,还有一些方面挖掘的深度不够,这也从一定程度上限制了开发者的创意。例如,代号Chrome的BrowsUI.dll模块是IE用户界面(UI)的提供者,掌握这个模块中组件的支配,可以更大程度的定制IE的UI功能和组织;另外在IE的脚本支持、Pluggable Protocol等方面也有很大的空间和潜力。

Office 2007

  Office一直是大型微软桌面软件设计开发的典范,这一次仍不例外,它在UI体验上进行了全方位的改动,当然功能上也进行了相当程度的提升。作为Office的开发人员,更加在意的是它炫酷UI背后的变化。

  从现在能够掌握的资料来看,在开发支持方面,其最大的变化就是增加的VSTA的支持,用户除了可以使用仍然保留的内置VBA环境对Office产品系列进行二次开发外,还可以使用内置的VSTA环境,用C#或VB.net来以Managed Code的方式来做二次开发。另外,使用VSTO开发包,以“Code behind documents”的方式来开发Office Solutions,或者通过使用微软发布的各种Office SDKs(如Smart Tag SDK等)对Office进行的扩展性开发,在Office 2007中均继续支持,仅对象模型、类型信息等细节处有相应变化。

  前几天在CSDN技术社区看到有关Office开发的一些讨论,现在国内正逐步正视Office上的方案开发,逐步接受部署Office应用方案的成本,这一方面同国外相比,国内要落后许多,也许不久,基于Office解决方案的开发,在国内的市场机会就会凸现。

Vista

  这款OS产品的推出,无疑是微软今年最重的手笔,2006年就将因为Vista的推出而被记载在微软的历史上。Vista是微软客户端桌面OS产品线的最新成果,它在功能和用户体验方面的表现给用户带来强烈的震撼。作为开发人员,最为关心的还是其中内置部署的.Net Framework 3.0。

   .Net3.0的CLR核心与2.0版基本相同,但是它为.Net带来三个重要的部分WPF、WCF和WWF。从一定角度来看,这三个部分的重要程度是微软提升.Net主版本号的主要原因。

  • WPF

  即Windows Presentation Foundation,原代号Avalon,它是Windows 全新的展现层。WPF为开发人员提供了一套全新的统一的编程模型,来实现应用程序丰富的用户体验,包括UI、介质、文档等等的交互作用。WPF的UI是基于XAML来构建的,而且其窗口内的UI元素,将不再是子窗口形式的控件,用Spy++再也看不到控制子窗口,这些元素在WPF窗口中均通过其GDI引擎渲染得到,编程模式彻底改变。下图是WPF各部分在Windows Vista中的结构分布。

  WPF应用程序除可以直接部署在桌面环境而直接被运行外,还可以以XBAP的形式通过Web来进行ClickOnce部署,并运行在浏览器IE中。这一点是通过WPF Host(即PresentationHost.exe)来实现的。WPF Host本质上讲是一个Active Document Server,他以和MSHTML(Trident)相同的方式宿在IE6或IE7中,不同的是MSHTML以进程内服务器的形式提供基于HTML的普通Web应用渲染和运行,PresentationHost.exe是以进程外服务器的形式提供基于XAML的WPF应用的渲染和运行。从WPF与浏览器的这样一种嫁接实现方式来看,似乎可以得到些灵感来体会微软技术中的“桌面思维”和“Web思维”。

  • WCF

  即Windows Communication Foundation,原代号Indigo,是微软实现SOA架构的统一编程模型,它被设计用来提供一种托管的方式来实现分布式计算、跨平台的互操作和面向服务的直接支持。从技术开发者的角度来看,WCF为我们提供了一个统一的基于Messaging System的一个Runtime和一组managed API,小到本机之内,大到Internet范围,不同Service与Client之间的消息传递,均以一种统一的方式提供,同时它也是可扩展的,允许开发者修改调整和扩充这个Runtime的方方面面。

  下图是WCF的体系结构。

  • WWF

  即Windows Workflow Foundation,它是用于快速构建工作流应用程序的编程模型。这个框架中包含一个Inproc workflow engine和一个独立Namespace的API集合,用来以统一的方式协调和组织流程中的Activities。同时它也提供了一个流程设计器(Designer),可以让开发人员在Visual Studio 2005下进行快速有效的开发。

结语

  2006年下半年微软推出的一系列新产品与新技术,足以令我们眼花缭乱。对于开发人员来说也许更有意义的是尽快理顺微软新技术体系的脉络,尤其Web有关的技术的路线演绎。

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值