有道是“不怕不识货,就怕货比货”,下面我们就将Visual Studio 2010跟最新的Visual Studio 2008做一个重点的比较,让大家从比较中体会Visual Studio 2010的强大优势,让大家明白“10 is new 6”。

51CTO编辑推荐专题《Visual Studio 2010应用与开发

Vista才发布不久,微软就放出了下一代操作系统Windows 7的消息;Visual Studio 2008发布还不到一年,下一代开发工具Visual Studio 2010的CTP就出现了。刚刚发布就有下一代产品出现,从一个方面,这反映了技术的飞速发展,微软不得不不断推出新的产品以应对新技术的发展。但是,从另外一个侧面我们也可以解读出这样的信息:Vista以及基于Vista的Visual Studio 2008都不够成熟,都是一个“失败”的产品。如果说Vista是Windows 7的“Pre-Release”,相信大家都不会反对。同样的道理,从目前的情形来看,Visual Studio 2008更像是Vista平台上,Visual Studio 2010发布之前的一个过渡版本,同样扮演着Visual Studio 2010的“Pre-Release”的角色。

 

图1 一对难兄难弟:Vista + Visual Studio 2008

灵活高效的全新IDE

自从微软于1998年发布Visual Studio 6以来,Visual Studio的IDE已经成为软件开发工具的标杆,很多其他的开发工具,甚至是其他用途的应用程序,都在模仿Visual Studio的IDE。但是,就像我们前面讲过的那样,从Visual Studio 6到Visual Studio 2008,虽然IDE的功能越来越多,但是并没有什么革命性的变化,反倒因为功能太多带来了使用上的不便,导致开发效率低下。程序员们都在期盼一个全新的IDE的出现。

现在,程序员们的梦想在Visual Studio 2010中成为了现实。在Visual Studio 2010中,微软用全新的WPF技术重新打造了它的编辑器,借助WPF的强大功能,新的编辑器可以实现很多以前Visual Studio 2008的IDE根本无法想象的功能,比如代码的无级缩放,多窗口即时更新,文档地图,代码的自动产生等等,这些新的IDE特性都会极大地提高程序员的开发效率。

 

图2 WPF带来全新的表现形式

云计算

虽然大家都还在“云里雾里”,但是毫无疑问,“云计算”已经来到了我们身边。在互联网时代,微软输给了Google,面对即将到来的“云计算”时代,微软没有理由再次错过机会。所以早在年初“云计算”的概念刚刚兴起的时候,就有传言微软将进军“云计算”,将旗下的软件业务纳入“云计算”。而现在,随着Visual Studio 2010 CTP和Windows Azure的发布,这一切成为了事实。

“云计算”的基本原理,是通过使计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,企业数据中心的运行将更与互联网相似。这使得企业能够将资源切换到需要的应用上,根据需求访问计算机和存储系统。Windows Azure是一个托管服务套件,它包括虚拟计算,可扩展存储以及自动化服务管理系统等。这些工具将会用来为微软的服务提供支持,其中包括MSN,Xbox Live,以及Office Online等等,实现服务的网络化。

 

图3 Windows Azure平台架构
 

对于开发者而言,Windows Azure已经建立起一个简单而快速的系统,最重要的是它拥有着标准的模型,是我们步入“云计算”时代的捷径。开发者可以根据自己的需要选择第二层功能来使用,比如数据库,业务工具,甚至是第三方软件提供的功能。Windows Azure云计算平台为开发者提供了灵活性和可开发性,同时还需要考虑利用目前现有的技能、工具和技术,比如微软.NET框架和Visual Studio。使用Windows Azure Tools for Visual Studio,我们可以为Windows Azure创建,调试和部署服务和应用程序。

Visual Studio 2010为Windows Azure提供了专门的项目模型,同时,我们也可以利于Visual Studio 2010对我们的服务和应用程序进行调试。另外,我们可以利用Visual Studio 2010将我们创建的服务打包,然后通过Windows Live Developer Portal部署到Windows Azure。

总之,有了Visual Studio 2010的帮助,我们就可以拔得“云计算”的头筹。

并行计算

