2015年3月29日 星期日

ASP.NET MVC 學習資源整理 Part.4 - ASP.NET MVC 5 書籍 (Books)

這個系列的上一篇是在兩年多前,那個時候 ASP.NET MVC 還不算是太多人使用的開發技術,多數人還是在觀望的階段,但是這一段時間已經越來越多企業與開發者都已經將 ASP.NET MVC 技術應用在專案開發裡,而且在之後的 ASP.NET 技術發展中,似乎只有看到 ASP.NET MVC , Web API , SignalR 等的身影,而 ASP.NET Web Forms 卻不在其中 (?),越來越多人投入 ASP.NET MVC 的開發領域裡,對於身為推廣 ASP.NET MVC 技術的一員,是很高興能夠看到這樣的情況,但另一方面憂慮的是,對於大部分想要踏進這個領域的開發人員來說,ASP.NET MVC 真的是進階不少(相對於 ASP.NET Web Forms)。

上網找文章、找線上教學課程、買書自學,這是大多數人學習 ASP.NET MVC 的途徑,畢竟實體課程是真的很少(所以有公司願意花一筆錢去找外面講師教 ASP.NET MVC,應該要好好把握機會學習,外面一次課程的學費是很貴的),這兩年多來是出版了一些 ASP.NET MVC 5 相關書籍,但並不是每一本都適合初學者看,甚至有些書也不適合進階開發人員看,而是給更為進階的開發人員看,但是一般開發人員對於這些書並無法分辨與選擇哪一本才是比較適合的,再加上前陣子有網友提出了這樣的問題,所以這一篇就針對正體中文(應該要正名為繁體中文)、簡()體中文、英文有關 ASP.NET MVC 5 部分的出版書籍來說介紹(不是評論喔,因為我也不是每一本都看過)。

 


到底 ASP.NET MVC 5 有出版了哪些書籍呢?以正體中文來而且是整本主要為介紹 ASP.NET MVC 的書本可以到天瓏網路書局、三民書局、博客來等網站去查(有些主要內容是 ASP.NET Web Forms 的書籍在最後的章節是有簡單介紹 ASP.NET MVC,但老實說,那些內容僅止於介紹與認識,對於真正應用在專案開發上是沒有多大幫助,這些就不列入),以天瓏網路書局裡可以看到兩本書名主要是「ASP.NET MVC 5」的書,

image

不過這兩本書其中的「ASP.NET MVC 5 完全攻略」是中國那邊所出版的「ASP.NET MVC 5 框架揭密」的正體中文版,而「ASP.NET MVC 5 網站開發美學」則是臺灣這邊的六位 Miscrosoft MVP 所原創撰寫的,這本書應該是學習 ASP.NET MVC 5 必備參考書。

 

ASP.NET MVC 5 網站開發美學

image

http://books.gotop.com.tw/a_ACL041300

https://play.google.com/store/books/details?id=mQqnBAAAQBAJ (電子書版本)

https://github.com/MVCAppDesignAndDevelop/MVC5Book (書本範例程式原始碼)

「ASP.NET MVC 5 網站開發美學」並不是「ASP.NET MVC 4 網站開發美學」的修改版本,因為有一些技術書籍在版本更新後也只是依據版本更新做部分內容的修改,有很多的內容描述都只是換個版本號而已,但是「ASP.NET MVC 5 網站開發美學」的作者群則是根據 ASP.NET MVC 5 所更新的內容再重新去編寫,與「ASP.NET MVC 4 網站開發美學」有很大幅度的不同。

例如針對 Model 的部分做了更為詳細的介紹與說明,View 的部分也因為 ASP.NET MVC 5 預設使用了 Bootstrap,所以也對於 Bootstrap 做了介紹,還有要值得一提的就是「測試」的部分,91 哥也做了內容的調整,修訂後的內容也會讓開發者更為瞭解如何實作專案的測試。

