遙望十多年前,我剛出社會的時候,拿著我在大學時期接案的 74 件作品與大學四年的程式開發經驗進入職場,當時所學會的東西跟現在比起來可謂是九牛一毛,在累積了幾年的經驗之後,回頭看見有許多莘莘學子還在為了該學些甚麼而困擾,這便萌生這篇文章的契機,希望整理一些適合新手上路的學習資源,讓大家更有方向的踏入 .NET 開發生崖。
Visual Studio 開發工具
工欲善其事、必先利其器,人稱地表最強 IDE 開發工具 “Visual Studio” 是任何 .NET 開發人員必備的開發工具,對於個人使用或五人以下團隊使用者,皆可下載 Visual Studio 的社群版本,社群版本所附功能等同於 Visual Studio 專業版 (Professional) 的所有功能,且完全免費!
- Visual Studio 下載
- Visual Studio Community 2013
- Visual Studio Community 2015 (目前還在 RC 階段,預計 2015/7/20 可開放下載正式版)
- Visual Studio 2013 學習資源
C# / .NET 學習資源
C# 是個程式語言,.NET 是個框架,在學習 C# 的過程中通常會連 .NET Framework 一起學到。我必須耳提面命的說,任何初學者不能也不應該跳過這一塊,更不能馬虎帶過,只要有時間,都應該花時間進修每個細節,因為這是學習一切 .NET 開發技術的基礎。
- Learn C# for Beginners – Microsoft Virtual Academy 這是在 微軟虛擬學院 (MVA) 裡面關於 C# 最好的一系列教學影片,可惜影片字幕沒有「繁體中文」,但教學內容較新,新手可以邊看邊操作,做中學是最快的學習方法。
- C# Fundamentals: Development for Absolute Beginners | Channel 9 這是上面這部系列影片的前一版,內容幾乎一樣,關於 C# 的觀念都是有效的,只有使用的工具比較舊一點而已,基本上應該不影響學習,而且還有 繁體中文 字幕可開啟,因此對於英文不好的人來說,在學習上有極大幫助,建議認真看完。
- Programming in C# Jump Start – Microsoft Virtual Academy 這門影音課程是針對 微軟認證測驗 70-483 (Programming in C#) 而設計的,對於已經入門甚至於已經會寫 C# 的人進修之用,非常具有深度,且還提供 簡體中文 字幕,看完影片之後甚至可以直接去考張證照!
- Visual C# (MSDN)
這個網頁包含了大量的 C# 學習資源,從最基礎到進階,所有詳細的資訊都寫在這裡,等著你去慢慢發掘。 - MSDN 論壇 - Visual C# 對於任何與 C# 相關的疑問,都可以到這個 MSDN 論壇發問。
ASP.NET MVC 學習資源
ASP.NET MVC 是微軟新一代的 ASP.NET 開發框架,有別於傳統 ASP.NET Web Form 開發框架,ASP.NET MVC 採用了業界知名的 MVC (Model, View, Controller) 設計樣式,讓網站建置的過程能夠享受關注點分離的優勢,讓任何大小的網站都將更容易維護,開發人員也將更有彈性的建構真正新潮的網站服務。
- 邊做邊學 ASP.NET MVC 4 – YouTube
這是我先前錄製過的 ASP.NET MVC 4 學習影片,透過簡單的實作練習,可以讓你在短短一小時之內大致了解 ASP.NET MVC 的開發過程。 - ASP.NET MVC 5 新功能探索 – YouTube 此影片是 Will 保哥在 Tech.Days Taiwan 2013 的演講主題【ASP.NET MVC 5 新功能探索】,在這堂課中,會使用 Visual Studio 2013 來介紹 ASP.NET 新版本的增強,包括新的對話盒精靈、新的 Scaffolding 引擎,以及其它與 ASP.NET 網頁開發相關開發框架 (如: ASP.NET MVC 5, SignalR, Web API 2 等等) 的新功能介紹。
- Introduction to ASP.NET MVC – Microsoft Virtual Academy 這個系列的 ASP.NET MVC 教學課程深入淺出,講得非常棒,可惜只有英文字幕,建議大家花時間看完,真的會學到很多!
- 進入 ASP.NET MVC 5 的世界 – Microsoft Virtual Academy 不論是 ASP.NET MVC 的新手,或是已熟悉的老手,這門課將帶領你進入 MVC 5 的世界,並搭配 Visual Studio 2013 來介紹,包括 Scaffolding 的引擎,以及與其它 ASP.NET 開發框架 (SignalR, Web API 2) 的搭配介紹。
- ASP.NET 開發人員必看的網站清單 - Curah! 我列出幾個 ASP.NET 必須定期收看的網站清單,幫助大家跟上 ASP.NET 技術的最新腳步。
- MSDN 論壇 - ASP.NET 與 AJAX(ASP.NET and AJAX) 對於任何與 ASP.NET / ASP.NET MVC 相關的疑問,都可以到這個 MSDN 論壇發問。
SQL Server 學習資源
在企業系統開發中,資料庫佔有關鍵的一席之地,無論你學習甚麼框架、甚麼語言,在大多數的情況下,你需要面對資料庫的議題,而在 .NET 的世界中,SQL Server 在企業界又占有一定程度的市場佔有率,所以 SQL Server 也是一個非學不可的技術之一。
- Database Training and Fundamentals – Microsoft Virtual Academy 這套學習課程針對「完全的初學者」提供了鉅細靡遺的教學,從概念到工具無一不談,幾乎可以符合初學者的一切需要,只可惜只有英文字幕,但還是建議初學者認真學習。
- SQL Server Courses: SQL Server Online Training – Microsoft Virtual Academy 這裡整理了微軟虛擬學院(MVA)所有 SQL Server 的相關課程,當然也包括許多繁體中文的課程可以學習,不容錯過!
- MSDN 論壇 - 資料庫與程式開發(SQL Server Development) 對於任何與 SQL Server 開發相關的疑問,都可以到這個 MSDN 論壇發問。
以上精選的幾個學習資源有一個共通性,那就是上述都是「免費」的線上學習資源。但市面上其實有許多「付費」且「優質」的學習資源可供選擇,正所謂「花錢買時間」,我們都知道學習一門技術或知識會花上不少時間,而大部分的時間都在探索與嘗試錯誤,人生苦短,雖然說學習的時間不能少,但跟別人用相同的時間學習,卻學習到比別人更多的東西,或比別人更了解一門技術的內涵,有些東西是很難用金錢衡量的,如果今天可以花點小錢換來高速成長的機會,何樂而不為呢?!
在我的成長過程中, 買書 的錢從來沒有省過,只要有人推薦好書,我一定衝去書店查個究竟,覺得不錯就買回家K,我也是出過書的人,深知出書過程之艱苦,任何一個作者要從草稿到出版需要付出多少心力與校對,你要是買一本書之後,若不好好仔細閱讀,還真枉費作者的一番苦心。
關於「電子書」這件事,我也曾經在我的 粉絲團 分享過,有許多人有收集電子書的癖好,但 99% 收集到的電子書都沒看過,在我看來真的是浪費時間,而且這種收集免費電子書會養成一種習慣,無形之中浪費的無數的時間在搜尋與下載。因此我個人還是建議,如果真的想看書,買一本實體書回來吧,認真看完、作筆記、寫心得文章,都比你收集電子書而不看而來的踏實多了。
報名 實體課程 ,也是個快速縮短學習時間的途徑,雖然成本較高,但只要找到好的老師,對渴望提升能力的你來說,絕對是數倍到數十倍的增強,真的不誇張。
購買 付費的教學影片 ,也是我認為非常棒的學習方式,在國外經常有許多付費的線上教學平台,一個比一個優秀,內容也一個比一個精彩,我幾乎都是透過這些付費的影片幫助我快速了解一門新知識,再搭配官方文件的閱讀與理解,通常都可以在短時間內上手任何技術,因此也推薦大家嘗試這種學習方式,以下我列出一些我經常學習的線上教學平台:
- Pluralsight – Developer, IT & Creative Training by Pros Pluralsight 在技術與創意領域來說,應該是全球最大的線上教學平台,目前已經有 3700+ 門課程,只要支付月費,就可以看所有課程內容,非常划算!
- LearnVisualStudio.NET 專門針對 C# 與 .NET 開發人員設計的教學影片,課程大多為入門課程,但講解得非常到位,學習價格也十分便宜,終身學習價才僅僅 USD 139 美元而已!
- WintellectNOW: On-demand video training from the industry's best 專門針對 進階的 各種開發議題提供線上學習平台,其內容都蠻有深度的,並不適合初學者學習,但對於有經驗的開發人員來說,這裡確實有許多寶可以挖!
心得分享
軟體技術的世界何其廣闊,哪有人敢說自己專業,唯有用謙虛的心,面對每一次的學習與挑戰,才能在這暗潮洶湧的世界中存活下去。想當年我也是從來不碰微軟技術的人,Perl / PHP / MySQL / Apache / Linux 也玩得十分起勁,但從 2005 年開始,致力轉型到 .NET 開發技術,開始改用 Visual Studio 與 ASP.NET 開發網站,這個過程可說是不太輕鬆。因此放眼望去,在我周遭的朋友圈裡,鮮少有人可以順利地從 PHP 或其他開放原始碼領域中走向 .NET 開發,因為差別真的很大。不過也因為當時決定轉向,才幫我打開了一條無窮無盡的康莊大道,不僅對我個人或對我公司來說,幾乎都是正向的發展並不斷進步。善用好的開發工具,更幫助我在商業價值創造與解決核心問題上更加得心應手,而不是像以前那樣死守著自己寫出來的每一行原始碼,而卻不見得能產生價值,這些體會,很難用文字表達,也只能觸動有緣人了。^_^