[Day 30] Finish line: 一段 SwiftUI 與 DevOps 之旅
前言 三十天的鐵人賽,像一場技術馬拉松,終於來到了終點線前。最初的目標很明確:結合我對 iOS 開發的熱情與工作上學習到的 DevOps 實踐,從零到一打造一款名為「台灣公路 K 點通」的 SwiftUI App,並為它建立一套完整的自動化開發流程。 每天產出一篇文章是個挑戰,也是將腦中零散知識點串連成完整實踐地圖的過程。從動機、UI/UX 的草圖規劃,到 Swift 語法的基礎、SwiftUI 的畫面雕刻,再整合 Core Location 與 MapKit, Google map 的地圖服務,期間並導入 Azure Boards 進行專案管理,最後用 Azure Pipelines 實現 CI/CD。 旅程回顧:從痛點到 App Store 的完整路徑 這三十天的內容,可以劃分為四個階段,描繪了一個 iOS App 從概念誕生到最終上架的完整生命週期。 第一階段:從痛點到藍圖 萬事起頭難,在一開始專注於「想清楚要做什麼」與如何做。 我們從一個生活中的真實痛點出發:在公路上難以快速找到特定里程的確切位置,這個具體的目標,成為了整個專案的起點。在技術選型上,我們比較了 UIKit 與 SwiftUI,並基於開發效率、宣告式語法的優勢,以及想要嘗試新技術的心情,最終選擇了 SwiftUI 作為主力框架。 接著,我們在 Azure DevOps 上初始化了專案,設定了 Git Repo,並選擇了適合個人專案的 Basic 流程,為後續的專案管理與 CI/CD 建立基礎架構。 在開始動手寫 App 前,我們先透過使用者流程圖釐清了 App 的操作路徑,再用手繪 Wireframe 與 AI 工具輔助,描繪出 App 的畫面草圖,確保了後續開發的方向明確。 第二階段:掌握 SwiftUI 在這個階段建立 Swift 的語言基礎,快速複習了變數、常數、Optional 型別與流程控制等核心語法,並釐清了 Class 與 Struct 的關鍵差異。接著,我們深入 SwiftUI 的核心,從 Text、Image 與 Button 等基本元件著手,並學習運用 VStack、HStack 與 ZStack 這些佈局容器將畫面元素組合起來。在此過程中,我們掌握了 @State 與 @Binding 如何驅動畫面即時更新,理解了 SwiftUI 的宣告式思想。 ...