當初 ASP.NET MVC 5 正式發佈之後,就有很多朋友一直詢問作者群,什麼時候會出對應新版本的書籍,而作者群那一陣子也是一直緊鑼密鼓地加緊趕工,因為大部分的內容都是重新編寫的,很多內容是無法直接從前一版本的內容裡拿來用,再加上現在微軟的技術開發團隊都是採用 Scrum 做軟體開發管理,所以版本更新發佈的速度更為緊湊與頻繁,所以作者群往往都要因為每次的版本更新而必須要調整內容或是加寫新功能的部分,現在寫技術開發相關書籍還真是不簡單呀。

另外書本剛出版的前後就有很多人一直在問,「ASP.NET MVC 5 網站開發美學」是不是只是依據版本更新的內容去更動與修改原本「ASP.NET MVC 4 網站開發美學」,前面我已經說過這本書可算是全新編寫的,不說別的,兩本書擺在一起就可以看到「ASP.NET MVC 5 網站開發美學」的厚度更是遠超過前一版本。

「ASP.NET MVC 5 網站開發美學」有發行電子書版本,不過電子書與實體書各為獨立的商品,所以既使已經買了實體書,電子書還是要另外購買的(如果有需要的話),電子書可以到碁峰出版社的網站上購買,或是也可以到 Google Play 的圖書類別裡購買。

總之,學習 ASP.NET MVC 5 時,「ASP.NET MVC 5 網站開發美學」這一本書是不可或缺的。

 

ASP.NET MVC 5 完全攻略

image

這本書…….,我要說臺灣的出版社到底是什麼樣的心態去改這樣的書名呢?這樣的書名我是相當不以為然,原本的蔣金楠先生所採用的簡體中文版書名「ASP.NET MVC 5 框架揭秘」不是很好嗎?改這樣的書名真的會害死這一本書,這本書是相當好又紮實的內容,但相當不適合初學者、也不適合一般進階者,應該說對於初學者與一般進階者來說,還不需要用到這一本書,但是台灣出版商硬是將原書名的「框架揭秘」改成「完全攻略」,現在很多人買電腦書都是直接在網路上購買,無法看到書的內容,只能從購書網站的介紹來猜測這本書的內容,甚至於有些人看了書名就直接買了,「完全攻略」這真的會誤導初學者與一般進階者,初學者買了是完全看不懂內容,而一般進階者是還不需要去看這些呀,沒必要為了增加一些些的銷量而去做這樣的修改。

 

我現在買簡體書都會到三民書局網站(這不是廣告),但大部分都需要等兩個星期以上才能拿到書,我最長一次的等書時間是等了將近三個月,去年 11 月就訂書,一直到過了農曆新年後才拿到書,但因為找到的簡體書會比較多,所以主要還是會到三民書局網站買,其次才是到露天拍賣網站找,最後則是如果有時間的話才會走一趟重慶南路的天龍書局,要不然就是去復興北路的三民書局去找書。

 

ASP.NET MVC 5 框架揭秘

image

建議先到作者部落格裡看看這本書的介紹:新作《ASP.NET MVC 5框架揭秘》正式出版

如果你對中國技術用語不會排斥而且也對簡體中文沒有閱讀上的轉換問題的話,我會建議直接購買簡體中文版,雖然簡體中文版的內文用紙不是很好,但給我的感覺是在閱讀上會比正體中文版來得舒適。

如果你是對 ASP.NET MVC 有相當程度的熟悉並且開發了一段時間,如果想對 ASP.NET MVC 框架有更深入的瞭解,又或者你本身就是一個技術控,平時就喜歡直接看原始碼,那麼這本書就相當適合,甚至於如果你有真正在 ASP.NET MVC 實行單元測試,那麼這本書的內容會讓你更瞭解如何去做單元測試(例如 Controller, Routing, ActionFilter 等)。

