2011年2月17日 星期四

3-2 ASP.NET、VB.NET與C#之間的關係

        我們在談.NET Framework時,曾經稍稍介紹過ASP.NETVB.NETC#三者之間的關係。

        .NET Framework推出初期,很多人搞不清楚者三者之間的關係,以為ASP.NETVB.NETC#是三種不同的程式設計語言,而ASP.NET還是ASP的下一代…!#$!@^?!*

        然而,實際上的觀念相去甚遠!
        嚴格說起來,ASP.NETASP之間應該說幾乎完全沒有任何關係。
        ASP,是一種Script語言,我們在設計網頁時,在副檔名為*.AspHTML網頁中,利用<%…%>加上這種Script式的『程式碼片斷』,達成使用者與後端網際網路伺服器上的系統(或資料庫)互動的功能,這是ASP。在地位上對比起來還比較像是Client端的Java Script


備註:
雖然上面對於ASP (Active Server Pages)的定義是一般常見的說法,但是實際上不太正確。這幾年實在太多人把ASP說成程式語言,例如:如何撰寫ASP應用程式、ASP應用程式設計之類的課程和書名。但是嚴格說起來ASP並不是程式語言,真正的程式語言是VB。『ASP』是一種架構,在ASP中可以用VB Script的語法來撰寫程式,ASP架構中的VB Script才是一種程式設計語言,但實在太多人把ASP當作程式設計語言了,因此,本書照例這麼說。但若是讀者具有追根究底的精神,筆者有責任加以說明,因此加上這段註解。


        ASP.NET則是一種『程式設計架構』。我們在.NET環境上,撰寫ASPX網頁時,透過ASP.NET這種程式設計架構來撰寫。我們可以使用.NET Framework上提供的Web Form物件和Web控制項,來撰寫符合ASP.NET這種架構的Web應用程式,以建立一種分散式系統,透過網頁來呈現或輸入資料,利用網際網路來傳遞Server端和Client端之間的資訊,這樣的架構我們稱之為ASP.NET

        而撰寫ASP.NET架構的應用程式時,可以採用Code Behind的方式來撰寫程式,所使用的程式語言,可以選擇VB.NET或是C# (直到這時候,VB.NETC#才登場)

        因此C#VB.NET,才是名符其實的『程式設計語言』。您使用C#或是VB.NET來設計Web應用程式,都是在撰寫ASP.NET,並無絲毫的不同。

沒有留言:

張貼留言