Xamarin.Forms 快速入門
$20.00
最低售價
$25.00
建議售價

Xamarin.Forms 快速入門

Xamarin.Forms Quick Start

關於本書

這本書能提供什麼

在這本書裡面,將會提供 16 章的內容,分別是

  • 開發前的安裝、設定準備工作 (共3章)

對於Xamarin.Forms 開發新手,第一個學習卡關將會是如何安裝與設定一個可以進行Xamarin.Forms 的開發環境;在這個部分將會詳細說明如何安裝與設定Visual Studio 2019 ,使其可以順利的進行Xamarin.Forms 的開發工作。

  • 使用C# 程式語言來直接開發Xamarin.Forms App

說明如何僅使用C# 程式語言,就可以開發出Xamarin.Forms 的應用程式的開發過程。

  • 使用XAML 標記宣告語言來開發Xamarin.Forms App

說明使用XAML 宣告標記語言來進行頁面畫面的內容宣告,相關的商業邏輯則是使用程式碼後置Code Behind 的方式來開發。

  • 資料綁定Data Binding

資料綁定Data Binding是在Xamarin.Forms 開發上,最為重要的技術,對於資料綁定的類型共有三種,這裡將會針對一般資料物件類型的綁定設計方式來說明如何使用。

  • 更多資料綁定的用法

這裡將會繼續介紹更多關於資料綁定的不同使用方式。

  • 數值轉換器Value Converter

對於資料綁定的設計方法下,數值轉換器的應用扮演者相當重要的角色,透過設計不同的數值轉換器類別可以設計出許多可重複使用的商業邏輯,並且輕鬆地將不同型別的綁定目標與綁定來源屬性串接在一起。

  • 命令綁定Command Binding

命令綁定是資料綁定的第二種類型,透過命令綁定可以不再需要使用以往需要透過事件訂閱的設計方式,與在程式碼後置區塊來進行相關商業邏輯的程式碼設計工作,全部都轉移到綁定來源的類別物件上。

  • 事件轉命令行為Event to Command Behavior

Xamarin.Forms 並不是所有的檢視項目都有提供可綁定的命令屬性,但是一定會有提供事件觸發的設計方式,在這裡將會使用Xamarin.Forms 的一個核心技術行為Behaviors,將需要訂閱的事件與命令綁定在一起,這使得當事件被觸發的時候,可以執行所綁定的命令內的委派方法。

  • 手勢操作Gesture Recognizer

在Xamarin.Forms 內提供可以與使用者互動的項目不多,按鈕是其中一個,不過, Xamarin.Forms 提供了手勢辨識器功能,可以在讓何檢視項目上,宣告不同的手勢操作行為,當發生了這個手勢操作行為,將會觸發所指定的命令,例如,得知使用者點選了一個圖片UI 控制項。

  • MVVM Model-View-ViewModel 設計模式

Xamarin.Forms 可以搭配MVVM 的設計模式,讓UI 視覺設計與呈現邏輯程式碼與商業邏輯程式碼分隔開來,這樣可以有助於程式開發流程、進行單元測試,因為,這解除了視覺控制項與程式碼之間的緊密耦合關係。

  • 內建導航服務

開發行動應用程式最為重要的設計工作,那就是能夠在不同的頁面之間進行切換,在這裡會先進行Xamarin.Forms 預設提供的導航服務功能進行介紹,並且了解到更多設計上的問題,可能需要進一步的解決。

  • 導航服務之封裝設計

為了要解決Xamarin.Forms 預設的導航服務的不足,已經可以在檢視模型中進行各種頁面導航操作,在這裡將會設計一個延伸導航服務類別,解決相關問題,讓開發過程更加的順暢。

  • 相依服務Dependency Service

Xamarin.Forms 是個UI 開發工具,它把UI 設計抽象化了,並且可以讓使用Xamarin.Forms 設計的UI 畫面可以在不同平台下來顯示出來,可是,當需要某些功能一定需要透過原生SDK API 才能夠運作的需求,並且取得原生SDK API 的執行結果,這個時候就可以透過Xamarin.Forms 提供的相依服務來滿足這樣的工作。

  • 訊息中心MessagingCenter

訊息中心是一種發行-訂閱模式,其中對於發行者這個角色可以在不知道任何訂閱者的情況下傳送訊息。同樣地,訂閱者也可以在不知道任何發行者的情況下訂閱特定訊息。透過這樣的特行,可以讓Xamarin.Forms的程式順利地執行原生平台下的SDK API。

