上周收到本書作者李爭送的一本12月份的新書《微軟開源跨平臺移動開發實踐》。這本書的內容確是超豐富,濃縮了微軟這三年向開源和跨平臺領域的轉變,微軟在開源和跨平臺領域構建出來的一套技術體系。 ...
上周收到本書作者李爭送的一本12月份的新書《微軟開源跨平臺移動開發實踐——利用ASP.NET Core 1.0 、Apache Cordova、Xamarin和Azure快速構建移動應用解決方案》。這本書的名字超長。這本書也是超薄,只有220頁,一個周末時間就讀完了,但是這本書的內容確是超豐富,濃縮了微軟這三年向開源和跨平臺領域的轉變,微軟在開源和跨平臺領域構建出來的一套技術體系。從服務端的NET Core、ASP.NET 和 Web APi ,到Web端的 Typescript腳本語言,再到移動端的Apache Cordova和Xamarin ,以及Visual Studio Community 和Visual Studio Online等等入門知識。
作者編寫這本書,主要是通過一個非常簡單的電商項目,將目前微軟開源跨平臺的技術體繫結構串聯起來,幫助創業者和開發人員瞭解和掌握如何使用微軟的開源跨平臺技術來迅速構建自己的應用。然後啟用微軟雲Azure的力量,快速部署和集成,迅速地將自己地技術產品和想法推廣到每個用戶手中。這本書不是一本單獨講解某個微軟開源技術,而是把微軟地開發工具服務(Visual Studio 2015、Visual Studio Online),微軟開源開發技術(.NET Core 1.0、Apache Cordova、Xamarin)和微軟雲(Azure)等各種相關技術串聯起來地一本書。
本書的電商項目MuscleFellow 一個用Visual Studio 2015 Update 3 創建的,用來演示.NET Core 和 ASP.NET Core 1.0 的Demo。 整個項目的解決方案叫做MuscleFellow, 同時也是這個網站的名字:做肌肉伙伴(MuscleFellow)。這個基於ASP.NET Core 開發的網站可以實現簡單的商品購買、購物車、地址管理、訂單查看等功能。 同時,這個MuscleFellow.API 項目還提供了對外的Web API 功能。用來支持Cordova 和Xamarin 技術開發的移動程式的訪問。源碼托管在github:https://github.com/micli/MuscleFellow ,同時在Azure上部署了一個網站,可以通過http://musclefellow.chinacloudapp.cn/ 訪問:
涉及到的技術主要有:
Azure 部署
目前這個網站部署在微軟雲Azure 的雲服務(Cloud Service)上面,以經典模式進行部署。Web 伺服器採用Ubuntu 14.04 LTS,Web 服務通過Nginx + Supervisor + Kestrel 進行發佈。 發佈的Web 服務包括肌肉伙伴網站: http://musclefellow.chinacloudapp.cn 和肌肉伙伴Web API http://musclefellow.chinacloudapp.cn:8081
ASP.NET Core
MuscleFellow 的網站項目MuscleFellow.Web 和MuscleFellow的Web API 項目MuscleFellow.API 都是通過ASP.NET Core 技術進行開發。在項目中演示了Tag Helper、Middleware、Routing、依賴註入等ASP.NET Core 的主要特性。
ASP.NET Core Web API
在MuscleFellow.API 項目中著重演示瞭如何實現對HTTP GET、POST、PUT 等謂詞的處理。
Entity Framework Core
在MuscleFellow.Data 項目中主要實現了通過Resposity 模式,用Entity Framework Core 去訪問資料庫。
Apache Cordova 開發
演示了使用Ionic 框架配合JavaScript 腳本實現一款基於Cordova 技術的移動應用,項目可以直接編譯成Android 使用的apk 應用程式包。通過配置,也可將項目編譯成iOS 使用的ipa。
Xamarin.Forms 開發
演示了使用Xamarin.Forms 實現一個自定義的ListView 來展示MuscleFellow 的產品,並支持使用Xamarin 提供的iOS 模擬器在Windows 上進行應用程式調試。
書籍目錄如下:
第1章微軟“雲+端”戰略
1.1雲計算介紹
1.1.1我們為什麼要擁抱雲計算
1.1.2當今計算模型的變化
1.1.3雲計算是什麼
1.1.4什麼樣的雲是一朵好雲
1.2微軟的公有雲Azure 簡介
1.3端的變革
1.4微軟的端戰略
第2章革命性的ASP.NET Core
2.1完全開源的ASP.NET Core
2.1.1.NET Core實現了開源跨平臺的使命
2.1.2ASP.NET 是什麼
2.1.3ASP.NET 早期開源
2.2ASP.NET Core 的新特性
2.2.1使用JSON格式配置文件
2.2.2使用OWIN與IIS解耦
2.2.3全新的HttpContext
2.2.4內置依賴註入
2.2.5支持開放的包管理工具
2.2.6採用即時編譯運行
2.3MVC 6 的新特性
2.3.1合併技術棧
2.3.2改進路由功能
2.3.3模型綁定
2.3.4TagHelper
2.4dotnet 命令行工具
2.4.1dotnet命令
2.4.2dotnetnew
2.4.3dotnetrestore
2.4.4dotnetrun
2.4.5dotnetbuild
2.4.6dotnetpublish
第3章開源跨平臺的設備端開發
3.1移動開發簡史
3.1.1Windows的精簡版Windows CE
3.1.2工控起家的Symbian
3.1.3Android的革命性崛起
3.2移動開發的顯著特性
3.2.1用戶體驗是第一位的
3.2.2移動設備的資源限制頗多
3.2.3移動應用程式需要處理移動設備的特殊事件
3.2.4移動應用程式需要處理好數據同步和數據衝突的問題
3.3主流跨平臺移動開發技術介紹
3.3.1QT Library 介紹
3.3.2Xamarin 介紹
3.3.3Cordova 介紹
3.4移動應用開發方式的選擇
3.4.1Web頁面還是App
3.4.2移動應用開發方式的選擇
3.4.3Cordova 還是Xamarin
第4章項目介紹和需求分析
4.1項目展望
4.2系統需求
4.3網站功能需求
4.3.1首頁功能
4.3.2搜索功能
4.3.3商品詳細信息展示
4.3.4購物車功能
4.3.5訂單
4.3.6用戶賬戶管理
4.4移動端程式功能需求
4.4.1主界面功能
4.4.2商品信息展示功能
4.4.3購物車功能 4.4.4訂單功能
第5章構建開發環境
5.1安裝Visual Studio
5.1.1在雲端創建開發機
5.1.2Visual Studio 的版本選擇
5.1.3安裝Visual Studio 2015 Community版本
5.1.4安裝小貼士
5.2啟用Visual Studio Online
5.3使用Azure PowerShell管理緩存服務
5.4安裝ASP.NET Core 1.0 和Apache Cordova
第6章構建實體模型
6.1識別實體模型
6.1.1Muscle Fellow 用戶關鍵用例
6.1.2實體類型之間的關係
6.2創建實體模型項目
6.2.1Entity Framework Core介紹
6.2.2創建Muscle Fellow.Models 項目
6.3創建實體模型
6.3.1創建用戶模型
6.3.2創建商品模型
6.3.3創建商品圖片模型
6.3.4創建品牌模型
6.3.5創建商品類型模型
6.3.6創建購物車模型
6.3.7創建訂單實體
6.3.8創建訂單明細實體
6.3.9創建送貨地址實體
6.3.10配置Muscle Fellow 數據上下文對象
6.3.11將實體對象映射到資料庫
6.4創建數據訪問項目
6.4.1什麼是Repository 模式
6.4.2創建Muscle Fellow.Data 項目
6.4.3設計和實現Repository 模式
第7章創建Web網站
7.1創建Web 項目
7.1.1創建Muscle Fellow.Web 項目
7.1.2ASP.NET Core Web項目基本結構
7.1.3ASP.NET Core Web 項目的入口
7.1.4引用前端框架
7.1.5引用NuGet 包
7.2依賴註入
7.3實現商品展示相關功能
7.4實現首頁功能
7.5實現購物車的相關功能
7.6實現收貨地址管理相關功能
7.7實現訂單相關功能
第8章創建Web API
8.1幾種遠程調用方式
8.1.1套接字調用
8.1.2RPC服務調用
8.1.3Web Service 調用
8.1.4Web API 調用
8.2設計好用的Web API
8.2.1Web API 應具有版本標識
8.2.2Web API 應簡單明瞭
8.2.3選擇恰當的數據格式
8.3Web API的配置和驗證
8.3.1實現ASP.NET Core 配置
8.3.2Web API的用戶身份驗證
8.4創建Muscle Fellow.API項目
8.5設計Muscle Fellow的Web API
8.5.1商品實體Web API的設計
8.5.2商品實體Web API的實現
8.5.3商品實體Web API的調試
8.5.4用戶賬戶實體Web API的設計
8.5.5用戶賬戶實體Web API的實現
8.5.6購物車實體Web API的設計
8.5.7購物車實體Web API的實現
8.5.8訂單實體Web API 的設計
8.5.9訂單實體Web API 的實現
第9章在Azure上部署服務
9.1在Azure上部署示意
9.2在Azure 上部署的註意事項
9.2.1永遠要為虛擬機附加一塊磁碟
9.2.2故障域和可用性集
9.2.3SQL Azure PaaS服務
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.8.1發佈前修改配置
9.8.2製作和部署發佈包
9.9使用Nginx 實現反向代理
9.10設置虛擬機埠映射
第10章AngularJS和Ionic Framework
10.1AngularJS 入門
10.1.1Angular 基本概念
10.1.2AngularJS 模塊
10.1.3AngularJS 的作用域
10.1.4控制器
10.1.5依賴註入
10.1.6HTML頁面中載入AngularJS
10.1.7AngularJS 的全局API
10.1.8AngularJS 的數據綁定
10.2Ionic Framework 入門
10.2.1模態視圖
10.2.2SideMenu側面菜單
10.2.3導航
10.2.4列表控制項
第11章使用Cordova開發跨平臺移動應用
11.1創建Ionic項目
11.2開發Cordova版本移動應用
11.2.1Ionic 項目結構介紹
11.2.2Ionic項目的啟動過程
11.2.3實現商品列表界面
11.2.4實現商品詳細信息界面
11.2.5實現用戶登錄
11.2.6實現購物車功能
11.3項目編譯調試
11.3.1Cordova 項目適用的調試器
11.3.2項目調試策略
11.3.3測試小貼士
11.3.4在OS X上編譯
第12章使用Xamarin開發跨平臺移動應用
12.1準備工作
12.1.1安裝Xamarin
12.1.2配置蘋果OS X 系統
12.1.3實現Visual Studio 和OS X 系統的連接
12.2開發Xamarin版本移動應用
12.2.1創建Xamarin 應用程式項目
12.2.2Xamarin 項目結構介紹
12.2.3認識可移植項目
12.2.4實現商品列表界面
12.2.5iOS項目構建和調試
本書比較適合對微軟技術構建應用以及對微軟雲平臺Azure部署應用感興趣的同學,也適合對開源技術感興趣的同學,這本書對微軟當前的開源跨平臺技術有了入門級的介紹,方便你對微軟的當前技術體系有個全貌概覽。
看到天貓京東都可以預定了,頁面的信息看12.20號後,最晚聖誕節就可以發貨了,大家可以上這兩大平臺上預定,購買的時候不妨也把李爭寫的另一本書《微軟互聯網信息服務 IIS 最佳實踐》也買了,這是一本IIS方面的必備圖書。