WebMatrix提供了一個獨立的工作視窗,其中包含了在Windows下開發Web程式時要使用的全部棧。如果對“棧”(stack)這個術語不是很理解,不要著急,我們慢慢來。一個Web棧,簡單說來就是要運行一個網站時所需要的所有組件的集合。這些組件大體包括:作業系統、Web服務、資料庫、程式運行所依託的運行時和程式架構等。
一個典型的Web棧:
在棧的最底層是託管的Windows作業系統,但在其之上,WebMatrix則提供了讓你選擇自己所喜愛的技術的機會,比如:
- 程式架構:ASP.NET Web Pages,ASP.NET或PHP
- 資料庫:SQL Server Compact,SQL Server或MySQL
- Web服務:IIS或IIS Express
闡釋的更為詳細:
現在這些選項看上去有點暈,別急,一旦使用了WebMatrix,這些選擇將變得非常直觀了。
你也許發現了在中我們把ASP.NET Web Pages和ASP.NET當成了不同的元素來處理。儘管ASP.NET Web Pages是ASP.NET架構的一部分,我還是把它們直接分離對待了。因為在WebMatrix 1.0中你將有效利用它們的差異。你可能在從模版建立一個新程式時首選使用ASP.NET Web Pages架構;你可能會在使用到開來源程式時觸碰到ASP.NET了,這些開來源程式已經用ASP.NET寫好了——具體有ASP.NET Web Forms和ASP.NET MVC兩種技術。雖然它們被區分列出來了,但是當你需要使用某種技術或代碼時是沒有什麼分別的,因為在ASP.NET Web Pages和ASP.NET之間遷移代碼是非常容易的。
再有需要注意的是不同的架構和資料庫之間的連結。不是所有的架構都能支援每種資料庫的(實際上只有ASP.NET範疇內才能支援所有三種資料庫的),所以在利用WebMatrix建立程式時一定要在腦子裡有這根弦兒。
注意Web服務被描述成IIS或IIS Express。IIS是微軟的全功能Internet資訊服務器,與之相比,IIS Express是功能簡單的、輕量的、只使用在開發機器上的Web伺服器了。
總的來說在開發程式時,你將用到大致如下三種棧的組合形式:
- ASP.NET Web Pages棧:從模版建立網站時用到這種模式。
- ASP.NET棧:一般你基於一個現存的、開源的ASP.NET程式(比如:BlogEngine.NET或Umbraco)來建立網站時用到這種模式。
- Windows下的PHP棧:一般你使用一個開源的PHP程式(如Wordpress)來建立網站時會應用這種模式。
ASP.NET Web Pages棧
標示出ASP.NET Web Pages的WebMatrix棧:
在這種情況下,你在建立網站時會使用到HTML,CSS和JavaScript。當你需要動態或資料驅動來運行代碼時,將使用到ASP.NET Web Pages架構。
請注意ASP.NET Web Pages也可以和SQL Server一起良好運行,但是一般情況下使用SQL Server Compact就可以了。後期我們可以提升到全功能的SQL Server上去。
ASP.NET棧
典型的ASP.NET棧如下所示:
ASP.NET有足夠的彈性來處理任何我們之前討論的資料庫,但是最經典的是使用SQL Server資料庫,我們則更多的展示SQL Server Compact資料庫。比如Orchard CMS就直接支援SQL Server Compact,並且有更多的程式在不斷的支援這種資料庫。另外,ASP.NET程式通過連接器是可以使用MySQL資料庫的。
基本上,如果你想擁有大型的、可伸縮的、安全可靠的網站,那麼這種模式非常適合你!但如果你只是一個剛剛上路的Web開發學習者,又或者你只想快速發布一個簡單的網站,那麼你最好以更為輕量的ASP.NET Web Pages棧來起步,而且當你想提升它時也可以隨時方便的遷升到ASP.NET棧模式。
Windows下的PHP棧
在WebMatrix中也可以使用PHP來做開發的:
應用程式使用PHP棧模式時一般也使用典型的MySQL作為資料庫,但是PHP也是可以使用SQL Server作為資料庫的。