【IT168 专稿】2009年11月,一年一度的微软TechED 2009在北京盛装上阵,大会上除了展示最近一年来创新的IT技术外,还发布了大量的新品。对于软件开发人员来说,Visual Studio 2010自然成为他们目光的聚焦点。大家都想看看自己正在用的开发工具在新版中增加了那些功能,以及是否有利于自己的开发项目和提升开发效率。
微软在TechED上表示这将是近几年来Visual Studio和.NET Framework最重要的一次版本升级。作为微软全力打造的下一代开发工具平台,微软希望Visual Studio 2010能成为开拓新纪元的划时代开发工具。因为跟之前的Visual Studio 2008相比,它拥有着无数的诱人新特性,同时也寄托着无数人的期望。那么Visual Studio 2010能成为划时代的下一代开发工具而载入史册吗?
1.Visual Studio无数的诱人新特性
Visual Studio 2008是基于Vista平台的开发工具。但随着Vista的失败,Visual Studio 2008只能昙花一现。现在,微软把宝都押在了即将到来的新平台Windows 7上。作为面向下一代平台的开发工具,Visual Studio 2010提供了很多工具来帮助开发者开发基于Windows 7的应用程序,同时也使那些已经存在的非托管应用程序,通过一定的处理后也同样能够应用新操作系统所带来的特性。例如,微软在Visual Studio 2010中花了很大的力气来使得非托管C++代码的开发更加容易和高效。那么,让我们来看看Visual Studio 2010有什么诱人的新特性:
微软在Visual Studio 2010中简化了产品阵容,预期将有3个基本版本:VS2010 Ultimate、VS2010 Premium and VS2010 Professional。微软希望VS2010将是历史上经典的一个版本,相当于当年的6.0版。在介绍资料上,我们可以看到新功能主要包括:应用程序生命周期(ALM)、C# 4.0动态类型和动态编程、多显示器支持、支持TDD、支持Office开发、Quick Search特性、C++ 0x新特性、新增基于.NET平台的语言 F#等。
VS2010除了上述功能外还在以下方面进行了改进:增强和完善了Visual Studio IDE;改进了Visual Basic和C#语言,开发人员可以根据自己的爱好选择任意一种语言;同时还包括一种新的.NET Framework语言:F#;支持基于MVC的Web应用,改进了代码编写的速度,简化了Web开发;改进了对WPF和Silverlight应用程序的开发;当然最重要的变化是完善了Visual C++功能。
微软宣称Visual Studio 2010的承诺是开发者可以针对众多的应用程序进行开发,诸如Windows7、Office、Web、智能手机、云应用框架等。微软除了支持其基本平台外,也准备提供对新兴应用趋势的工具支持,即云计算和并行设计,以充分利用高性能的多核系统。例如,为并行编程提供了更多支持,包括增加调试窗口,增加对NET Framework PLINQ、本地Parallel Pattern Library和Concurrency Runtime并行扩展编码的支持。
同时把Windows Azure Tools工具也集成在新的IDE中,主要是用作构建、调试和部署云应用和服务。另外,第三方产品和框架也在该IDE中有了用武之地。VS 2010中有两个值得注意的内嵌工具:一个是Quest Software公司开发的可选数据库架构,提供了对Oracle数据库的支持,另一个是本地JQuery。微软宣称VS2010将是一个新时代多周期演进过程的第一个发布版本,这么做的原因是要确保开发人员的工作尽可能的有效率。微软的目标是确保Visual Studio 2010及以后的版本都能提供一个高效率的产品,对开发人员来说会很容易熟悉而能立即上手利用新的功能。
2.回顾Visual Studio划时代版本的特征
Visual Studio是微软最知名的工具产品之一,在使用微软技术的开发人员的心目中尤是如此。Visual Studio是Windows 平台应用程序的开发环境,它是建立在IDE(统一开发环境)的基础之上,可用于开发多种不同类型的应用程序。俗话说:要想深入的了解一个人,需要从他的童年开始。因此,深入了解Visual Studio划时代版本的特征,对明白它的扩展更迭会很有好处。
1992年微软发布了革命性的操作系统Windows 3.1,把个人计算机引进了真正的视窗时代。这一年,微软在C/C++ 7.0的基础上,开创性地引进了MFC(Microsoft Foundation Classes)库,完善了源代码后发布了Visual C++ 1.0。Visual C++ 1.0是真正意义上的Windows IDE,也是Visual Studio的最初原型。虽然以现在的眼光来看,这个界面非常简陋和粗糙。但是它脱离了DOS界面,让用户可以在图形化的界面下进行开发。这是把软件开发带入了可视化(Visual)时代的第一步。
微软在1997年首次尝试在单一环境中支持多种语言。包括Visual Basic5.0、Visual C++ 5.0、Visual FoxPro5.0、Visual J++1.1、Visual InterDev 1.0 。在1998年,微软再尝试将开发工具变得更为一致,并且向着现在我们所熟知的.NET Framework迈出了第一步。这一年微软将VS 97升级为Visual Studio 6.0。这不但是Visual Studio的第一个划时代版本,也是Windows 9x平台下的最后版本。这个版本是VB的绝唱,因为现在的VB与那时的VB有很大不同。同时Visual J++ 遭到彻底的放弃,从此微软不再支持针对JVM的任何编程语言。在此之后,微软便只致力于通过.NET Framework构建统一的编译器和开发环境。
2002年是微软的开发工具和编程语言发生重大变革的一年。经过数年的努力,微软发布了.NET Framework、VS.NET和.NET编程语言。这标志着微软的开发工具终于得到了完全的整合。其中.NET Framework 1.0是最重要的内容,它引入了托管代码。在.NET下程序是编译为MSIL,而不是机器语言。
VS 2002支持四种语言:①VB.NET:这是Basic家族中第一个完全支持OO的语言,它的构建基础与VB 6.0有很大不同。②C#:这是一种全新的语言,它使用C的语法,但比微软其它C家族的语言要简单,如VC++。③J#:也是一种新语言,可以看作是VJ++的继任者。它虽然使用Java语法,但只支持.NET平台。④VC++:它是.NET家族语言的一分子,并得到了增强。在之后的一年,微软发布了VS 2003。它包含一些新特性和对bug的修复,是.NET Framework的第一个稳定版本。虽然VS 2003要比VS 2002稳定和流行得多,但是在划时代版本的历史上,VS2002才可占一席之地。
2005年的开发平台可谓热闹非凡,各家重量级的软件公司纷纷推出新的开发平台和开发工具。在10月微软隆重推出了酝酿已久的.NET 2.0和VS 2005,此时微软去掉了其产品的“.NET”前缀。微软对于这个多年磨一剑的产品极为重视,并把它视为今后开发平台的一注重量级筹码。因为微软试图通过VS 2005与诸多的J2EE开发工具,特别是Tiger(J2SE 5.0)相抗衡。VS2005是发展到目前为止,第三个划时代的经典版本。而基于Vista平台的VS2008,随着Vista的失败,Visual Studio 2008也只是昙花一现。VS2008主要关注Vista和Office 2007,虽然有增加.NET 3.0和3.5的新特性,但主要还是保持了VS 2005的特点。
3.VS 2010能成为划时代的开发工具吗?
在.NET平台上,Visual Studio一直是独领风骚。这一次Visual Studio 2010也有许多令人期盼已久的强化功能,包括提供更高的程序开发效率、更精简的程序代码、更佳的安全性能。目前微软希望将Visual Studio 2010打造成和Visual Studio 6.0一样经典的开发工具。所以,除了在语言层面开始支持最新的C++标准外,在IDE以及MFC库等方面微软也下了很大的力气。那么,微软VS 2010有什么特点能让其成为新一代的经典开发工具?
(1)未来:代码管理工具比平台更重要
对于大型开发项目来说,由于现有规模和业务种类已经十分复杂,加之有多年遗留下来的应用系统,开发平台最适当的选择是要具有强大的代码管理能力。Visual Studio 2010的工具功能不但日趋强大和丰富,而且还兼有其它产品的优点。更值得注意的是,首度推出的 Visual Studio Team System 是与开发工具完全整合的软件开发生命周期管理平台,与Agile方法论以及CMMI规范都相整合。Visual Studio Team System 除了在软件开发流程上更加严谨之外,软件开发的质量与时间也更易于掌控。
(2)灵活高效的全新IDE
众所周知,IDE 对于软件开发领域是一项伟大的发明,它能极大的降低软件开发的门槛。自从微软在1998年发布Visual Studio 6.0以来,Visual Studio的IDE已经成为软件开发工具的标杆,很多其它的开发工具都在模仿Visual Studio的IDE。微软更是成功地通过创建高效率的IDE战胜了其竞争对手,如Borland 和 Metrowerks。但是从Visual Studio 6到Visual Studio 2008,虽然IDE的功能越来越多,但却没有什么革命性的变化,反倒因为功能太多带来了使用上的不便,导致开发效率低下。于是,开发人员都在期盼一个全新的IDE的出现。
现在,开发人员的梦想在Visual Studio 2010成为了现实。在Visual Studio 2010中,微软用全新的WPF技术重新打造了它的编辑器。借助WPF的强大功能,新的编辑器可以实现很多以前Visual Studio 2008的IDE根本无法想象的功能。比如代码的无级缩放、多窗口即时更新、文档地图、代码的自动产生等。这些新的IDE特性不但会极大地提高程序员的开发效率,也为创立划时代特征写下重要的一笔。
(3)助力Azure平台,强化云计算能力
随着云计算的发展,微软看到了一个战胜谷歌的机会。所以在云计算概念刚刚兴起的时候,微软就宣布要进军云计算领域。因此,Visual Studio 2010为Windows Azure提供了强有力的支持。Windows Azure是由微软开发的一套基于云计算的作业系统,主要用来提供云端线上服务所需要的作业系统、基础储存和管理的平台。虽然Azure平台可以满足大部分的云计算工作,但是它有一个缺陷,就是开发的周期比较长。因此,微软在Visual Studio 2010中为Windows Azure提供了专门的项目模型。借助Visual Studio 2010这个有效的开发工具,可以大大的减少云计算系统的开发周期。这也是微软推广Azure云计算平台的重要助力一步。
(4)提升并行计算,应对多核趋势
在以往的计算机发展历史中,每次硬件的升级都可带来软件性能的大幅提升。但是进入多核时代后,这种便利性就没有了。原因是当前的应用程序几乎都是针对一个运算核心而设计的,由于受到其架构的影响,软件并不能充分地利用多核所带来的性能提升,甚至有时性能还会有所下降。在这种情况下,开发者不得不改变应用程序的架构和开发方法,以应对多核的趋势,使得自己的软件可以充分利用硬件升级所带来的性能提升。
面对这样的需求,微软希望不管是使用非托管代码,还是.NET Framework,开发者都能够高效地进行并行计算的开发。因此,Visual Studio 2010加大了对并行运算的支持。比如Visual Studio 2010的调试器会知道代码的并行特性,并且能够在调试程序的不同执行单元时显示应用程序的状态。另外,Visual Studio 2010还提供了一个并行性能分析器,它可以帮助分析应用程序的性能瓶颈,找到需要并行处理和可以进行并行处理的地方,并以图形化的形式表现出来。这样,通过Visual Studio 2010并行性能分析器的使用,开发人员就可以轻松地实现应用程序的并行化。这是非常有前瞻性的一个功能,也是协助应用程序步入多核计算趋势的关键一步。
(5)C++王者归来
C++曾经是Visual Studio 6.0中的首席语言,但是微软从2000年开始推行.NET战略以来,其核心及缺省的编程语言是C#,Visual C++每次都是几个不咸不淡的小更新,没有革命性的变化。所以,C++的地位不断下滑,被后来居上的C#抢了风头,很多钟情于C++的程序员感到失落和惆怅,甚至开始怀疑起C++的前途。但从Visual studio 2010开始,不管是从IDE到编译器,C++开发者都能够重新找回自己的位置。
在Visual Studio 2010中微软不仅继承了原有的功能,还提供了更多的新特性,以吸引用户升级到这一新的平台上来。首先是对C++新标准C++0x的全面支持,不会再像Visual C++ 6.0一样,被人诟病为对C++标准支持不佳。在IDE方面,微软将Visual C++的构建系统VCBuild整合到了MSBuild中。借助后台编译,Visual C++的IntelliSense将会更加智能,能够处理更多的文件、和更加复杂的项目。另外,还可以在构建过程中使用不同版本的编译器和连接器,使得解决方案更具扩展性。正如一个C++架构师说的那样:C++终于站在了它应该站的位置上,而且这对于C++来说也是划时代的发展。
(6)快速开发,跨越开发周期协作
在软件开发工具领域,微软的地位无疑是非常重要的。不过,我们不应该忘记在开发工具领域是两军对垒。在激烈竞争的商业环境中,谁都希望以更低的成本、更快的速度推出满足市场需求的产品。因此,快速开发是选择平台工具的重要考察因素之一。
Visual Studio 2010提供了帮助开发团队改进协作的扩展。其中包括帮助将数据库专业人员和图形设计人员加入到开发流程的工具。例如.NET Framework 提供了用于解决常见编程任务的构建基块(预制的软件),从而能够快速构造具有出色的最终用户体验的应用程序。而且,Visual Studio 和 .NET Framework 的结合使用可减少对公用管道代码的需要,从而缩短了开发时间,并使开发人员能够集中精力解决业务问题。
俗话说:“不怕不识货,就怕货比货”。Visual Studio 2010新推出的特点能否得到开发者的认可?能否经得住实践的考验?这是目前谁也无法给出的答案。但一个新的选择也许会带来更高的生产力,毕竟Visual Studio 2010有太多东西值得大家去期待。我们还是在明年3月拭目以待吧。