什么是.NET,.NET是一個應用于一系列技術上的商標,微軟將.NET視為數(shù)字化未來的一個遠景和平臺。如果更具體、更準確地看待這種創(chuàng)新,則是把.NET視為一個商標,一個微軟已經應用于數(shù)種不同技術上的商標。這些技術有些是全新的,提供新的服務和新的可能性;另一些則允許我們以最新的方式來創(chuàng)建我們今天已經知道的各類Windows應用程序。當然,也有一些.NET家族成員只不過是掛著.NET牌子的現(xiàn)有技術的新版本而已。
.NET是軟件成為一種服務的轉移
.NET在這個方面的意義是最被廣泛接受和理解的?!败浖褪欠铡钡睦砟钭?/p>
初是在1997年左右由Oracle的CEO Larry Ellison以及SUN的CEO Scott McNealy在網(wǎng)絡計算機的概念大行其道的時候提出的。不過Oracle和SUN并沒有真正將這個概念變?yōu)楝F(xiàn)實,他們的視角更多地集中于資源集中化方面。不過,當初聽到Ellison和McNealy這番見解的公司——包括微軟,也認識到了這種見解道出了軟件產業(yè)面臨的一個巨大改變,.NET則是微軟對這種概念和這種變化作出的自己的反應。
.NET是一個新的編程模型——也就是Internet平臺
微軟正在趨向于將.NET看作一個系統(tǒng)。在表面上,它包含了兩種不同的編程模型:一個是Web服務編程模型,另一個是系統(tǒng)編程模型。
微軟開始把.NET系統(tǒng)編程模型作為.NET整體的一個組成部分,計劃最終以此代替現(xiàn)有的組件對象模型(Component Object Model,COM)以及Windows應用程序編程接口(API),這個現(xiàn)在還沒有最終正式定名的模型使用一系列新的基礎類。
.NET中最重要的新技術是Web Services。如其名稱所示,WebServices提供了某些功能,我們可以通過網(wǎng)絡加以調用。大多數(shù)擁有.NET商標的技術都可以在某種程度上直接支持Web Services。然而.NET絕非僅僅是Web Services而已,微軟置于.NET商標下的技術包括:
.NET Framework:它包括通用語言運行時(Common Language Runtime,CLR)和.NET框架類庫。CLR是構建一系列新應用程序的標準基礎,.NET類庫
則為許多基于CLR的應用程序提供一個新的標準開發(fā)環(huán)境。這個類庫包含的技術有:ASP.NET,最新一代的ASP(ActiveServerPages)技術;ADO.NET,最新一代的ADO(ActiveX Data Objects)技術;新的WINFX編程模型,不久之前被命名為.NET Framework 3.0。這個編程模型包括:WPF,最新一代的圖像引擎技術;WCF,架構于Web Services之上的通信交流框架;WWF,采用.NET以及其他一系列新技術構建起來的工作流引擎;以及對“構建和使用Web Services”的其他支持等等。微軟還發(fā)行了一個.NET Frame-work精簡版,名為.NET Compact Framework,用于小型設備,如個人數(shù)字助理(personaldigitalas-sistant,PDA)上。除此之外,還可以在XBOX 360的XNA中、微軟的Smart Watch等等產品上看到.NET的影子。
Visual Studio.NET:支持多種可使用.NET Framework的編程語言,包括Visual Basic;一個增強版的C++;一個基于.NET的Java替代語言J#,以及一個為.NET Framework量身打造的全新語言C#。
.NET My Services:一組服務,允許用戶存儲和訪問位于互聯(lián)網(wǎng)中服務器上的個人信息,例如日程表和地址簿等。這些服務還提供諸如認證(Authentication)這樣的通用功能,使客戶能夠證明自己的身份;還提供了一個“向不同設備上的客戶發(fā)送消息”的方式。
.NET Enterprise servers:一系列軟件服務器,包括Exchange Server 2003、SharePointServer2003、ProjectServer2003、BizTalkServer2006,ApplicationCenter2000、CommerceServer2000、Host Integration Server 2000、SQ
LServer2005等等。除了幾個稱為2003、2005或2006的產品外,其他的很大程度上與這里說的.NET技術沒有什么關聯(lián),但是顯而易見,在未來的版本當中,它們將全部基于.NET技術構建,上面幾個稱2003的版本已經證明了這一點。
.NET的特點
高效率開發(fā)
.NET Framework為我們提供的這個龐大而又結構清晰的類型,使我們的編程變得異常輕松,另外,自動垃圾回收機制等一系列新的特性,可以讓我們的程序員把更多的精力放在考慮如何實現(xiàn)客戶所需要的業(yè)務邏輯上,而不為計算機在控制上內存如何分派之類的事情頭痛。甚至無論是開發(fā)哪一種應用程序,無論是C/S、B/S,還是智能設備亦或是數(shù)據(jù)庫編程,你都可以使用最熟悉的一種編程語言,而不需要去學習諸如C++、ASP、SQL等各不相同的多用語言。.NET還帶來了多種語言之間的無縫集成,例如一個系統(tǒng)可以同時采用多種編程語言來開發(fā),VB.NET編寫的類可以方便地再用C#繼承。這些都大幅度地提高了我們的開發(fā)效率。
多平臺特性
盡管到目前為止.NET應用程序還只能運行于Windows平臺上,但.NET天生就為跨平臺應用做好了準備,據(jù)我們所知,微軟自己還有第三方開發(fā)商都已經在為.NET程序在Unix、OS2、Linux等系統(tǒng)上運行而工作著(如開源項目Mono)。我們
還可以看到.NET應用程序將可以運行在PDA甚至手機上,以及Vista上將要出現(xiàn)的XAML,將使我們進行應用程序開發(fā)的時候,不需要再考慮是B/S架構還是C/S架構。不久的將來,我們就可以只關心我們的應用程序如何滿足客戶的需求而不用考慮基于何種平臺來開發(fā)。
無接觸部署
借助于.NET的反射特性,.NET應用程序可以精確地描述自身。這就使得無接觸部署成為可能,.NET應用程序無需在注冊表中儲存信息,只需簡單的XCOPY便可正確地在用戶的機器上運行,這將會使企業(yè)的部署成本大為降低。而在.NET 2.0中,ClickOnce技術使我們的應用程序部署前所未有地簡單,使C/S應用程序的部署不比B/S青島網(wǎng)頁設計更困難,然而,C/S將比B/S帶來更好的用戶體驗特性。
消除Dll Hell
同樣是基于.NET的反射特性,每一個應用程序都可以清楚地知道自己需要使用哪一個Dll,同一個Dll的不同版本可以彼此和平共處,從而徹底消除讓我們頭痛的Dll Hell。
可信賴計算
長期以來,微軟系統(tǒng)的安全性問題一直備受詬病。比爾·蓋茨決定改變這種現(xiàn)狀。在.NET中,這種安全性的考慮直接放到了代碼級。通過一系列的技術,如代碼
訪問安全(CodeAccessSecuri-ty)、基于角色的安全、強名稱(StrongName)、權限和權限集等,最大限度地保證了系統(tǒng)的安全性。
.NET Framework體系結構
.NET是分層的、模塊化的,并且是層次結構化的。.NETFramewok的每一層都是一個抽象層。其中,.NET語言是頂層,也是最為抽象的一層。而通用語言運行時則位于底層,它是最不抽象、最靠近本地環(huán)境的一層。這一點很重要,因為通用語言運行時需要與操作環(huán)境緊密合作來管理.NET應用程序。.NETFramework被分成了多個模塊,每個模塊都有它們各自特定的責任。最后由于高層只從底層請求服務,所以.NET又是層次結構化的,如圖1所示。
.NET的未來
2006年底,微軟推出了新一代的操作系統(tǒng)Vista,.NET第一次上升到操作系統(tǒng)的核心API這樣一個層面的地位,.NET3.0(以前叫做WinFX)與操作系統(tǒng)緊密結合,它改變了原有的編程機制。Vista生成器最終會跟以前的Win32 API(Application Programming Interface,應用程序編程接口)進行分離,取而代之的是可管理的WinFX,而WinFX就是微軟繼DOS、Win16、Win32之后推出的第四代API。據(jù)外刊報道,以前利用Win32 API開發(fā)的軟件,在微軟承諾的維護期之后將不能運行。現(xiàn)在我們看到的是成千上萬的Win32開發(fā)人員,我們在Windows上運行的軟件幾乎全部是使用Win32開發(fā)的。青島網(wǎng)站建設案例賞析將來,我們看到的會是成千上萬的.NET開發(fā)人員,在Windows上運行的軟件將幾乎全都是使用.NET開發(fā)的。
在非PC上,我們也將看到.NET出現(xiàn)在PDA、手表等設備上,如果你對.NET了解得更多一些的話,還將可以在XBOX360、電視機頂盒甚至機器人身上找到它的身影。
Copyright All Rights GreatGoal Design co.,ltd. 魯ICP備16002128號-3