誰適合閱讀這本書

本書適合想要學會如何使用Xamarin.Forms 工具來開發出跨平台的行動應用程式的開發者,這裡將會介紹各種Xamarin.Forms 核心與應用開發技術與技巧,並且帶領大家了解到進階的開發技能,如:檢視模型定位器,延伸導航服務等。透過學習這些開發技術,將會有助於進行各種Xamarin.Forms 應用程式開發能力的提升。

不過,讀者本身應該要具備.NET / C# 的開發經驗與程式寫作技能,並且要有使用過Visual Studio 2019 開發經驗。

這本書的範例專案將會是在Windows 10 作業系統下,使用Visual Studio 2019 開發工具開發出來的,由於使用Xamarin.Forms 開發出來的專案可以在Android / iOS / UWP 平台下執行,若想要體驗開發出來的專案且在iOS 模擬器環境下執行效果,讀者需要額外準備一台Mac 電腦,並且在這台電腦上需要安裝Xcode 與Visual Studio for Mac 開發工具。

更多內容,可以參考作者 Vulcan Lee 部落格文章

C# .NET Blazor Research

Xamarin Research

關於作者

Vulcan Lee
Vulcan Lee

about me

Table of Contents

  •  
    • 前言
    • 關於本書
      • 這本書能提供什麼
      • 誰適合閱讀這本書
      • 如何使用本書
      • 意見回饋
  • I 開發前的安裝、設定準備工作
    • 1. 安裝前的準備工作
      • 1.1 確認作業系統版本
      • 1.2 確認硬體 BIOS 有啟用虛擬化功能
        • 1.2.1 停用 Hyper-V
      • 1.3 啟用 UWP 開發人員模式
      • 1.4 準備一台 macOS 的電腦主機
    • 2. Windows 電腦與 Mac 電腦上的 Visual Studio 2019 安裝與相關相關設定
      • 2.1 在 Windows 作業系統電腦上安裝 Visual Studio 2019
      • 2.2 在 Mac 作業系統電腦開發工具之安裝與設定
        • 2.2.1 安裝 Xcode 開發人員工具
        • 2.2.2 安裝 Visual Studio for Mac
        • 2.2.3 在 Mac 上啟用遠端登入
    • 3. Visual Studio 2019 安裝後的相關設定與確認開發環境可以使用
      • 3.1 更新 Android SDK
      • 3.2 安裝與啟動 Google Android 原生模擬器
      • 3.3 測試與確認開發環境可以進行 Xamarin.Forms 專案開發
        • 3.3.1 測試可以建立 Xamarin.Forms 專案
        • 3.3.2 建置與執行 Android 專案
        • 3.3.3 建置與執行 iOS 專案
        • 3.3.4 建置與執行 UWP 專案
      • 3.4 結論
  • II Xamarin.Forms 開發方式與基本概念
    • 4. 使用 C# 程式語言來直接開發 Xamarin.Forms App
      • 4.1 建立一個 Xamarin.Forms 方案
      • 4.2 了解 Xamarin.Forms 方案的結構
        • 4.2.1 了解 Xamarin.Android 專案的結構與運作方式
        • 4.2.2 Xamarin.Android 的專案進入點
        • 4.2.3 了解 Xamarin.iOS 專案的結構與運作方式
        • 4.2.4 Xamarin.iOS 的專案進入點
        • 4.2.5 了解 Xamarin.UWP 專案的結構與運作方式
        • 4.2.6 UWP 的專案進入點
        • 4.2.7 了解 Xamarin.Forms 專案的結構與運作方式
      • 4.3 開始僅使用 C# 程式碼來設計兩數相加的遊戲
        • 4.3.1 建立一個新遊戲頁面類別
        • 4.3.2 讓新增類別繼承 ContentPage
        • 4.3.3 設計該遊戲頁面
        • 4.3.4 變更 Xamarin.Forms 應用程式的起始頁面
    • 5. 使用 XAML 標記宣告語言來開發 Xamarin.Forms App
      • 5.1 建立一個 Xamarin.Forms 方案
      • 5.2 了解 XAML 檔案的運作方式
      • 5.3 了解如何在 Code Behind 程式碼來存取 XAML 文件中的項目
      • 5.4 使用 XAML 設計兩數相加的遊戲畫面
        • 5.4.1 建立一個新遊戲 XAML 頁面
        • 5.4.2 設計該遊戲頁面的 XAML 文件內容
        • 5.4.3 變更 Xamarin.Forms 應用程式的起始頁面
      • 5.5 App.xaml 的應用
    • 6. 資料綁定 Data Binding
      • 6.1 了解資料綁定運作流程
      • 6.2 了解何謂 BindingContext 綁定內容
      • 6.3 資料綁定的練習 綁定目標 XAML - 綁定來源 XAML
        • 6.3.1 建立一個 Xamarin.Forms 方案
        • 6.3.2 建立一個具有靜態屬性的類別
        • 6.3.3 修改 MainPage.xaml 的 XAML 宣告語言內容
      • 6.4 資料綁定的練習 綁定目標 XAML - 綁定來源 C# 的物件
        • 6.4.1 建立一個 Xamarin.Forms 方案
        • 6.4.2 建立一個用於資料綁定的 C# 類別
        • 6.4.3 修改頁面的 XAML 宣告內容
        • 6.4.4 在頁面的程式碼後置區域設計商業邏輯
        • 6.4.5 執行與測試
      • 6.5 使用繼承方式提供 INotifyPropertyChanged 實作
        • 6.5.1 建立一個 Xamarin.Forms 方案
        • 6.5.2 建立一個用於資料綁定的 C# 基底類別
        • 6.5.3 建立一個用於資料綁定的 C# 類別
        • 6.5.4 執行與測試
      • 6.6 透過 PropertyChanged.Fody 套件來簡化設計
        • 6.6.1 建立一個 Xamarin.Forms 方案
        • 6.6.2 安裝 PropertyChanged.Fody 套件
        • 6.6.3 建立一個用於資料綁定的 C# 類別
        • 6.6.4 執行與測試
    • 7. 更多資料綁定的用法
      • 7.1 資料綁定的練習 綁定目標 XAML - 綁定來源 XAML
      • 7.2 建立一個 Xamarin.Forms 方案
      • 7.3 安裝 PropertyChanged.Fody 套件
      • 7.4 建立一個用於資料綁定的 C# 類別
      • 7.5 設計該頁面 XAML 內容
        • 7.5.1 用法1: 資料綁定的模式 單向或者雙向差異
        • 7.5.2 用法2: 深層資料繫節
        • 7.5.3 用法3: 不同指定綁定屬性用法
        • 7.5.4 用法4: 資料集合的資料綁定
        • 7.5.5 用法5: 綁資料字典內的某筆資料
        • 7.5.6 用法6: 輔助支援用法
    • 8. 數值轉換器 Value Converter
      • 8.1 數值轉換器的練習
      • 8.2 建立一個 Xamarin.Forms 方案
      • 8.3 安裝 PropertyChanged.Fody 套件
      • 8.4 建立一個用於資料綁定的 C# 類別
      • 8.5 設計三個專案會用到的數值轉換器
      • 8.6 修改頁面的 XAML 宣告內容
      • 8.7 執行與測試
    • 9. 命令綁定 Command Binding
      • 9.1 建立一個 Xamarin.Forms 方案
      • 9.2 安裝 PropertyChanged.Fody 套件
      • 9.3 設計該頁面 XAML 內容
      • 9.4 建立一個用於資料綁定的 C# 類別
      • 9.5 執行與測試
    • 10. 事件轉命令行為 Event to Command Behavior
      • 10.1 建立一個 Xamarin.Forms 方案
      • 10.2 安裝 PropertyChanged.Fody 套件
      • 10.3 建立一個事件轉命定的行為類別
      • 10.4 設計該頁面 XAML 內容
      • 10.5 建立一個用於資料綁定的 C# 類別
      • 10.6 執行與測試
    • 11. 手勢操作 Gesture Recognizer
      • 11.1 建立一個 Xamarin.Forms 方案
      • 11.2 安裝 PropertyChanged.Fody 套件
      • 11.3 設計該頁面 XAML 內容
      • 11.4 建立一個用於資料綁定的 C# 類別
      • 11.5 執行與測試
    • 12. MVVM Model-View-ViewModel 設計模式
      • 12.1 建立一個 Xamarin.Forms 方案
      • 12.2 安裝 PropertyChanged.Fody 套件
      • 12.3 安裝 Newtonsoft.Json 套件
      • 12.4 建立 需要用到的方案資料夾
      • 12.5 建立 ViewModelLocator 附加屬性
      • 12.6 建立 事件轉命令的行為 C# 類別
      • 12.7 建立一個可將 bool 值反轉的數值轉換器
      • 12.8 建立模型類別
      • 12.9 建立取得網路 JSON 文件服務類別
      • 12.10 設計該頁面 XAML 內容
      • 12.11 建立該頁面的檢視模型類別 C# 類別
      • 12.12 執行與測試
    • 13. 內建導航服務
      • 13.1 建立一個 Xamarin.Forms 方案
      • 13.2 安裝 PropertyChanged.Fody 套件
      • 13.3 建立 需要用到的方案資料夾
      • 13.4 建立 ViewModelLocator 附加屬性
      • 13.5 設計 首頁 頁面 XAML 內容
      • 13.6 修正 首頁 頁面的程式碼後置 C# 程式碼
      • 13.7 建立 首頁 頁面的檢視模型類別 C# 類別
      • 13.8 設計 下頁 頁面 XAML 內容
      • 13.9 修正 首頁 頁面的程式碼後置 C# 程式碼
      • 13.10 建立 下頁 頁面的檢視模型類別 C# 類別
      • 13.11 修正 核心專案 進入點的預設頁面
      • 13.12 執行與測試
    • 14. 導航服務之封裝設計
      • 14.1 建立一個 Xamarin.Forms 方案
      • 14.2 安裝 PropertyChanged.Fody 套件
      • 14.3 建立 需要用到的方案資料夾
      • 14.4 建立 ViewModelLocator 附加屬性
      • 14.5 建立 INavigationService 附加屬性
      • 14.6 建立 NavigationService 附加屬性
      • 14.7 建立 導航頁面
      • 14.8 設計 登入頁面 頁面 XAML 內容
      • 14.9 設計 首頁 頁面 XAML 內容
      • 14.10 設計 使用者設定資訊 頁面 XAML 內容
      • 14.11 設計 關於 頁面 XAML 內容
      • 14.12 建立 所有檢視模型 都會用到的基底類別 C# 類別
      • 14.13 建立 登入頁面 頁面的檢視模型類別 C# 類別
      • 14.14 建立 首頁 頁面的檢視模型類別 C# 類別
      • 14.15 建立 使用者設定資訊 頁面的檢視模型類別 C# 類別
      • 14.16 建立 關於 頁面的檢視模型類別 C# 類別
      • 14.17 修正 核心專案 進入點的預設頁面
      • 14.18 執行與測試
    • 15. 相依服務 Dependency Service
      • 15.1 建立一個 Xamarin.Forms 方案
      • 15.2 安裝 PropertyChanged.Fody 套件
      • 15.3 建立 需要用到的方案資料夾
      • 15.4 建立模型類別
      • 15.5 建立相依服務使用到的介面
      • 15.6 設計該頁面 XAML 內容
      • 15.7 建立檢視模型 C# 類別
      • 15.8 在 Android 專案內實作這相依服務介面
      • 15.9 在 iOS 專案內實作這相依服務介面
      • 15.10 執行與測試
    • 16. 訊息中心 MessagingCenter
      • 16.1 建立一個 Xamarin.Forms 方案
      • 16.2 安裝 PropertyChanged.Fody 套件
      • 16.3 建立訂閱事件類別
      • 16.4 設計該頁面 XAML 內容
      • 16.5 建立檢視模型 C# 類別
      • 16.6 在 Android 專案內訂閱這個事件
      • 16.7 在 iOS 專案內訂閱這個事件
      • 16.8 修正 iOS 專案內的 info.plist
      • 16.9 執行與測試
    • 版權頁

Leanpub 無條件、無風險的 100% 滿意保證

付款之後的 45 天內,只要點個兩下,你就可以完成退書並且取回先前支付的全數金額。退書是採用人工作業,因此可能需要花幾天的時間才能完成整個程序。
See full terms.

Do Well. Do Good.

Authors have earned$11,043,141writing, publishing and selling on Leanpub, earning 80% royalties while saving up to 25 million pounds of CO2 and up to 46,000 trees.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers), EPUB (for phones and tablets) and MOBI (for Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

在 Leanpub 上面寫作與出版

作者與出版社使用 Leanpub 來出版寫作中和已完成的書籍,就像這本書。你也可以用 Leanpub 來撰寫、出版、和銷售你的作品!Leanpub 是功能強大的平台,非常適合認真的作者。它結合了簡單、優雅的寫作與出版流程,以及一個可銷售寫作中的電子書的線上商店。Leanpub 對作家而言是個神奇打字機:只要編寫純文字,然後按個鈕就能出版你的電子書。真的就是這麼容易。

Learn more about writing on Leanpub