移動開發的下半場,企業對 App 的開發需求依然在增長,并且有了更高的要求。尤其是 iOS 開發,由于系統封閉和以前工具鏈不完善,大量手工操作完成重復勞動,這種開發模式隨著企業的更高要求被自動化與工程化取代。
統一的代碼管理規范與操作流程不僅能提高開發效率,還能降低崩潰率,節省維護成本。
你會學到什么?
本專欄將結合一款 App 的開發與工程化實踐進行講解。根據實際項目開發流程,內容分為五大模塊:
第一模塊:配置與規范。 搭建統一的開發環境,使用 CocoaPods 統一管理第三方的依賴庫,統一 Project 和 Target 的配置,使用 Swiftlint 統一編碼規范,以及使用 Git 和 GitHub 來規范源代碼管理流程。學完這一模塊,能讓你在開發項目時更規范,減少團隊溝通成本。
第二模塊:基礎組件設計。 設計規范組件、路由組件、多語言支持組件、動態字體和深色模式的支持組件。這一模塊教你如何使用極少的工作量來構建一些非常實用的基礎組件,減少重復勞動。
第三模塊:架構與實現。 如何使用 BFF 和 MVVM 來設計一套跨平臺的架構,包括 MVVM 模式中每一層的功能、責任,以及具體的代碼實現。你會掌握 App 開發全流程,引入 MVVM 架構來提高代碼的靈活性、擴展性和可維護性。
第四模塊:上架與優化。 比如,如何統一管理證書與描述文件,如何快速交付,如何靈活支持統計分析,如何借助崩潰報告解決線上的 Bug,等等。你將學會搭建一套自動化的流程,來實現無人操作打包、簽名、分發與上架,有效提升 App 的交付速度。
第五模塊:加餐。 在不改動任何原有代碼的基礎上把 UI 層從 UIKit 替換成蘋果公司最新的 UI 框架 SwiftUI,讓你更好地理解 MVVM 模式的優越性。
課程目錄:
開篇詞
開篇詞 | iOS 架構與開發工程化,讓你成為 10x 程序員
模塊一:配置與規范
03 | 配置準備:如何搭建多環境支持,為 App 開發作準備
04 | 編碼規范:如何使用 SwiftLint 統一編碼規范?
05 | 自動化準備:如何使用 Fastlane 管理自動化操作?
06 | 代碼管理:如何使用 Git 與 GitHub 統一代碼管理流程?
07 | 設計規范:如何統一設計規范,提高溝通效率?
01 | 開發環境:如何使用 Ruby 工具鏈統一開發環境?
02 | 依賴管理:如何使用 CocoaPods 統一依賴庫的管理?
模塊二:基礎組件設計
08 | 設計組件:DesignKit 組件橋接設計與開發規范
09 | 開關組件:如何使用功能開關,支持產品快速迭代
10 | 支撐組件:如何實現隱藏菜單,快速測試與驗證?
11 | 功能組件:如何使用路由,支持多頁面導航?
12 | 功能組件:如何設置多語言支持,為全球化做準備?
13 | 功能組件:如何設置動態字體,提升視力輔助功能?
14 | 功能組件:如何使用語義色,支持深色模式?
模塊三:架構與實現
15 | 跨平臺架構:如何設計 BFF 架構系統?
16 | 架構模式:為什么要選擇 MVVM 模式?
17 | 響應式編程:如何保證程序狀態自動更新?
18 | 網絡層架構:如何設計網絡訪問與 JSON 數據解析?
19 | 數據層架構:如何使用倉庫模式設計數據存儲層?
20 | View Model 架構:如何準備 UI 層的數據?
21 | UI 層架構:如何開發統一并且靈活的 UI?
22 | 功能實戰:如何使用現有架構添加點贊功能?
23 | TDD 與單元測試:如何保證功能模塊的高質量?
模塊四:上架與優化
24 | 解決打包痛點:如何統一管理 Certificates 和 Profiles?
25 | 自動化構建:解決大量重復性人力工作神器
26 | 持續集成:如何實現無需人手的快速交付?
27 | 統計分析:如何架構靈活的統計分析服務,助力產品增長?
28 | 崩潰報告:如何借助崩潰報告解決線上的 Bug?
29 | 遠程開關:如何遠程遙控上線 App 的產品行為?
30 | A/B 測試:如何用 A/B 測試協助產品抉擇?
模塊五:加餐
31 | App Icon 制作:如何使用 Figma 快速制作 App Icon?
32 | UI 替換 :如何使用 SwiftUI 快速替換原有 UI?
結束語
結束語:眼見千遍,不如手過一遍