.NET十年:技術(shù)夢(mèng)想的兩極
原創(chuàng)【51CTO外電頭條】今天,.NET對(duì)于我們而言可能早已司空見(jiàn)慣。在十年前的這個(gè)星期,也就是2000年7月7日,微軟在阿姆斯特丹技術(shù)大會(huì)上公布了全新的.NET架構(gòu)設(shè)想。然后,在接下來(lái)的一周里,微軟在奧蘭多、佛羅里達(dá)州召開(kāi)的開(kāi)發(fā)者專(zhuān)家會(huì)議中透露了更多關(guān)于該架構(gòu)的詳情。
微軟的競(jìng)爭(zhēng)對(duì)手VMware的現(xiàn)任首席執(zhí)行官Paul Maritz,時(shí)任微軟集團(tuán)的副總裁。是他最早宣布了為建設(shè)、整合和運(yùn)行下一代基于XML的網(wǎng)絡(luò)服務(wù)而進(jìn)行.NET架構(gòu)和Visual Studio.NET開(kāi)發(fā)的實(shí)用性。
很難想象,如果沒(méi)有.NET和C#語(yǔ)言,微軟平臺(tái)會(huì)變成什么樣子。盡管如此,在這十年里,有些事情還是沒(méi)有能夠按照預(yù)選設(shè)想的進(jìn)行。下面,讓我們一起來(lái)看看來(lái)自.NET故事中的酸甜苦辣。
遺漏:代碼訪(fǎng)問(wèn)安全策略
代碼訪(fǎng)問(wèn)安全策略起初是為了通過(guò)給予管理員權(quán)限來(lái)控制使用.NET庫(kù)和應(yīng)用程序的權(quán)限來(lái)確保Windows的安全。但不幸的是,就像微軟已經(jīng)承認(rèn)的那樣,成功地進(jìn)行這項(xiàng)策略的配置對(duì)于普通人而言過(guò)于復(fù)雜。所以,它基本上已經(jīng)從.net 4.0架構(gòu)中被移除。
實(shí)現(xiàn):APS.NET模型-視圖-控制器
微軟的ASP.NET網(wǎng)絡(luò)窗體在當(dāng)時(shí)來(lái)看可以說(shuō)是一個(gè)輝煌的進(jìn)步。你可以給網(wǎng)絡(luò)應(yīng)用程序編碼,就像給桌面應(yīng)用程序編碼那么簡(jiǎn)單。隨著時(shí)間的推移,ASP.NET已經(jīng)變得不是那么有吸引力了,原因顯而易見(jiàn):它有著復(fù)雜的頁(yè)面使用周期,不怎么雅觀的隱藏變量和讓人頭疼的單元測(cè)試。于2009年首次面世,ASP.NET模型-視圖-控制器為人們提供了一個(gè)更簡(jiǎn)潔、更快速、更可測(cè)并且與網(wǎng)址向?qū)П硎鲂誀顟B(tài)轉(zhuǎn)移(REST)更為一致的的替代方案。
遺漏:JScript.NET
Jscript.NET是JaveScript的網(wǎng)絡(luò)版。它出現(xiàn)在Ruby和Python讓動(dòng)態(tài)語(yǔ)言變得新穎之前。就像Adobe的ActionScript試圖推行命運(yùn)不濟(jì)的ECMAScript4.0一樣,JScript從來(lái)就沒(méi)有能夠找到進(jìn)入網(wǎng)絡(luò)瀏覽器的方向。51CTO向您推薦《JScript、Java、JavaScript和JSP總結(jié)》
IE腳本增加?
談到瀏覽器,從2000年就有關(guān)于Visual Basic.NET的評(píng)論:“我們打算在發(fā)布下一版本的時(shí)候?qū)⑦@些功能加回到Visual Basic.NET語(yǔ)言中去,這樣我們就能夠趕上與微軟IE進(jìn)行整合的步伐。”
這意味著微軟打算將.NET的運(yùn)行時(shí)作為IE的腳本引擎。如果微軟開(kāi)啟該功能,或許IE腳本就不會(huì)比現(xiàn)在的Firefox、Safari或者Chrome慢了。
盡管沒(méi)有人提,但是Jscript在.NET 4.0架構(gòu)中依然存在。
實(shí)現(xiàn):C#
創(chuàng)造一門(mén)新的語(yǔ)言不是件容易的事情,但是微軟的C#無(wú)疑是成功的。它的首席研發(fā)設(shè)計(jì)師Anders Hejlsberg從Turbo Pascal和Delphi中汲取了大量的經(jīng)驗(yàn),讓C#把.NET從Visual Basic的繁冗和C++的復(fù)雜中解救出來(lái)。從它的首次發(fā)布以來(lái),微軟已經(jīng)為它增加了很多強(qiáng)大的語(yǔ)言功能,包括泛型、語(yǔ)言集成查詢(xún)(LINQ)、隱含類(lèi)型和動(dòng)態(tài)類(lèi)型等。
遺漏:XBAP
XBAP是一款XAML瀏覽器應(yīng)用程序,它基本上屬于一個(gè)完整的WPF應(yīng)用程序,但是必須以瀏覽器為載體。它的初衷是打算讓W(xué)indows窗體的應(yīng)用程序也這樣工作,但是安全問(wèn)題意味著這一功能從未真正被開(kāi)啟,直到有一天.NET 3.0架構(gòu)中XBAPs的到來(lái)?,F(xiàn)在的問(wèn)題是:為什么夸平臺(tái)的Silverlight擁有這么多與XBAP相同的功能但是更為簡(jiǎn)單的部署?
實(shí)現(xiàn):Silverlight
高呼著“WPF無(wú)處不在”的口號(hào),Silverlight作為一個(gè)Windows和MAC瀏覽器插件面世了。它的性能很好,最新版本還可以支持桌面脫離瀏覽器的應(yīng)用程序,進(jìn)行更為安全的本地資源訪(fǎng)問(wèn)。微軟最終推出了跨平臺(tái).NET,但是蘋(píng)果公司的產(chǎn)品比如iPhone和iPad對(duì)插件始終嗤之以鼻。同時(shí),鑒于Adobe Flash在用戶(hù)中的根深蒂固,Silverlight的普及前景并令人擔(dān)憂(yōu)。
遺漏:Roter——Unix的開(kāi)源.NET
在.NET的早期,微軟曾經(jīng)有過(guò)跨平臺(tái)的構(gòu)想,標(biāo)準(zhǔn)化的.NET將超越Sun的Java。ECMA對(duì)C#和通用語(yǔ)言基礎(chǔ)結(jié)構(gòu)(CLI)進(jìn)行了統(tǒng)一標(biāo)準(zhǔn),但是這些標(biāo)準(zhǔn)不包括.NET架構(gòu)庫(kù)。微軟也發(fā)布了針對(duì)Windows和BSD Linux的源代碼,通過(guò)Rotor實(shí)現(xiàn)共享源碼公共語(yǔ)言基礎(chǔ)。最后一個(gè)版本于2006年只針對(duì)Window發(fā)布,現(xiàn)在,一切都趨于平靜。
實(shí)現(xiàn):PowerShell
PowerShell于2006年面世,開(kāi)發(fā)代號(hào)為Monad。這是一個(gè).NET命令外殼腳本系統(tǒng)管理工具。它對(duì)于沒(méi)有圖形用戶(hù)界面的Windows服務(wù)器核心尤為有用。2.0版本與Windows 7和服務(wù)器2008 R2同時(shí)問(wèn)世,擁有能夠打開(kāi)遠(yuǎn)程機(jī)器上PowerShell會(huì)話(huà)的功能。由于PowerShell的易擴(kuò)展性,微軟的Exchange Server能夠?qū)崿F(xiàn)目前最好的PowerShell管理和使用。51CT0在2008年也關(guān)注過(guò)PowerShell的發(fā)展,還請(qǐng)大家注意我們的《10月TIOBE編程語(yǔ)言排行榜發(fā)布 PowerShell跌落谷底》和《七月開(kāi)發(fā)語(yǔ)言排行榜出爐 PowerShell有望成為年度黑馬(圖)》
原文標(biāo)題:Microsoft's .NET at ten: big hits, strange misses Alert Print Post comment Retweet Facebook Silverlight, C# and, er, JScript.NET
作者: Tim Anderson
【編輯推薦】