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