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

来源: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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...