【新書推薦】《微軟開源跨平臺移動開發實踐》--帶你走近微軟開源開源跨平臺技術

来源:http://www.cnblogs.com/shanyou/archive/2016/12/12/6160440.html
-Advertisement-
Play Games

上周收到本書作者李爭送的一本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/ 訪問:

image

涉及到的技術主要有:

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.2dotnetnew
2.4.3dotnetrestore
2.4.4dotnetrun
2.4.5dotnetbuild
2.4.6dotnetpublish

第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方面的必備圖書。

imagemsopensourcetech

順便在微信公眾號里調查下大家對這兩本書的購買意願,看情況如果人多的話我們是否可以一起組織一次團購活動。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前面一篇里提到事件是通過委托來進行關聯的,而委托是可以帶各種各樣的參數的,其中就可以用事件參數(EventArgs),同時,也可以用.Net框架裡邊提供的一個委托EventHandler來Handle事件。 一樣,搞一個場景(這個場景是書里的):買車。經銷商(CarDealer)會上新車(NewCa ...
  • C#的事件基於委托,所以先說委托。 一切脫離實際場景的抽象概念新手看上去就像是在扯犢子,不錯,我就是個新手。所以我需要一個實際的場景。 明天剛好考試(商務英語),考試上有兩個角色(class):老師(Teacher)和學生(Student),在考試時間終止的時候,老師會觸發(invoke)一個事件( ...
  • 上篇 《python時間時分秒與秒數的互相轉換》http://www.cnblogs.com/gayhub/p/6154707.html 提到了把時間轉成秒數的方法, 這篇寫寫轉換成秒數後有些什麼用處。 場景1:取N個07:30:00 09:30:33之間的隨機時間。 下麵是我的代碼: 從代碼中可以 ...
  • OpenGL常用函數 glAccum 操作累加緩衝區 glAddSwapHintRectWIN 定義一組被 SwapBuffers拷貝的三角形 glAlphaFunc允許設置alpha檢測功能 glAreTexturesResident 決定特定的紋理對象是否常駐在紋理記憶體中 glArrayElem ...
  • 1、put/checkAndPut 使用checkAndPut,需要先對數據進行驗證,上面的例子中,向row1中的cf:col1寫入數據"E",而驗證的是row1中的cf:col5的值是否為"E",註意這一點,相當於加了條件。 2、使用get讀取數據 參考結果: 3、使用scan獲取數據 4、del ...
  • 工作中發現在oozie中使用sqoop與在shell中直接調度sqoop性能上有很大的差異。為了更深入的探索其中的緣由,開始了oozie的源碼分析之路。今天第一天閱讀源碼,由於沒有編譯成功,不能運行測試用例,直接使用sublime肉眼閱讀,還是挺費勁的。 雖然流程還不是順暢,但是大體上的內容還算是了 ...
  • 所有 ReSherper 的功能都可以使用快捷鍵。大部分功能都有預設快捷鍵,剩下的少數功能可以自定義快捷鍵。 ReSharper 提供了兩種快捷鍵的方式 Visual Studio:這種方式可以減少與 Visual Studio 本身快捷鍵的衝突。 ReSharper 2.0/IntelliJ ID ...
  • 網上有用的資料不多,在一本電子書中摘抄了內容如下 webControls配置節只有一個clientScriptsLocation屬性,此屬性用於指定ASP.NET客戶端腳本的預設存放路徑。這些文件是包含在HTML代碼生成的ASPX頁面時這些需要的客戶端功能,如智能導航和客戶端控制項驗證。 <webCo ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...