目前擔任Android/Flutter Developer,從Android 開發出生,這一年多來開始接觸Flutter,關於Flutter 的介紹可以參考之前的文章從零開始的Flutter世界,簡單來說就是Google推行的跨平台開發框架,目的是為了能夠同時開發Android以及iOS。
總體而言在畫面設計上皆可透過Flutter開發,但功能上還是會有原生開發的需求,所以需要學習一點iOS,希望能藉由這次的鐵人賽學習和分享我的心得。
接下來這30天的規劃大概會有以下幾個重點:
那有興趣的朋友們記得準備好Mac,並安裝好Xcode,接著我們先來簡單的介紹一下iOS的背景:
iOS開發需要使用到Xcode(為iOS的IDE),語言上可以使用objective-C
以及swift
,以下內容主要使用swift
,並不會放心力在介紹程式語言身上,有需要的朋友建議先去學習一下
主要的框架:
在2019 WWDC 大會上,Apple 發表了SwiftUI,有別於從 Xcode 誕生就一直存在的UIKit,只要在 Xcode 11 以上以及 iOS 13 以上就可以選擇用SwiftUI 來當作專案的User Interface,而從2020 WWDC 大會上,更釋出了Xcode 12,在這個版本上創建新的 SwiftUI 專案時,視窗在初始配置有一個改變,就是多了 Life Cycle 選單,可以選擇用之前的UIKit App Delegate 或者是SwiftUI App來處理 App 的生命週期及其各種狀態
看到這邊,就一個剛要學iOS 的我來說,心裡覺得很累,感覺勢必需要了解其中各個差異以及運作方式,畢竟之後遇到的問題或是參考文件每一個版本種類都有可能,而其中可否兼容,如何兼容也是需要理解的,所以接下來會先對其依依介紹
以下文章範例皆使用Xcode 12
第一天先介紹一下背景,作為我們邁向iOS的第一步,記得安裝完需要的工具(Xcode)