另外如果你也有開發 ASP.NET Web API 的話,也可以看看蔣金楠的另一本著作「ASP.NET Web API  2 框架揭密」,雖然 ASP.NET Web API 與 ASP.NET MVC 有許多類似的地方,但因為現階段這兩種的實作還是不同的,所以很多地方的實作並非相同(要到 ASP.NET 5 的時候才會相同),所以想對 ASP.NET Web API 有更深入的瞭解,就可以參考「ASP.NET Web API 2 框架揭密」。

ASP.NET Web API 框架揭密

http://www.cnblogs.com/artech/p/inside-asp-net-web-api-2-framework.html

image

 

以全新創作而非翻譯的書籍來說,簡體中文書有相當多的地雷書,什麼基礎教程、案例教程等等,我都會盡量避開這些書,反而我會購買翻譯書,因為台灣的市場小,以致於這一類的技術原文翻譯書就越來越少,這幾年來臺灣所出版的也只有看到一本關於 ASP.NET MVC 的英文翻譯書「ASP.NET MVC 4 全方位專業網站開發實戰演練 (ASP.NET MVC 4 in Action 3/e)」,中國那邊的技術翻譯書就比較多,所以只要是翻譯品質不會太差,我就會考慮購買。

 

Professional ASP.NET MVC 5

image

http://www.wrox.com/WileyCDA/WroxTitle/Professional-ASP-NET-MVC-5.productCd-1118794753.html

http://www.amazon.com/Professional-ASP-NET-MVC-Jon-Galloway/dp/1118794753

這本書就不多做解釋,因為四位作者都是大神級的人物,內容也不在話下,是一本不錯的入門技術書籍,前不久簡體中文的翻譯本也出版了,有興趣的朋友不妨買一本簡體中文版來看。

ASP.NET MVC 5 高級邊程(第五版)

image

 

Pro ASP.NET MVC 5

image

http://www.amazon.com/Pro-ASP-NET-Experts-Voice-ASP-Net/dp/1430265299

另外一個經典系列的書籍,簡體中文翻譯本的出版都要等上一段時間,記得 ASP.NET MVC 5 發行一段時間之後,「Pro ASP.NET MVC 4」的翻譯本「精通 ASP.NET MVC 4」才出版(2014.10),所以想要看「精通 ASP.NET MVC 5」就可能要在等上一段時間了。

image

 

Pro ASP.NET MVC 5 Platform

image

http://www.amazon.com/Pro-ASP-NET-MVC-5-Platform/dp/1430265418

「Pro ASP.NET MVC 5」作者 Adam Freeman 的另一本關於 ASP.NET MVC 5 的著作,兩本有什麼不同呢?「Pro ASP.NET MVC 5 Platform」的內容不是「Pro ASP.NET MVC 5」的進階版,而是將「Pro ASP.NET MVC 5」沒有說到的一些功能內容與進階的說明。

 

Mobile ASP.NET MVC 5

image

顧名思義,以 ASP.NET MVC 5 建造一個 Mobile 網站,適合給全端工程師。

 

Exam Ref 70-486 Developing ASP.NET MVC 4 Web Applications

image

ASP.NET MVC 也是有證照可以考的,這一本就是微軟所出的教材,如果你真的要考證照,就看這一本,但如果你是要實戰做專案,就看上面所列的書,而這一本可以作為建立觀念與認識官方做法的參考用書。
如果是以一個實作單位來看,我是覺得要找一個有 ASP.NET MVC 開發經驗的程式設計師,這張證照只能作為參考,因為我要看的是你到底會不會做,以及你所做的網站架構與實作內容,因為有太多實務上所面臨到的狀況是證照教材裡不會提到的,但如果你的實作經驗豐富也有很好的架構規劃,那麼 70-486 這張證照就會再加分(但不是絕對)。

 


