本書系統介紹了微軟新一代高效、跨平台的應用平台.NET Core 1.0。借助.NET Core,原本只能運行在Windows 上的.NET 應用可以運行在Linux、OS X甚至是UNIX上。結合微軟的Apache Cordova 和Xamarin 等工具,可以構建從服務端到用戶端的完整開源、跨平台的解決方案。
作者撰寫這本書,主要是為了透過一個非常簡單的電子商務專案,將目前微軟開放原始碼跨平台的技術系統結構串聯起來,幫助創業者和開發人員了解和掌握如何使用微軟的開放原始碼跨平台技術來迅速建置自己的應用。然後啟用微軟雲Azure 的力量,快速部署和整合,迅速地將自己的技術產品和想法推廣到每個使用者手中。
本書不是一本單獨說明某個微軟開放原始碼技術的圖書。恰恰相反,本書是把微軟開發工具和開發服務(Visual Studio 2015、Visual Studio Online),微軟開放原始碼開發技術(.NET Core1.0、Apache Cordova、Xamarin)和微軟雲(Azure)等各種相關技術串聯起來的一本書。透過本書讀者可以了解到如何利用這些開放原始碼、免費的工具和技術建置自己的應用。
本書適合對使用微軟技術建置應用以及對微軟雲端平台Azure 部署應用有興趣的人員,也適用於對開放原始碼技術有興趣的讀者。同時,本書對有志於網際網路創業,尤其是期望快速架設應用的創業者極具參考價值。
作者簡介:
李爭:微軟(中國)有限公司開發者體驗與平台合作事業部技術顧問。專注於微軟公有雲平台Azure的解決方案和架構設計、Azure應用的實施,以及Azure上的開源技術等工作。具有豐富的企業客戶臨場解決嚴重系統問題的經驗。擁有四十多門微軟認證證書,幾乎涵蓋了全部微軟開發相關技術,同時也是一位具有十多年豐富授課經驗的微軟認證講師(MCT)。
作者序
前 言
2016年5月11日,我在新浪微博上留言「不是我不明白,這世界變化快啊!坐在微軟的辦公室裡研究了一夜Ubuntu Linux,五年前想都不敢想」,並附上了一張Ubuntu gcc編譯開放原始碼專案時的截圖。是啊,這個世界變化真是太快了!別說五年前,就是三年前,一直從事微軟技術路線的我也沒有想過未來將要在Linux 上部署我的應用。
微軟公司在新任CEO 的帶領下開始踏上了新的征程,迅速地開始向開放原始碼領域轉型。公司向開放原始碼領域轉型的第一個動作就令人矚目,微軟首席執行官Satya Nadella 在2014年10月直接對媒體喊出了「Microsoft Loves Linux」!緊接著,微軟在2014年年底宣佈.NET Core 要支援跨平台,作業系統囊括了Linux、OS X 甚至FreeBSD,並且將.NET Core 的程式放到了Github 上。然後,微軟又推出廣受好評的輕量級跨平台的IDE:Visual Studio Code。至今開放原始碼界已經給Visual Studio Code 貢獻了上千個擴充外掛程式。進一步,微軟宣佈SQL Server將在2017年正式支援Linux,並且透過收購Xamarin 公司一舉攬收了Gnome和Mono 專案的創始人Miguel de Icaza這種開放原始碼界明星等級的人物進入公司……
微軟公司目前已經和開放原始碼界展開了緊密的合作,從雲端大數據平台到行動端開發,在微軟的產品中你都可以看到世界著名開放原始碼軟體基金會Apache 的身影。現在再討論「要不要開放原始碼?要不要跨平台?」已經毫無意義了。微軟的工程師現在只關心一個專案或產品的哪部分要開放原始碼?要支援幾種作業系統平台?
為什麼要寫這樣一本書?這是一個好問題!經過這三年微軟向開放原始碼和跨平台領域的轉變,微軟已經在開放原始碼和跨平台領域建置出了一套自己的技術系統。從伺服器端的.NET Core、ASP.NET和Web API,到Web 端的TypeScript 指令碼語言,再到行動端的Apache Cordova 和Xamarin,微軟已經可以支援開發者使用完全開放原始碼和跨平台的技術建置自己的應用。再配合免費的Visual Studio Community版本以及支援Git版本控制的Visual Studio Online,開發者可以不花一分錢就可以在微軟的平台上實現以開放原始碼專案為基礎的應用程式生命週期管理。微軟現在的開放原始碼技術系統架構可以幫助創業者和開發人員大幅降低創業的門檻和成本,迅速地將自己的創新想法變成現實。
作者撰寫這本書,主要是為了透過一個非常簡單的電子商務專案,將目前微軟開放原始碼跨平台的技術系統結構串聯起來,幫助創業者和開發人員了解和掌握如何使用微軟的開放原始碼跨平台技術來迅速建置自己的應用。然後啟用微軟雲Azure 的力量,快速部署和整合,迅速地將自己的技術產品和想法推廣到每個使用者手中。
本書不是一本單獨說明某個微軟開放原始碼技術的圖書。恰恰相反,本書是把微軟開發工具和開發服務(Visual Studio 2015、Visual Studio Online),微軟開放原始碼開發技術(.NET Core1.0、Apache Cordova、Xamarin)和微軟雲(Azure)等各種相關技術串聯起來的一本書。透過本書讀者可以了解到如何利用這些開放原始碼、免費的工具和技術建置自己的應用。
本書的程式全部開放原始碼,讀者有興趣可造訪https://github.com/micli/MuscleFellow 取得本書相關的原始程式碼。同時讀者也可以透過造訪http://musclefellow.chiancloudapp.cn 來體驗已經部署好的網站和Web API。
本書的創作始於2016年1月,截止到2016年7月2日。期間,.NET Core 從beta 8 演進到1.0 RTM。種種變化也給作者寫作帶來相當大的痛苦,很多工作在每次.NET Core 新版本發佈之後都要重新調整,很多章節的內容也因此全部而永遠無法與讀者見面。
如何高效率地閱讀本書
對於已經非常熟悉微軟戰略的讀者,可以直接從第3章開始閱讀。對於雲端運算和微軟戰略不是很熟悉的讀者,建議從頭開始閱讀。
從本書第5章開始,將有關開發和程式。建議讀者從Github上下載程式,再與本書內容對照著學習和閱讀。
本書適合哪些讀者
本書適合對使用微軟技術建置應用以及對微軟雲端平台Azure 部署應用有興趣的人員,也適用於對開放原始碼技術有興趣的讀者。同時,本書對有志於網際網路創業,尤其是期望快速架設應用的創業者極具參考價值。
致謝
首先,我要感謝我的家人,尤其是我的女兒。在女兒需要陪伴成長的年紀,我佔用了大量本屬於她的時間去寫作。尤其是連續寫作兩本書的情況下,使得我很長一段時間都沒有好好地陪她。我對我的女兒充滿了愧疚。此外,我也非常感謝我內心深愛的那個人。
其次,我要感謝我的同事劉穎老師和清華大學出版社的盛東亮編輯。本書的完成和你們的鼓勵和支援密不可分。
最後,我還想感謝胡德民(Peter Hu) 和我的老闆趙立威。在最近一年的時間裡,胡德民幫我安排了很多與微軟開放原始碼、跨平台相關的技術演講,使我有機會全方面地接觸微軟相關的開放原始碼技術,尤其是Xamarin。同時,我的老闆趙立威也非常支援我的寫作,在寫作過程中給予我很大的鼓勵和支援。
作者聯繫方式
由於作者能力有限,書中難免會有疏失之處,請讀者多多諒解也請不吝賜教。
電子郵寄地址:mic_lee2000@foxmail.com
繁體中文版說明
本書中所有程式碼均托管於github,不時會有勘誤及更動,為保留全書程式碼的完整性,本書中有關程式操作的介面及程式碼執行結果均保留簡體中文圖例,請讀者自行對照書中文字。
前 言
2016年5月11日,我在新浪微博上留言「不是我不明白,這世界變化快啊!坐在微軟的辦公室裡研究了一夜Ubuntu Linux,五年前想都不敢想」,並附上了一張Ubuntu gcc編譯開放原始碼專案時的截圖。是啊,這個世界變化真是太快了!別說五年前,就是三年前,一直從事微軟技術路線的我也沒有想過未來將要在Linux 上部署我的應用。
微軟公司在新任CEO 的帶領下開始踏上了新的征程,迅速地開始向開放原始碼領域轉型。公司向開放原始碼領域轉型的第一個動作就令人矚目,微軟首席執行官Satya Nadella 在2014年10月直接對媒體喊出了「Microsoft...
目錄
前言
第1章 微軟「雲+端」戰略
1.1雲端運算介紹
1.2微軟的公有雲Azure 簡介
1.3端的變革
1.4微軟的端戰略
第2章 革命性的ASP.NET Core
2.1完全開放原始碼的ASP.NET Core
2.2ASP.NET Core 的新特性
2.3MVC 6 的新特性
2.4dotnet 命令列工具
第3章 開放原始碼跨平台的裝置端開發
3.1行動開發簡史
3.2行動開發的顯著特性
3.3主流跨平台行動開發技術介紹
3.4行動應用程式開發方式的選擇
第4章 專案介紹和需求分析
4.1專案展望
4.2系統需求
4.3網站功能需求
4.4行動端程式功能需求
第5章 建置開發環境
5.1安裝Visual Studio
5.2啟用Visual Studio Online
5.3使用Azure PowerShell管理快取服務
5.4安裝ASP.NET Core 1.0 和Apache Cordova
第6章建置物理模型
6.1識別物理模型
6.2建立物理模型專案
6.3建立物理模型
6.4建立資料存取專案
第7章 建立Web網站
7.1建立Web 專案
7.2依賴植入
7.3實現商品展示相關功能
7.4實現首頁功能
7.5實現購物車的相關功能
7.6實現收貨地址管理相關功能
7.7實現訂單相關功能
第8章 建立Web API
8.1幾種遠端呼叫方式
8.2設計好用的Web API
8.3Web API的設定和驗證
8.4建立Muscle Fellow.API專案
8.5設計Muscle Fellow的Web API
第9章 在Azure上部署服務
9.1在Azure上部署示意
9.2在Azure 上部署的注意事項
9.3在Azure 上建立虛擬網路
9.4在Azure 上建立Linux虛擬機器
9.5為Linux 虛擬機器附加磁碟
9.6在Ubuntu 上部署.NET Core
9.7移轉SQL 資料庫到雲端
9.8部署Muscle Fellow.Web 和Muscle Fellow.API
9.9使用Nginx 實現反向代理
9.10設定虛擬機器通訊埠對映
第10章 AngularJS和Ionic Framework
10.1AngularJS 入門
10.2Ionic Framework 入門
第11章 使用Cordova開發跨平台行動應用
11.1建立Ionic專案
11.2開發Cordova版本行動應用
11.3專案編譯偵錯
第12章 使用Xamarin開發跨平台行動應用
12.1準備工作
12.2開發Xamarin版本行動應用
前言
第1章 微軟「雲+端」戰略
1.1雲端運算介紹
1.2微軟的公有雲Azure 簡介
1.3端的變革
1.4微軟的端戰略
第2章 革命性的ASP.NET Core
2.1完全開放原始碼的ASP.NET Core
2.2ASP.NET Core 的新特性
2.3MVC 6 的新特性
2.4dotnet 命令列工具
第3章 開放原始碼跨平台的裝置端開發
3.1行動開發簡史
3.2行動開發的顯著特性
3.3主流跨平台行動開發技術介紹
3.4行動應用程式開發方式的選擇
第4章 專案介紹和需求分析
4.1專案展望
4.2系統需求
4.3網站功能需求
4.4行動端程式功能需求
第5章 建置開發環境
5.1安裝...