項目實戰包含以下:
- 后端 (ASP.NET Core WebApi) 與商業版一致
- 前端 (Angular) 與商業版一致
- 移動端 (Xamarin.Forms) 重構可商用
- 部署文檔以及項目解決方案文檔說明
- Xamarin.Forms 項目文檔
包含完整的后端+前端+移動端源代碼, 移動端源代碼完全重構可商業化使用。
關於基於ABP的完整WPF版本, 則會在本次Xamarin.Forms 發布之后進行開發(實際上,去年年尾已經開發了發部分), 會在這兩個月發布, 隨后投入ABP框架移植MAUI的開發與教程制作工作。
以往的組織活動, 詳見:
如何獲取源代碼?
QQ: 779149549
項目介紹
本次項目實戰是基於商業版的ABP進行二次開發, 在不破壞原有的基礎設施的情況下, 針對移動端Xamarin.Forms進行完全重構, 移除了ABP提供的各種依賴組件,使用主流的開源框架進行
重新開發, 其中包括不限於: Pirms.Forms、Syncfusion、XamarinCommunityToolkit、Xam.Plugin、ArcUserDialogs等等。
項目主要分為三個部分:
- 后端(ASP.NET Core WebApi) :提供AB中業務功能的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), 以及推出更多的項目實戰案例來給大家學習以及參考使用。