其實現在網路上都可以找到很多教學資源,例如 ASP.NET MVC 官網的教學內容(再次強調,官網的內容很豐富,一定要看!一定要看!一定要看!因為我問十個,就有八個沒去官網看過,很多都是認為官網都是制式內容而不會有什麼資料,大錯特錯呀!第一手的資訊以及技術教學,官網裡都可以找到),另外還有免費的微軟 MVA 網站(MVA 微軟虛擬學院,Microsoft Virtual Academy)也有相關的教學課程可以利用。

我一直都在強調學習 ASP.NET MVC 是有別於 ASP.NET Web Forms,必須要有好的物件導向觀念,否則還是以開發 ASP.NET Web Forms 的心態來看待 ASP.NET MVC,當你要開發比較進階的功能需求時一定會踢到鐵板,然後就會想方設法的使用怪招怪式去解決問題,用怪招怪式可以解決一時的問題,但不會長久,因為常常用這樣的方式來解決問題,總有一天你會累的、你會厭煩的,然後就會想要去賣雞排,所以觀念與基礎是很重要的。

再來就是當你要開始學習 ASP.NET MVC 時,請務必拋棄 ASP.NET Web Forms 的一切,能忘就忘,不要忘的就是基本的 C# 操作 (or VB.NET,不過未來 VB.NET 似乎也跟 Web Forms 的命運一樣喔),LINQ 一定要會,ORM 的觀念與應用,甚至於在之後為了軟體開發品質的要求下,你必須要會單元測試,看起來好像學習 ASP.NET MVC 開發會一條充滿荊棘的路,但這只是一開始,只要撐過一開始的階段,之後你就會得心應手。

學習之路,除了看書、上網找資料之外,也可以考慮參加實體課程,或是參與社群聚會,不過經常性的練習也是提昇自己能力與解決問題的一種途徑。

 

課程介紹

Skilltree - 物件導向實作課程 (使用C#) 第三梯

http://skilltree.my/events/dba

image

 

Skilltree - 自動測試與 TDD 實務開發(使用C#) 第三梯

http://skilltree.my/events/ebg

image

 

相關連結

ASP.NET MVC 官網教學課程

http://www.asp.net/mvc/overview

這裡面的每個連結都是滿滿的學習資源呀~

image

 

ASP.NET MVC 官網 - Learn> Videos

http://www.asp.net/mvc/videos/mvc-5

image

 

MVA - Introduction to ASP.NET MVC

http://www.microsoftvirtualacademy.com/training-courses/introduction-to-asp-net-mvc

image

 

以上

4 則留言:

  1. 這邊霧隱虎我有不太認同的地方,提供Kevin做為參考

    即便是開發一段時間MVC,還是有必要去瞭解Web Form底層的東西(例如:Gridview 的事件參數 e,在每個編輯模式下都有著不同任務,即便常用也有許多前後輩不太瞭解),蠻多Web Form書籍的作者在開發模式這方面有特別的用心,即便進入MVC後也可以繼續延用(Control元件例外)

    回覆刪除
  2. 除非工作上的需要,不然真的沒有必要再去看過往的包袱,
    只要記住 C# 的程式操作,除此之外有關於 Web Forms 的一切就全部放下吧
    因為以後也用不到,真的除非工作上還是需要去維護 Web Forms。

    回覆刪除
  3. 作者已經移除這則留言。

    回覆刪除
  4. 看了這篇大大的學習筆記覺得很受用,資源真的超多的,估計要全都做到也不太可能,不過去看官網教學是必然的。
    ..
    BTW,學校也有教ASP.NET但是教的是3.5版本,整個失智。

    回覆刪除

提醒

千萬不要使用 Google Talk (Hangouts) 或 Facebook 及時通訊與我聯繫、提問,因為會掉訊息甚至我是過了好幾天之後才發現到你曾經傳給我訊息過,請多多使用「詢問與建議」(在左邊,就在左邊),另外比較深入的問題討論,或是有牽涉到你實作程式碼的內容,不適合在留言板裡留言討論,請務必使用「詢問與建議」功能(可以夾帶檔案),謝謝。

最近的留言