在以往的计算机发展历史中,硬件技术的发展总是给软件带来免费的性能提升,从386到586,从赛扬到奔腾,每次硬件的升级,都带来软件性能的大幅提升,而软件无需做任何变动,只需要坐等硬件升级就可以了。

 

图4 多核时代

但是进入多核时代后,这种“免费的午餐”再也没有了。这其中最主要的原因就是当前的应用程序几乎都是针对一个运算核心而设计的,当硬件通过增加运算核心来提高性能时,由于受到其架构的影响,软件并不能充分地利于多个运算核心所带来的性能提升,甚至有的时候性能还有所下降。

在这种情况下,开发者不得不改变应用程序的架构和开发方法,以应对这种多核的趋势,使得自己的软件可以充分利于硬件升级所带来的性能提升。面对这样的需求,Visual Studio 2010加大了对并行运算的支持。微软正在使得尽量大的范围内的开发者都能高效地进行并行计算的开发,不管他使用的是非托管代码还是.NET Framework。在Visual Studio 2010中,我们将看到:

◆Visual Studio IDE对并行计算开发的大量支持。比如,Visual Studio 2010的调试器知道代码的并行特性,并且能够在调试程序的不同执行单元的时候,表现应用程序的状态。

◆非托管的C++库和编译器对并行计算的支持

◆.NET Framework 4.0对并行计算的大量支持,包括P-LINQ,并行语言语句等等

另外,Visual Studio 2010还提供了一个“并行性能分析器”,它可以帮助我们分析应用程序的性能瓶颈,找到需要并行处理和可以进行并行处理的地方,并以图形化的形式表现出来。这样,“并行性能分析器”配合这Visual Studio 2010,我们就可以轻松地实现应用程序的并行化,再次吃上“免费的午餐”。

C++王者归来

自从Visual Studio 6以后,Visual Studio中的C++再没有多大的变化,包括之前的Visual Studio 2008,都只是对C++进行一些细小的改善。但是这次随着C++新标准C++0x的即将公布,Visual Studio 2010在C++开发方面也带来了很多革命性的变化。

首先是对C++新标准C++0x的全面支持,不会再像Visual C++ 6一样,被人诟病为对C++标准支持不佳。在IDE方面,微软将Visual C++的构建系统VCBuild整合到了MSBuild中;借助后台编译,Visual C++的IntelliSense更加智能,能够处理更多的文件,更加复杂的项目。另外在MFC方面,通过引入很多新的类,MFC开始全面支持Vista、Windows 7风格的UI。这些特性,都成为Visual Studio 2010跟Visual Studio 2008的一个重要差别,相信C++程序员都会选择Visual Studio 2010而略过Visual Studio 2008。

面向下一代平台:Windows 7

Visual Studio 2008是基于Vista平台的,Vista的失败,也必然会导致Visual Studio 2008的昙花一现。现在,微软把宝都押在了即将到来的新平台Windows 7上。作为面向下一代平台的开发工具,Visual Studio 2010提供了很多工具来帮助开发者开发基于Windows 7的应用程序,同时使那些已经存在的非托管应用程序,通过一定的处理也同样能够具有新的操作系统所带来的特性。在Visual Studio 2010中,微软花了很大的力气来使得非托管C++代码的开发更加容易和高效。例如,我们升级了MFC的库和头文件以全面支持Windows 7的界面元素,包括Ribbon界面,搜索功能甚至多点触摸特性的支持。

 

图5 你值得拥有:Windows 7的多点触摸特性


对于开发基于WPF的应用程序的开发者,Visual Studio 2010同样提供了改进的工具,帮助开发者快速高效地完成界面图像的设计,数据绑定等等。

总之,想让你的应用程序“Windows 7 Ready”,Visual Studio 2010是首选。

Visual Studio 2010作为作为微软着力打造的下一代开发工具平台,跟她的前任Visual Studio 2008相比,她拥有着无数诱人的特性,同时也寄托着无数人的期望。通过我们前面的一系列对比介绍,相信大家对Visual Studio 2010的成功还是抱有很大希望的。

Visual Studio 2010,你快些到来吧!