直播中
雖然Visual Studio在服務(wù)器/客戶機領(lǐng)域比其競爭對手作的要好,但是它卻難以提
供新一代工具應(yīng)該提供的功能。支持了這個工具在競爭中的領(lǐng)導(dǎo)地位的只是
Microsoft龐大的市場分額以及Visual Studio廣大的用戶群,而不是領(lǐng)先的技術(shù)。
即將發(fā)布的VS.NET是Microsoft新的應(yīng)用開發(fā)策略的基石,并且擔(dān)負(fù)著未來5年維持
Microsoft在應(yīng)用開發(fā)領(lǐng)域優(yōu)勢的重?fù)?dān)。在這里,我們要討論一下VS.NET中的一些
新功能,看看它如何和競爭對手競爭。
VS.NET的未來:重點是.NET
雖然VS.NET繼續(xù)支持組件對象模型(COM)技術(shù),但是其最主要的目標(biāo)是實現(xiàn).NET架
構(gòu)。這種新的架構(gòu)由三個主要的核心組成:通用運行時(Common Language Runtime
,CLR),一組類庫,以及Active Server Pages 的擴展:ASP.NET。
VS.NET 的主要任務(wù)是通過開發(fā)語言,編譯器,調(diào)試器,向?qū)?,組件以及GUI工具等
等支持.NET架構(gòu)。很多VS.NET最顯著的新特性都是專門面向.NET架構(gòu)的,比如:
Visual Basic 將成為純面向?qū)ο蟮?,包括了繼承,封裝,重載,多態(tài)等特性。另
外,VB將支持“自由線程化(free threading)”模型,以前的VB則只能使用受到限
制的“單元線程化(partment threading)”模型。同時VB使用了更加健壯的異常處
理結(jié)構(gòu)。
Visual C++ 將增加一些對.NET架構(gòu)的支持功能,包括屬性化的C++編程以及可管理
的擴展(比如,對C++語言屬性進行擴展使之特別支持.NET架構(gòu)管理代碼)
VS.NET則將增加一種.NET的原生語言——C#,這種語言算的上是對VB的易用性和
C++的強大功能的一個折中,但是其限制就是你還要花一定的時間去學(xué)習(xí)這個新的
語言。
Web窗體設(shè)計攻擊以及擴展的ASP.NET結(jié)構(gòu)將提供對XML的全面支持,同時也將支持
HTML以及其它的以Internet為核心的跨語言用戶界面技術(shù)。比如,ASP.NET將全面
支持可編譯語言,比如C#以及Visual Basic,以替代老的解釋性的VBScript模型。
多語言支持則是VS.NET以及.NET架構(gòu)中的一個核心概念。所有VS.NET的核心語言甚
至包括第三方的編譯器都支持.NET架構(gòu)的CLR。這種類似于虛擬機的技術(shù)承諾將簡
化在應(yīng)用開發(fā)中使用多種開發(fā)語言的集成問題。
Web服務(wù)在VS.NET的任務(wù)中扮演著核心的角色。Microsoft在發(fā)布VS.NET的過程中所
面臨的最多的挑戰(zhàn)就是如何簡化應(yīng)用開發(fā)中不斷增長的復(fù)雜度。VS.NET的很多重點
都在于將Web服務(wù)開發(fā)的細(xì)節(jié)問題抽象化,并且隱藏新的協(xié)議的細(xì)節(jié)問題,比如新
的“簡單對象操作協(xié)議(Simple Object Access Protocol ,SOAP)”;“Web服務(wù)描
述語言(Web Services Description Language ,WSDL)”;“通用描述,發(fā)現(xiàn)及集
成(Universal Description, Discovery, and Integration ,UDDI)”當(dāng)然還包括
XML。
VS.NET 將包含一些向?qū)Щ蛘呖蚣芤活惖臇|西,使開發(fā)人員可以更加容易的遷移到
Web服務(wù)開發(fā)模式上。
VS.NET:更好的工作臺?
我們相信Microsoft的目的是將VS.NET塑造成為在.NET開發(fā)中占統(tǒng)治地位的開發(fā)環(huán)
境,其中不僅包括Microsoft自己的核心語言,也包括第三方產(chǎn)品。為了實現(xiàn)這一
目標(biāo),Microsoft特別為VS.NET的IDE設(shè)計了開放式的結(jié)構(gòu),并且通過合作伙伴計
劃,鼓勵第三方廠商將其工具結(jié)合到VS.NET的IDE中。
到現(xiàn)在,已經(jīng)有很多開發(fā)商宣布了對VS.NET的支持,并且將發(fā)布附加工具產(chǎn)品,比
如針對COBOL, Perl, 以及其它語言的編譯器,以及建模工具和源代碼控制工具。
有些老的VS工具則不能得到完全的支持了。
其實VS.NET的主要競爭者并不是其它的Win32 服務(wù)器/客戶機應(yīng)用開發(fā)工具。這場
戰(zhàn)爭已經(jīng)過去而且Microsoft已經(jīng)獲得了勝利:Visual Studio 6.0事實上已經(jīng)成為
了傳統(tǒng)Win32/COM開發(fā)的標(biāo)準(zhǔn)工具,多數(shù)其它的工具都被排擠到了較小的封閉領(lǐng)
域,比如Borland Delphi, Sybase PowerBuilder, 以及 Centura Team Developer
等。
VS.NET的真正競爭對手是以Java為基礎(chǔ)的應(yīng)用開發(fā)工具,這些工具來自IBM,SUN,
WebGain, Oracle, 以及 Borland。Microsoft的意圖是使用VS.NET來把其市場從
傳統(tǒng)的客戶機/服務(wù)器和Internet應(yīng)用開發(fā)市場擴展到企業(yè)級以及電子商務(wù)開發(fā)市
場。
.NET同時關(guān)注作為用戶支持的開發(fā)者。在軟件就是服務(wù)以及Web服務(wù)的認(rèn)識前提
下,VS.NET將從一個相對獨立,類似于工作臺的胖客戶端演變成為有效依靠網(wǎng)絡(luò)服
務(wù)的中心。開發(fā)者首先可以期待的是MSDN和UDDI注冊集成,以后還會和測試服務(wù)等
進行集成,使VS.NET不僅僅是.NET開發(fā)環(huán)境,同時也是.NET服務(wù)的消費者。
VS.NET的優(yōu)勢和不足
我們相信對于開發(fā)者來說,VS.NET仍然是一把雙刃劍。它的確為新的開發(fā)策略提供
了大量的功能和技術(shù)支持,比如Web服務(wù),XML,以及跨平臺代碼。這些新的技術(shù)將
是未來直到2006年支持Microsoft應(yīng)用開發(fā)核心的必要因素。
然而,Visuabl Stuido畢竟已經(jīng)有兩年沒有更新了。不管怎么說,大量的新特性使
得VS.NET成為一個全新的產(chǎn)品。新的功能對開發(fā)人員來說總是會造成一些斷續(xù),比
如,新的面向?qū)ο蟮奶匦跃团cVisual Studio 6.0中的有很大差別。雖然VS.NET提
供了轉(zhuǎn)換舊的Visual Basic工程的程序,但是真正能全自動,無手工干預(yù)的轉(zhuǎn)換是
鳳毛麟角。VS.NET將不支持某種向后兼容的運行模式,不能無改變的運行舊的工
程。
在以前的研究中,我們預(yù)計到2005年Microsoft和Java平臺將用于至少75%的新型電
子商務(wù)應(yīng)用開發(fā)領(lǐng)域。而且,上述兩個平臺所獲得的市場分額將是大致相等的,無
論是誰都無法取得超過10%的市場分額優(yōu)勢。
對于Microsoft應(yīng)用開發(fā)陣營,問題是何時而不是是否遷移到VS.NET。這個產(chǎn)品和
Visual Studio 6.0之間存在巨大的斷續(xù),很多開發(fā)者在這個遷移中要花些精力進
行新的學(xué)習(xí);不過這種努力是值得的,因為Microsoft將一直將VS.NET作為其應(yīng)用
開發(fā)策略的核心至少到2005年。VS.NET的beta版本已經(jīng)可以從Microsoft的Web站點
下載了。Microsoft已經(jīng)宣布將在2001年發(fā)布正式的版本,我們相信最早這個正式
版本也要等到2001年2季度末。(Said by Masa: the VS.NET will be released in
Nov this year)
在2001年的一月,Microsoft宣布了面向.NET的Java使用者遷移方法(JUMP to
.NET),這是一組獨立開發(fā)的技術(shù)和服務(wù),可以在.NET平臺上支持Java語言項目。
JUMP to .NET 包含了四個主要的部分:
* 使Java語法支持.NET架構(gòu)類的工具
* 自動將Java源代碼轉(zhuǎn)換為C#的工具
* 使Java應(yīng)用程序經(jīng)過固定的修改可以在.NET架構(gòu)上運行的工具
* 一個用于加速轉(zhuǎn)換過程的付費顧問服務(wù)
Microsoft的對類Java語言的支持,對于以前有Java經(jīng)驗,又想轉(zhuǎn)移到.NET架構(gòu)的
開發(fā)者來說是很有吸引力的。不過,如果你真想遷移到.NET,這些手段終究只是最
終遷移到C#的一個過度。對類Java語言的支持對于那些必須同時支持Java和.NET的
企業(yè)也是具有潛在的誘惑力的。然而對于這些公司來說,架構(gòu)上的斷續(xù)仍然是最主
要的問題。
我們鼓勵企業(yè)通過.NET去繼續(xù)探索新的Java特性,但是要特別小心,而且最好還是
注意遷移到C#或者是其它原生.NET語言的問題,只有這樣才能使用Microsoft平臺
的全部特性。對于那些接受了Java作為主要開發(fā)策略的企業(yè),還是去尋找一個SUN
認(rèn)證的Java平臺為最好,至少到2004年,這樣的平臺都是最能發(fā)揮Java威力的。
統(tǒng)一的開發(fā)環(huán)境
VS.NET將為以Microsoft技術(shù)為中心的應(yīng)用開發(fā)提供一個統(tǒng)一的開發(fā)環(huán)境。VS.NET
將支持傳統(tǒng)的COM/COM+應(yīng)用開發(fā),不過它更主要的是瞄準(zhǔn)新的.NET架構(gòu)以及Web服
務(wù)模型。因此,Microsoft特別將VS.NET的基礎(chǔ)結(jié)構(gòu)設(shè)計為開放的,以吸引第三方
工具加入。Visual Studio 6.0實際上是一些相互不同的開發(fā)工具的組合,包括
VB,VC,VJ,Visual InterDev等,而實際上大家可以共享的組件寥寥無幾,而VS.
NET則將是第一種完全集成的開發(fā)環(huán)境,并且是Visual Studio歷史上第一個全面擁
抱企業(yè)以及跨語言應(yīng)用開發(fā)的版本。
VS.NET的競爭策略包括:
* 巨大的市場分額以及用戶基礎(chǔ)
* 強大的組件共享和服務(wù)共享
* 全面支持.NET架構(gòu)以及Web服務(wù)開發(fā)
* 豐富的支持
VS.NET面臨的挑戰(zhàn)主要是對開發(fā)者在開發(fā)上的巨大斷續(xù)和跨越。因此對于企業(yè)來
說,在考慮VS.NET的時候,要同時全面充分的考慮Microsoft的技術(shù),中間件,操
作系統(tǒng)等多種因素,再決定自己的應(yīng)用開發(fā)策略。當(dāng)你有跨平臺的部署需要或者是
與使用其它平臺的合作伙伴合作的時候,更要多加考慮。
Visual Studio 6.0 在Microsoft開發(fā)技術(shù)市場上是一個事實上的標(biāo)準(zhǔn),而VS.NET
則將進一步鞏固其地位,同時VS.NET也為那些小的第三方供應(yīng)商提供了一個機會分
享Microsoft的巨大分額。更重要的是,Visual Studio以及其相關(guān)技術(shù),比如
C#,.NET架構(gòu)以及Web服務(wù)等,填補了舊的面向COM的工具與新的面向下一代技術(shù)的
競爭者之間一個空白。
由于VS.NET的巨大技術(shù)改變,在新技術(shù)上采取比較保守或者中庸態(tài)度的公司在2002
年一季度前不用考慮完全遷移到VS.NET,而在技術(shù)上比較激進的公司則應(yīng)該從現(xiàn)在
就開始研究VS.NET的功能,因為beta版本已經(jīng)發(fā)布了