簡介:
開天辟地?干啥轟轟烈烈的事吶?哈哈,這個怎么說呢,畢竟是初次寫博文,又是本系列的開篇,稱作是“開天辟地”感覺不會有傷大雅,希望博友們別就此問題而吐槽!言歸正傳,既然是開篇,首先自然是簡要的介紹下ASP.NET。再啰嗦一句,BlogBoy提示各位讀者,本系列是個循序漸進的過程,因此注意了,一般開頭只是簡單的、泛泛的說說,更為詳細的內容會在以后的博文中補上,在開天辟地的入門時刻,我希望讀者們僅僅只需要了解一些極其簡單的概念,記住一些以后出現頻率極高的幾個詞匯,如動態網站、ASP.NET、IDE、CLR、CIL等等,0基礎的讀者們在頭腦中只需要留下一些大概的理解和印象就可以。明白了這點,那我們開始介紹本文的第一個論題。
正文:
- OK,來解決我們的第一個問題,什么是ASP.NET?
學習一個東西,首先我們得搞清楚這東西是個啥,干啥用的,然后才能學習怎么用、怎么深化的問題。SO,解釋一下,ASP.NET和ASP(看起來是一對兄弟或兩父子,呵呵)都是微軟提供的WEB開發模型(注意:並不是微軟提供的東西就一定必須運行在微軟的系統平台上,因為所有.NET程序也是可以運行在別的操作系統上的),ASP.NET被當做是ASP的代替技術,簡單的說,你學習ASP.NET的時候可以完全拋開ASP的相關知識,也不必具有ASP的相關經驗。也許你可能還是不放心,沒聽過用過ASP真的沒有影響么?那好吧,這里我可以解釋下順便理清一下動態/靜態頁面的問題。
ASP(Active Server Page)你可以理解為為“交互服務器網頁”。那“交互服務器網頁”又是個什么概念呢。我們不急着解釋這個概念,我們把目光稍微偏移一下並定位到WEB網頁。涉足WEB頁面,我們時常聽到所謂的靜態/動態頁面(其實還有“偽靜態”,至於“偽動態”嘛,博主尚未聽說過,哈哈),所謂動態頁面其實就是交互式頁面的一種,網站可以划分為兩部分,服務器端和客戶端,客戶端與服務端進行的數據傳輸、請求響應就可以稱為交互。也許你還是不明白,那么我們舉個生活中的現實場景的例子,當我們通過瀏覽瀏覽器打開博客園登錄頁面提交輸入的數據后,服務器接收到你的請求,然后在服務端處理這些請求並返回數據,這個過程就是個交互過程,這個登錄頁面就是動態頁面(動態頁面的后綴一般是.php、.asp、.aspx等等,如果你發現同樣功能的頁面,但后綴卻是.htm、.html等,那么很有可能這個頁面采用了偽靜態的技術)。
回到我們的主問題,我給出的答案是:ASP.NET是一種用於開發動態網站的技術。除了ASP.NET,廣泛用於動態網站的服務端腳本技術還包括ASP、PHP、JSP,對於這些技術孰優孰劣的問題,博文不加以討論,這些需要讀者自己進一步地去搜索相關的介紹,在這里我就不作額外的介紹。
- 那么ASP.NET作為一個統一的Web 開發模型,它有哪些特性或優點呢?有沒有不足之處呢?
摘取MSDN的介紹:ASP.NET包括您使用盡可能少的代碼生成企業級Web 應用程序所必需的各種服務。 ASP.NET 作為 .NET Framework 的一部分提供。當您編寫 ASP.NET 應用程序的代碼時,可以訪問 .NET Framework 中的類。 可使用與公共語言運行時 (CLR) 兼容的任何語言(包括 Microsoft Visual Basic 和 C#)編寫應用程序的代碼。 使用這些語言,可以開發利用公共語言運行時、類型安全、繼承等方面的優點的 ASP.NET 應用程序。
看完上面這段解釋,不得不佩服MSDN的編輯,語言簡練精髓,不像博主我這么啰嗦,哈哈。言歸正傳,我們可以從簡短的語句里看到以下幾點信息:
編寫ASP.NET是需要.NET FrameWork的支持的,不同版本所支持的特性或者能力就不同,你還可以使用C#、VB來編寫這些代碼,因為這些代碼都能被CLR(公共語言運行時,你暫時可以理解為運行時環境或運行時支持,具體的概念,會在基礎知識中加以介紹)運行時識別,會被轉換為統一的計算機語言CIL(通用中間語言,是微軟提供的一種匯編語言),然后編譯為字節碼執行。至於介紹中提到的安全、繼承等優點,讀者可以先不必糾結,可以肯定的是現在諸多論壇、博客、企業站應用的案例就足以說明ASP.NET在構建動態網站上的強大。
另外博主認為,ASP.NET之所以得到廣大同仁們的喜愛,和其強大的技術支持者(Microsoft)、IDE(Microsoft Visual Studio)及數據庫(Access、Microsoft SQL Server)支持是分不開的,關於IDE(你可以理解為強大的代碼編輯器),我總是聽到關於高手的言論,比如真正的高手是使用記事本編寫代碼的。對此BlogBoy不想作任何評價,我只是努力的想向讀者,尤其是入門級別的讀者客觀的稱述ASP.NET網站制作的一般過程以及過程中使用的工具和一些編程知識。
有沒有不足之處呢,那么正如BlogBoy所言:“金無足赤,人無完人!”(這句話可以時刻提醒一個人保持謙遜和寬容,博主一直認為,技術有不同標准,高低不是那么重要,只要保持學習的熱情,就能活出自己的精彩!)ASP.NET自然也無法避免擁有某些缺陷,而且有許多的文章可以參考,單純的討論一個事物的缺陷顯得沒有太大意義,我們得假定一些特定的環境或挑選一些值得比較的對象。我們就拿PHP、JSP來做比較:
跨平台問題:
首先JSP、PHP可以結合Apache服務器分別布設到不同的操作系統上,在跨平台這個問題上,微軟一直都是如此特立獨行,沒辦法,牛叉嘛。
學習成本問題:
很多人認為:PHP是一門學習成本很低的語言,而JSP是一種很艱難的語言,ASP.NET介於二者之間。其實,博主個人認為:其實真的要學精通,什么都不會很容易,多一份付出才有可能多一份回報,因此只能說入門的時候難易程度是有所區別的。)。
資源和社區:
PHP作為老牌並且目前任位居第一的動態WEB語言,無論是程序員、教程、代碼都十分的豐富,這一點ASP.NET遜色一點,但是相比於JSP卻又好一點。值得關注的是,學習ASP.NET的人是不斷增長的,像博客園這樣的社區也日漸豐富了許多,加上諸多熱心的牛叉博主,我相信學習ASP.NET也不會遇到太多資源短缺問題。
- 長篇累牘之后,介紹最后一個話題ASP.NET的版本問題,其實就是.NET FrameWork的版本問題,另外提醒一下,其實C#也是很多版本的。
ASPNET發展至今,已經經歷過好幾個版本了,也許你會好奇的發問,為什么博主介紹的不是3.5或4.0等高版本呢,這里我的解釋是:之所以介紹的是2.0系列,是因為2.0被普遍認為是經典實用的版本(服務器環境一般並不會采用最新的版本,而是退而求其次的選擇一個相對成熟穩定的版本作為宿主環境的可選方案),相比於1.0及其后的3.0、3.5、4.0以及最新的4.5,這個版本的ASP.NET脫離了1.0的稚氣,同時也具備了后期版本的基本所有功能和特性,是使得ASP.NET更加成熟和可靠的轉折點,即使在4.0、4.5興起的這段時間里,該版本依然將會是諸多開發者實際項目開發版本。
結語:
作為開天辟地的入門篇,講的東西比較泛泛,顯得頗為凌亂,大家將就着看看,畢竟,金無足赤人無完人嘛!后續文章,敬請期待。
盡本人最大的努力,活出屬於自己的精彩,歡迎大家拍磚!