一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

夢想創造可能——盤點微軟 .NET 技術八年發展歷程

  文 / 劉如鴻

  2000年對于微軟是頗有意思的一年,一方面終于邁入了21世紀,擔心許久的千年蟲問題也沒有預想中的那樣大面積爆發,通過Windows 95和Windows 98的成功,微軟在桌面電腦市場取得了絕對壟斷的地位。雖然官司不斷,但通過IE捆綁策略也終于徹底打敗了傲慢的NETscape,搭上了互聯網班車。而Windows 2000的發布也結束了Windows 98和Windows NT兩個平臺互不兼容、互相掐架的問題,在全新的NT 5.0內核上,服務器和客戶端操作系統終于得到了整合。至于辦公軟件領域,從Office 97之后已經睨視宇內,Lotus Note已經漸漸退出市場,再也沒有了重量級的競爭對手。

  可在開發工具領域,自從1998年發布Visual Studio 6.0之后,在語言的角度似乎已經止步不前,鼓吹多年的COM技術依舊令人稱垢,極高的開發門檻加上本身的復雜性,使自家的VB始終不得其入。而在另一方面,1995年Sun公司推出的Java語言風生水起,因為其倡導“一次編程,到處運行”,加上面向對象、垃圾回收、健壯性等諸多優點,使得這個原本用來開發嵌入式設備和桌面應用的語言反倒在服務器開發領域異軍突起。

  反觀微軟本身,雖然Visual Studio 6.0號稱做到了同一開發平臺可以編寫多種語言,可實質上只是不同語言、不同開發工具的大雜燴,不同語言之間是彼此孤立的,如果說和Java一樣,只是同樣做到了可視化開發,或許這就是Visual Studio的本意。

  不管是出于進軍中高端服務器市場的需要,還是對競爭對手戰略防御的考慮,微軟都需要一個全新的開發平臺來鎖定開發人員,使其能夠在微軟的平臺上進行開發和提供服務,這不是令人晦澀的COM或者COM+,也不是Anders初到微軟的作品WFC(可有多少人還記得當年的Visual J++?),也不會是VC++,因為令人絕望的MFC讓大多人望而怯步,當然也不會是VB,它無法勝任相對底層的應用開發,當然,更加沒有理由是Java平臺,這不符合微軟一直以來的風格。 

  Windows 2000推出之際,微軟提出了一個NGWG(下一代的Windows服務)的愿景,除了作為市場宣傳的噱頭,一個模糊定位的概念并沒有做到讓多少人明白,對于當時已經全球領先的微軟而言,需要一個全新的、充滿想象力的平臺來延續他們的成功。

  2000年,在那年的6月22號,比爾·蓋茨向全球宣布其下一代軟件和服務,即Microsoft .NET平臺的構想和實施步驟。新一代的Microsoft .NET家族產品和技術替代了此前“下一代Windows服務(NGWS)”的提法,它涵蓋了幫助軟件開發商構建下一代互聯網服務和給予新一代智能互聯網設備強大功能的軟件。此外,微軟還宣布了基于.NET平臺的新產品計劃,其中包括新一代的微軟Windows操作系統、Windows DNA服務器、微軟Office、MSN互聯網網絡服務、Visual Studio開發系統。

  當時,許多人懷疑這是否是微軟一次市場宣傳的Buzz Word,微軟是否會在未來的十年乃至二十年堅定地推進他們構筑的.NET戰略。2000年微軟的白皮書這樣定義.NET:Microsoft® .NET 是Microsoft XML Web Services平臺。XML Web Services允許應用程序通過InterNET進行通信和共享數據,而不管所采用的是哪種操作系統、設備或編程語言。Microsoft .NET 平臺提供創建XML Web Services并將這些服務集成在一起之所需。對個人用戶的好處是無縫的、吸引人的體驗。

  顯然,微軟把.NET戰略真正押寶在了XML Web Services之上,時隔十年之后,我們可能會說當初微軟的決策是極具遠見和充滿想象力的,可在當時,孰是孰非誰人定論。在平臺正式推出之前,為了推進.NET,微軟開展了一場聲勢浩大的DotNETination(.NET化)的運動,幾乎所有傳統的、創新的、虛構的產品統統打上了“.NET”標簽,最典型的莫過于2000年底推出的.NET Enterprise Server,本質上和.NET技術毫無關系,僅僅是因為這場聲勢浩大的宣傳運動中,需要這樣的鋪墊罷了。

  不可否認,微軟在當時過分“夸大”了.NET戰略,加之2001年推出的Windows XP并沒有.NET的影子,于是漸漸有人懷疑微軟用心不專,是否在逐步地放棄當初的信誓旦旦,所謂的.NET戰略只是水花鏡月。

  2002年,一段時間的步履闌珊之后,2002年2月13號微軟正式發布了Visual Studio .NET 2002,其中包含了.NET Framework 1.0,除了引入一門全新的語言C#之外,同時提供了對于Java的支持。也有人懷疑過微軟當時推出J#的意圖,現在看來不過是為了吸引更多的Java開發人員轉投.NET懷抱罷了,而不是對于Java市場的有心經營,這個在后來的Visual Studio版本也得到了證明。

  作為一個全新的開發平臺,在語言方面,C#大量借鑒了Java的語法,同時保留了VB方面的諸多便利性。作為平臺的重頭戲ASP.NET,也傳承了微軟一直以來的可視化設計風格,允許開發人員以拖放方式開發Web應用,對于許多人來說是極具吸引力的,于是逐步有開發人員轉投.NET懷抱。尤其是隨著Borland的沒落,越來越多的Delphi開發人員投向了.NET或者Java陣營。而在開發工具的支持上,.NET無疑是有巨大優勢的。

  可是.NET 1.0畢竟是全新的平臺,許多類庫是不成熟的。尤其是安全方面,如果反射看過當時的.NET Framework源代碼,可以看到許多倉促的痕跡。另外也繼承Windows一直以來的毛病,在7×24運行的場景下,還是“不靠譜”了一點兒,雖然相對于COM,已經好上許多,但依舊會出現一些“詭異”的場景。

  2003年4月25日,曾被命名為Windows .NET Server的操作系統Windows Server 2003正式發布,同日發布了Visual Studio .NET 2003,并將.NET Framework的版本升級到了1.1.4322。這個四度易名的Windows操作系統內置了.NET Framework 1.1,同時IIS的版本升級到了6.0。相對于當初.NET戰略的喧囂,此時的微軟對于.NET已經低調務實許多。除開發工具本身,對于微軟而言,Windows Server 2003是一個非常重要的里程碑:一方面證實了Windows操作系統在企業級應用的能力,一方面.NET終于完成了和Windows操作系統的無縫集成,也真正意義上為開發人員提供了一套完整的.NET解決方案。

  在這個版本的.NET Framework中,修正了大量1.0的Bug,性能和穩定性也得到了比較大的提高,與此同時引入了手機應用開發,包含了.NET Compact Framework。不管開發桌面應用,還是Web應用,或者是手機設備的應用,Visual Studio .NET提供了統一的開發語言和開發界面,使得開發人員能夠在不同應用開發中自由切換。

  隨著.NET Framework的穩定,微軟內部越來越多的產品采用.NET重新開發,或者提供了和.NET的無縫對接,這個也就是微軟一直強調的“Connected”。所有的軟件和產品都是可以互聯的,其中莫過于2003年發布的Exchange 2003、Office 2003以及2004年發布的Biztalk Server 2004,允許開發人員使用.NET開發應用,并且做到了無縫集成。

  在2003年拉斯維加斯的微軟開發者大會上,微軟首次展示了開發代號為“Whidbey”的下一代開發工具。與此同時展示了開發代號為“Yukon”的下一代數據庫服務器,也就是后來的SQL Server 2005。令人驚艷的遠不止這些,還有開發代號為“Longhorn”的下一代操作系統,在這個全新的操作系統中,包含非常重要的幾個組件:

  Avalon:圖形渲染引擎,全新的XML定義語言XAML,使其可以用類似HTML的文本語言來定義界面,并提供了華麗的界面效果。

  Indigo:通信子系統,這是微軟為了解決異構通信協議而設計的,旨在希望通過它幫助開發人員以不同的方式提供服務和通信。

  WinFS:文件子系統,現在看來,這是微軟一個美麗的謊言,也是微軟對于文件系統偉大的夢想。據說關于WinFS的概念設計早在2000年就被提出來,并希望應用于新一代的SQL Server。2003年雖然實現了技術原型,但終究因為無法克服的性能問題,微軟不得不將計劃擱淺。

  與此同時,微軟承諾提供一個.NET編程接口,叫著WinFX。可也正是從這次大會開始,微軟不斷跳票成了一種習慣。就如前面提到的,2004年之前微軟發布的大多產品,都是部分甚至全部采用.NET重寫,至少提供了開發方面的無縫支持,也就意味著開發人員可以使用C#或者VB.NET在微軟平臺上開發所有的應用。這里又不得不提Longhorn了,這個“長角”的犀牛似乎有些吹牛不用本錢,一次又一次地跳票,發布日始終無期,有消息說Longhorn考慮過全部用.NET重寫,但這顯然是瘋狂、不切實際的想法。畢竟Windows的歷史包袱太過沉重,另外在沒有硬件支持的情況下,CLR運行效率在針對系統級方面的開發是否有性能問題還是要打個問號。

  2005年,一切風調雨順,兩年前PDC大會給眾多開發人員吊足了胃口的Whidbey和Yukon,終于在2005年11月7號姍姍來遲。一直以.NET命名的Visual Studio換成了Visual Studio 2005,同時將.NET Framework的版本升級到2.0,在CLR底層引入了泛型,同時為了方便開發人員,內置了一個用于開發調試的Web服務器,使得開發人員在開發過程可以更加方便地測試與部署。一般來說微軟的產品到第三個版本才會穩定下來,.NET Framework也逃不過這個宿命。CLR并不是簡單的類庫方面的升級,而是全新的CLR,相對于1.1版本,運行效率和穩定性都有了大幅度的提高。

  在開發方面,微軟第一次兜售自己的軟件開發方法學,Visual Studio為開發人員提供了全套的解決方案,使開發人員可以在不離開IDE的情況下完成團隊協作。而在類庫方面,引入了Web Parts、Membership、Master Pages、Theme等多個能夠加快Web應用開發的技術。只是在這點,微軟犯了一個不大不小的錯誤。一直以來微軟開發工具的設計原則是“拖放操作”,而ASP.NET 2.0的許多技術也正是契合這樣的設計思想,只是微軟依舊按照桌面開發的設計思路去引導Web開發。世界已經改變,在瀏覽器市場,由于微軟多年的不思進取,Firefox被逐漸接受,同時隨著Web 2.0崛起,越來越多的網站設計師傾向于更加簡潔的界面和更加豐富的用戶體驗,于是DIV+CSS和Ajax變得越來越流行。不管Web Parts也好,Membership也罷,雖然可以通過拖放很簡單地完成一個業務功能,但是過于冗余的HTML生成加上自身模型的復雜,除了一些對性能和用戶體驗要求不是很高的站點,在Web開發上,開發人員更加愿意堅持手寫HTML和使用簡單的“控件綁定”。因為他們深信唯有如此,方可寫出符合Web 2.0風格的Web應用,而Visual Studio 2005能夠幫上的并不多,加上第一次集成了Visual Studio,開發工具的性能并沒有得到很好的解決。不管如何,這是一個成功的Visual Studio版本。

  同日發布的SQL Server 2005完全架構在.NET之上,并允許開發人員使用.NET編寫存儲過程和函數,并且因此了XML的數據類型,同時支持.NET編寫的用戶自定義類型(UDT),在這個版本的數據庫上,.NET從之前的“Connected”變成了“Embed”。同時SQL Server 2005引入了激動人心的SOAP支持,這就意味著可以直接將數據庫暴露成Web服務,從而提供給應用系統直接訪問,為了方便開發人員進一步基于SQL Server進行開發和管理,SQL Server 2005引入了全新的管理界面——SQL Server Management Studio,并且和Visual Studio 2005的界面一致。

  2006年,Longhorn操作系統的一次又一次跳票,幾乎讓所有人都失去了耐心,為了撫平抱怨不斷的開發者社區,也是為了挽回些顏面,微軟將WPF(圖形渲染)、WCF(通信)、WF(工作流)和Windows Cardspace整合成代號為“WinFX”的.NET Framework 3.0,并于2006年11月6日發布。不過此WinFX并不是三年前提到的WinFX。不管如何,從某種程度來說,微軟在三年前的開發者大會的承諾總算兌現了一部分,3.0并不是一個全新的.NET Framework,而是2.0的補充,之前提到過2.0在CLR層面脫胎換骨,但是在基礎類庫上依舊比較薄弱,隨同2.0發布的許多新類庫華而不實,并無法對開發者社區產生重大影響。而3.0的發布是對2.0框架的一個重要補充,它彌補了微軟在企業級開發的軟肋。

  同年Biztalk Server 2006發布,如同SQL Server 2005的做法,這是一個完全用.NET編寫的企業級平臺,也是完全支持.NET的開發平臺。

  2007年1月30日,在一次又一次的跳票之后,微軟終于全球發布了全新的操作系統——Windows Vista,或許是因為等待了太久,所以期望很高,失望也就更大。我想更多的是因為不斷跳票,包括之前的過度許諾,加上對于硬件要求苛刻和驅動的不兼容,從上市的第一天開始Vista就惡評如潮。這個全新的操作系統理所當然地沒有全部用.NET編寫,因為這本就是天方夜譚。因為諸多的原因,大多企業并沒有選擇從XP遷移到Vista,而是持續觀望,等待下一個版本的Windows。本希望如Windows XP那般成功的Vista注定是一個過渡的操作系統。

  2007年11月19號,時隔.NET 3.0發布一年之后,微軟發布了Visual Studio 2008,隨同發布了.NET Framework 3.5。雖然在CLR上沒有改變,依舊是作為2.0的一個擴展,但是在編程模型上,有了重大突破。如果說.NET之前都是處在追趕和模仿其他平臺的階段,那么3.5將是一個華麗轉身,Linq和XLinq為開發人員帶來了激動人心的編程體驗。開發人員可以混合對象與數據,然后用同樣的查詢方式進行數據處理,更重要的是允許開發人員在任意環節進行擴展,許多Web 2.0網站或者開源框架都提供了Linq  for XXX的Provider,從而幫助開發人員以一致的方式進行數據處理。

  同年Exchange 2007和Office 2007發布,在企業級辦公領域,微軟擁有越來越強的競爭力,貫徹微軟一致以來的作風,.NET編程在服務器端和客戶端都得到了淋漓盡致的支持。

  2008年2月,Windows Server 2008發布,隨同一起的有IIS 7.0。之前的IIS訪問.NET,都通過ASPNET_isapi來轉發的,也就是說并不是IIS天然支持ASP.NET,而直到IIS 7.0全新引入的管道模型,.NET終于成為Windows操作系統密不可分的一部分。

  同年8月6號發布的SQL Server 2008,配套Windows Server 2008和Visual Studio 2008,立足于.NET技術,構成了完整的Windows應用解決方案。八年時間,從一個模糊不清的概念到如今的無處不在,這家全球最偉大的軟件公司一直以來不遺余力地推進它的.NET戰略。

  翹動未來的可能

  經過近十年的耕耘,微軟創造了一個全新的軟件開發平臺,其中有浮躁、挫折,更有銳意進取。當年的小伙子Scott早就掌管了微軟的開發工具事業部,或許他個人的成長歷程猶如.NET的成長,喧囂之后,云煙散盡,當年的.NET夢想已經照進現實,可是否如微軟當初預期的成功,外界很難明了。

  不過有一點可以肯定,微軟通過.NET戰略改變了軟件開發格局,同樣也改變了微軟。這家以封閉保守著稱的公司,一直以來對開源世界嗤之以鼻,這個狀況從2005年之后逐步改觀,畢竟開放的微軟遠比固執的微軟更受歡迎。2006年5月啟動的codeplex.com,是一個微軟擁抱開放的重要標志。除了社區上的開源代碼,微軟也逐步地將一些內部的產品開源,著名的莫過于Enterprise Library和ASP.NET MVC,與此同時越來越多的開發經理和產品經理開始通過Blog和世界保持溝通。

  臨即發布的Visual Studio 2010,也帶給了我們更多的期待,能夠堅持十年去做一個事情已經很難得,未來的路很長,對于微軟如此,對于開源世界亦如此。而對于我們每一個人,我想用《程序員》雜志的“技術改變世界,創新驅動中國”來作最后的總結。

  有夢想,就有可能。

  作者簡介:

  劉如鴻,擅長大型系統的架構與互聯網產品設計,目前為支付寶上海研發中心架構師,專注于系統架構設計。

  (本文來自《程序員》雜志10年04期)

