看了一篇很好的Blog文,完美解說如何選擇ASP.NET Webforms 或 MVC。
寫文的人是光頭佬Joe Stagner - MS Senior Program Manager,跟Scott Guthrie同樣出名,兩者都是掌管MS開發部門。
其實我個人見解是,Webforms已經出現了十年,在架構上已經很成熟,很完美,而Web Controls亦已經沒有太大發展空間,最多都只是出現如Ajax Control Toolkit這類蕓花一現的Controls。(說真的,比我選擇,我不想用它,效能不好,在IE上會很Lag。)
而ASP.NET 3.5出現的ListView Control已經把DataControl類別的自由性擴建到最大。
而且現在興用Javascript Framework,ASP.NET老手亦不會只依靠Drag&Drop Control去完成工作,所以Microsoft實在沒必要再在Controls上花時間。
在發展上,Microsoft亦唯有開發出另一個MVC架構去發展另一條路線。
情況就如PHP一樣,PHP本身可以不依靠任何Framework去工作,單單Post Form已經可以做到很多事情,但事實上很多人都用Zend / CakePHP / Codelighter去實現MVC。
為的都是想提升Application質素,盡量把Logic,Routine分離至Model / Controller上。
ASP.NET MVC的出現令人有爭議只是因為Webforms本身太好,有Code-Behind把HTML和Syntax分離,令很多人都認為不需要MVC。
但上述Blog文說得幾好,MVC出現是想把Client-Side的開發達到最明亮,所以沒有ViewState,亦不支持Web Control。
其實沒有必要偏向任何一方,兩者都是相輔相成,一起學好去就最好喇,因為學好MVC都可以應用在很多地方,例如iPhone Dev,ROR,PHP等。
Choosing between ASP.NET–WebForms, MVC, WebMatrix – Choice is a GOOD thing.
http://msjoe.com/blog/posts/choosing-between-asp-net-ndash-webforms-mvc-webmatrix-ndash-choice-is-a-good-thing/
沒有留言:
發佈留言