活動介紹
本次活動主要是 .NET Xamarin.Forms 行動端專案開發實戰教學,與以往相同,本次的收入(其他部分會另行說明)也將用於社區公益活動,不限於:
- 公益性質的個人/機構捐贈
- 開源社群個人/專案捐贈
- 內部投票活動
本次的活動費用為:399 元,相對於去年組織的 WPF 公益實戰影片而言,這次的內容除了是針對 Xamarin.Forms 以外,整體的內容幾乎是針對常見的商業化需求進行開發。包含以下:
- 後端 (ASP.NET Core WebApi) 與商業版一致
- 前端 (Angular) 與商業版一致
- 行動端 (Xamarin.Forms) 重構可商用
- 部署文件以及專案解決方案文件說明
- Xamarin.Forms 專案文件
包含完整的後端+前端+行動端原始碼,行動端原始碼完全重構可商業化使用。
關於基於 ABP 的完整 WPF 版本,則會在本次 Xamarin.Forms 發布之後進行開發(實際上,去年年底已經開發了一部分),會在這兩個月發布,隨後投入 ABP 框架移植 MAUI 的開發與教學製作工作。
以往的組織活動,詳見:
如何參與活動?
參與活動請加入 QQ 群:
- QQ 群:864083645
- 群答案:微軟系列技術教學
特別說明:
- 關於之前參與過《2022 終極版 WPF 專案實戰》或《ABP 框架活動》的朋友可減去已支付的 99 元,這部分不包含捐贈範圍內。
- 關於影片部分,會統一上傳至 B 站平台進行觀看,所有原始碼/文件如有更新,會在群內進行統一通知。
- ABP 商業版目前的版本是 11.1.0 (2022-02-28),支援到 2022-09-15 為止,中間有任何新版本發布,如有需要可以與本人聯繫。
專案介紹
本次專案實戰是基於商業版的 ABP 進行二次開發,在不破壞原有的基礎設施的情況下,針對行動端 Xamarin.Forms 進行完全重構,移除了 ABP 提供的各種依賴元件,使用主流的開源框架進行重新開發,其中包括不限於:Prism.Forms、Syncfusion、XamarinCommunityToolkit、Xam.Plugin、AcrUserDialogs 等等。
專案主要分為三個部分:
- 後端 (ASP.NET Core WebApi):提供 ABP 中業務功能的 Web 服務
- 前端 (Angular):整合 ABP 中所有功能的 Web 網頁
- 行動端 (Xamarin.Forms):整合 ABP 中所有功能,運行在 Android 與 iOS 裝置上的原生 APP
關於後端以及前端部分會在影片以及開發文件當中介紹,那麼下面,會主要來介紹本次發布的 Xamarin.Forms 框架的內容。
功能主要包含如下:
- 系統登入/登出/找回密碼/發送郵件
- 使用者模組
- 角色模組
- 組織結構模組
- 多租戶模組
- 語言模組
- 版本管理
- 動態屬性
- 稽核日誌
- 系統設定
- 個人資訊
- 主題設定
關於 Xamarin.Forms 部分,是完整進行重構開發,可以進行商業化使用,但其依賴的 UI 元件則需符合其使用條件(這點會在開發文件中說明)。
對於後端的 Web 服務由於是使用商業版進行二次開發,故不能進行商業化部署,僅適用於學習目的。如果需要進行商業化開發,請單獨聯繫本人。
ABP 後端以及前端部分未經過修改,相容 ABP 的所有官方文件,包括使用其程式碼產生器等功能。
學習路線
本次的專案,主要是透過專案實戰的方式教大家如何使用 Xamarin.Forms 進行實際開發,其中包含常見的開發需求,如下:
- 授權登入登出
- 本地化以及多語言切換
- 支援多種系統主題
- 容器以及依賴注入
- MVVM 框架使用
- 實體對映及驗證
- 常見佈局以及 UI 元件
- 發布訂閱元件
- Web 服務
- 例外處理
關於具體的內容,會在開發文件中給大家詳細介紹,以及包含 Xamarin.Forms 本身的內容,文件大致如下:

Xamarin.Forms 效果圖
下面主要是本次專案當中的一些實際運行的專案部分截圖(包含 iOS 以及 Android):
安卓子系統
登入頁

首頁

主題

系統選單

使用者管理

稽核日誌

語言管理

新建租戶

iOS 裝置
登入

首頁

新建使用者

語言列表

稽核日誌

......
結尾
在最後,也給大家分析一下如今國內 .NET 開發為什麼很少使用 Xamarin.Forms 的原因以及為什麼我要做類似的事情。
Xamarin.Forms 為什麼很少人使用?
主要的原因可能就是以下幾點:
- 影片教學稀缺,微軟的官方文件做得很好但也無法形成一個完整學習體系。
- 國內主流的 .NET 開發者基本上不用 Xamarin.Forms,大部分只是追隨市場用一些 Web 技術跨平台開發。(這與大部分從業者從事 BS 行業的工作有關)
- 大量的 .NET 客戶端開發者仍然不知道 .NET 可以進行行動端開發
- 國內開源的案例、相關元件幾乎沒有,大部分仍然是以國外為主。
這麼少人用,為什麼你還選擇它?
事實上,從我接觸 WPF 開始,網路上 WPF 的教學資源就幾乎沒有,微軟官方文件也是敷衍了事,相關的學習案例就更不用想。而確定一點的是,WPF 國內的市場比 Xamarin 多得多,所以 Xamarin 更加不用想像會有多慘。
從 2019 年開始,我在網路上陸續發布 WPF、Xamarin、ASP.NET Core 相關教學影片,整體性來講,除了 ASP.NET Core 相關的內容網路上確實是相對多,屬於一個資源相對 .NET 領域飽和的這麼一個狀態,那麼對於 WPF 以及 Xamarin.Forms 而言,現階段已經在國內的大部分平台搜尋,我的內容已經出現在最前面了(無論是 B 站、抖音、今日頭條還是西瓜影片)。
這也恰恰說明了在這方面做的人少的表現,所以今年會在客戶端領域加大力度(WPF/Xamarin/MAUI),以及推出更多的專案實戰案例來給大家學習以及參考使用。