NET技術夢想創造可能——盤點微軟 .NET 技術八年發展歷程,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 午夜免费大片 | 国产成人悠悠影院 | 欧美精品在线免费观看 | 搞黄网站免费看 | 久久国产乱子 | 欧美成人高清在线视频大全 | 热伊人99re久久精品最新地 | 高清免费久久影院 | 亚洲涩综合 | 久色成人 | 国产精品日韩欧美在线第3页 | 在线视频免费国产成人 | 91精品国产高清久久久久久io | 久久综合九色综合97婷婷群聊 | 99免费精品视频 | 国产日韩欧美精品一区二区三区 | 一本色道加勒比海在线 | 美女网站免费看 | 女人18毛片久久鬼色 | 在线视频精品一区 | 成人在线视频网址 | 国产成人啪精品视频免费网 | 亚洲国产综合精品中文字幕 | 久久精品国产2020观看福利色 | 涩涩涩在线视频 | 亚洲视频网站在线观看 | 午夜hhh视频在线观看hhhh | 白白在线成人永久视频 | 91嫩草国产线免费观看 | 日本一区二区在线不卡 | 久久久中文字幕日本 | 怡红院在线观看精品 | 91白丝制服被啪到喷水在线 | 欧美精品高清在线xxxx | 亚洲国产第一区二区三区 | 碰91精品国产91久久婷婷 | 久久99国产亚洲高清观看首页 | 国产在线精品一区二区三区 | 亚洲欧美第一页 | 中文字幕一区二区三区视频在线 | 岛国午夜 |