web|web服務|電子商務 從上次Microsoft更新其Visuabl Studio IDE到現在有兩年的時間了,而Visual
Studio也開始顯得老了,特別是在迅速發展的電子商務應用開發工具市場上。
雖然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語言的問題,只有這樣才能使用Microsoft平台 的全部特性。對於那些接受了Java作為主要開發策略的企業,還是去尋找一個SUN
認證的Java平台為最好,至少到2004年,這樣的平台都是最能發揮Java威力的。
統一的開發環境
VS.NET將為以Microsoft技術為中心的應用開發提供一個統一的開發環境。VS.NET
將支援傳統的COM/COM+應用開發,不過它更主要的是瞄準新的.NET架構以及Web服
務模型。因此,Microsoft特別將VS.NET的基礎結構設計為開放的,以吸引第三方
工具加入。Visual Studio 6.0實際上是一些相互不同的開發工具的組合,包括
VB,VC,VJ,Visual InterDev等,而實際上大家可以共用的組件寥寥無幾,而VS.
NET則將是第一種完全整合的開發環境,並且是Visual Studio曆史上第一個全面擁
抱企業以及跨語言應用開發的版本。
VS.NET的競爭策略包括:
* 巨大的市場分額以及使用者基礎
* 強大的組件共用和服務共用
* 全面支援.NET架構以及Web服務開發
* 豐富的支援
VS.NET面臨的挑戰主要是對開發人員在開發上的巨大斷續和跨越。因此對於企業來
說,在考慮VS.NET的時候,要同時全面充分的考慮Microsoft的技術,中介軟體,操
作系統等多種因素,再決定自己的應用開發策略。當你有跨平台的部署需要或者是
與使用其它平台的夥伴合作的時候,更要多加考慮。
Visual Studio 6.0 在Microsoft開發技術市場上是一個事實上的標準,而VS.NET
則將進一步鞏固其地位,同時VS.NET也為那些小的第三方供應商提供了一個機會分
享Microsoft的巨大分額。更重要的是,Visual Studio以及其相關技術,比如
C#,.NET架構以及Web服務等,填補了舊的面向COM的工具與新的面向下一代技術的
競爭者之間一個空白。
由於VS.NET的巨大技術改變,在新技術上採取比較保守或者中庸態度的公司在2002
年一季度前不用考慮完全遷移到VS.NET,而在技術上比較激進的公司則應該從現在
就開始研究VS.NET的功能,因為beta版本已經發布了