日期:2009-12-05 浏览次数:20396 次
虽然Visual Studio在服务器/客户机领域比其竞争对手作的要好,但是它却难以提
供新一代工具应该提供的功能。支持了这个工具在竞争中的领导地位的只是
Microsoft庞大的市场分额以及Visual Studio广大的用户群,而不是领先的技术。
即将发布的VS.NET是Microsoft新的应用开发策略的基石,并且担负着未来5年维持
Microsoft在应用开发领域优势的重担。在这里,我们要讨论一下VS.NET中的一些
新功能,看看它如何和竞争对手竞争。
VS.NET的未来:重点是.NET
虽然VS.NET继续支持组件对象模型(COM)技术,但是其最主要的目标是实现.NET架
构。这种新的架构由三个主要的核心组成:通用运行时(Common Language Runtime
,CLR),一组类库,以及Active Server Pages 的扩展:ASP.NET。
VS.NET 的主要任务是通过开发语言,编译器,调试器,向导,组件以及GUI工具等
等支持.NET架构。很多VS.NET最显著的新特性都是专门面向.NET架构的,比如:
Visual Basic 将成为纯面向对象的,包括了继承,封装,重载,多态等特性。另
外,VB将支持“自由线程化(free threading)”模型,以前的VB则只能使用受到限
制的“单元线程化(partment threading)”模型。同时VB使用了更加健壮的异常处
理结构。
Visual C++ 将增加一些对.NET架构的支持功能,包括属性化的C++编程以及可管理
的扩展(比如,对C++语言属性进行扩展使之特别支持.NET架构管理代码)
VS.NET则将增加一种.NET的原生语言——C#,这种语言算的上是对VB的易用性和
C++的强大功能的一个折中,但是其限制就是你还要花一定的时间去学习这个新的
语言。
Web窗体设计攻击以及扩展的ASP.NET结构将提供对XML的全面支持,同时也将支持
HTML以及其它的以Internet为核心的跨语言用户界面技术。比如,ASP.NET将全面
支持可编译语言,比如C#以及Visual Basic,以替代老的解释性的VBScript模型。
多语言支持则是VS.NET以及.NET架构中的一个核心概念。所有VS.NET的核心语言甚
至包括第三方的编译器都支持.NET架构的CLR。这种类似于虚拟机的技术承诺将简
化在应用开发中使用多种开发语言的集成问题。
Web服务在VS.NET的任务中扮演着核心的角色。Microsoft在发布VS.NET的过程中所
面临的最多的挑战就是如何简化应用开发中不断增长的复杂度。VS.NET的很多重点
都在于将Web服务开发的细节问题抽象化,并且隐藏新的协议的细节问题,比如新
的“简单对象操作协议(Simple Object Access Protocol ,SOAP)”;“Web服务描
述语言(Web Services Description Language ,WSDL)”;“通用描述,发现及集
成(Universal Description, Discovery, and Integration ,UDDI)”当然还包括
XML。
VS.NET 将包含一些向导或者框架一类的东西,使开发人员可以更加容易的迁移到
Web服务开发模式上。
VS.NET:更好的工作台?
我们相信Microsoft的目的是将VS.NET塑造成为在.NET开发中占统治地位的开发环
境,其中不仅包括Microsoft自己的核心语言,也包括第三方产品。为了实现这一
目标,Microsoft特别为VS.NET的IDE设计了开放式的结构,并且通过合作伙伴计
划,鼓励第三方厂商将其工具结合到VS.NET的IDE中。
到现在,已经有很多开发商宣布了对VS.NET的支持,并且将发布附加工具产品,比
如针对COBOL, Perl, 以及其它语言的编译器,以及建模工具和源代码控制工具。
有些老的VS工具则不能得到完全的支持了。
其实VS.NET的主要竞争者并不是其它的Win32 服务器/客户机应用开发工具。这场
战争已经过去而且Microsoft已经获得了胜利:Visual Studio 6.0事实上已经成为
了传统Win32/COM开发的标准工具,多数其它的工具都被排挤到了较小的封闭领
域,比如Borland Delphi, Sybase PowerBuilder, 以及 Centura Team Developer
等。
VS.NET的真正竞争对手是以Java为基础的应用开发工具,这些工具来自IBM,SUN,
WebGain, Oracle, 以及 Borland。Microsoft的意图是使用VS.NET来把其市场从
传统的客户机/服务器和Internet应用开发市场扩展到企业级以及电子商务开发市
场。
.NET同时关注作为用户支持的开发者。在软件就是服务以及Web服务的认识前提
下,VS.NET将从一个相对独立,类似于工作台的胖客户端演变成为有效依靠网络服
务的中心。开发者首先可以期待的是MSDN和UDDI注册集成,以后还会和测试服务等
进行集成,使VS.NET不仅仅是.NET开发环境,同时也是.NET服务的消费者。
VS.NET的优势和不足
我们相信对于开发者来说,VS.NET仍然是一把双刃剑。它的确为新的开发策略提供
了大量的功能和技术支持,比如Web服务,XML,以及跨平台代码。这些新的技术将
是未来直到2006年支持Microsoft应用开发核心的必要因素。
然而,Visuabl Stuido毕竟已经有两年没有更新了。不管怎么说,大量的新特性使
得VS.NET成为一个全新的产品。新的功能对开发人员来说总是会造成一些断续,比
如,新的面向对象的特性就与Visual Studio 6.0中的有很大差别。虽然VS.NET提
供了转换旧的Visual Basic工程的程序,但是真正能全自动,无手工干预的转换是
凤毛麟角。VS.NET将不支持某种向后兼容的运行模式,不能无改变的运行旧的工
程。
在以前的研究中,我们预计到2005年Microsoft和Java平台将用于至少75%的新型电
子商务应用开发领域。而且,上述两个平台所获得的市场分额将是大致相等的,无
论是谁都无法取得超过10%的市场分额优势。
对于Microsoft应用开发阵营,问题是何时而不是是否迁移到VS.NET。这个产品和
Visual Studio 6.0之间存在巨大的断续,很多开发者在这个迁移中要花些精力进
行新的学习;不过这种努力是值得的,因为Microsoft将一直将VS.NET作为其应用
开发策略的核心至少到2005年。VS.NET的beta版本已经可以从Microsoft的Web站点
下载了。Microsoft已经宣布将在2001年发布正式的版本,我们相信最早这个正式
版本也要等到2001年2季度末。(Said by Masa: the VS.NET will be released in
Nov this year)
在2001年的一月,Microsoft宣布了面向.NET的Java使用者迁移方法(JUMP to
.NET),这是一组独立开发的技术和服务,可以在.NET平台上支持Java语言项目。
JUMP to .NET 包含了四个主要的部分:
* 使Java语法支持.NET架构类的工具
* 自动将Java源代码转换为C#的工具
* 使Java应用程序经过固定的修改可以在.NET架构上运行的工具
* 一个用于加速转换过程的付费顾问服务
Microsoft的对类Java语言的支持,对于以前有Java经验,又想转移到.NET架构的
开发者来说是很有吸引力的。不过,如果你真想迁移到.NET,这些手段终究只是最
终迁移到C#的一个过度。对类Java语言的支持对于那些必须同时支持Java和.NET的
企业也是具有潜在的诱惑力的。然而对于这些公司来说,架构上的断续仍然是最主
要的问题。
我们鼓励企业通过.NET去继续探索新的Java特性,但是要特别小心,而且最好还是
注意迁移到C#或者是其它原生.NET语