Swift與IOS開發的學習資源整理
我剛開始學習Swift與IOS開發的第一個問題,就是中文網站與文獻不多,同時又不懂開發架構,開發工具又有Object-C,Cocoa,Cocoa Touch,APPKit,UIKit,Storyboard,SwiftUI等等名詞,同時IOS開發工具改版很多代,這讓我茫然了一陣子,因此在學了一陣子後,整理這邊文章給有需要的人,我會先拆分成基礎語法跟開發工具來介紹。
Swift 基礎語法:
最推薦的一定是官方的教材A Swift Tour,但是剛開始就啃這本對於像我這樣的新手肯定很快放棄的,建議先從Youtube的教學開始,如果你對英文有些吃力,我推薦ChaoCode的《Swift 基礎篇》,深入淺出的介紹程式基礎,配合老師的課後作業,實際應用學到的概念,對於幫助很大。
回頭過來看官方的教材A Swift Tour,如果英文還是有點吃力,可以看看先人篳路藍縷翻譯的網站,Swift起步走這類型的翻譯、注釋網站也能加深理解,等到基礎懂了,也比較能專注在開發工具的學習上。
Youtube-ChaoCode-《Swift 基礎篇》課程介紹 — Swift 新手入門(推薦)(中文)
Youtube-IOS Academy-Swift 5 for Beginners (2022)(推薦)
Document-Apple官方-A Swift Tour(推薦)
Document-Swift入門(中文)
APP開發工具:
IOS的開發方法很多,1984年Objective-C這套程式語言發行了,至今macOS的底層仍然是Objective-C,如果是比較資深的應用程式,可能還是Objective-C寫成的,維護舊APP或是實現部分功能時還是會碰到。
2014年後Swift登上檯面,其借鑑了Objective-C、Rust、Haskell、Ruby、Python、C#、CLU等許多其他語言的優點,蘋果宣稱Swift的特點是:快速、現代、安全、互動,而且明顯優於Objective-C語言。可以理解成你寫了Swift,但進入底層程式世界還是會被轉成Objective-C運行。
至於開發一款APP,無論用Objective-C還是Swift,都需要程式的架構,這邊先介紹Cocoa,Cocoa是蘋果公司為macOS所建立的原生物件導向的應用程式介面,主要給macOC使用,搭配AppKit;Cocoa Touch則是給iPad,iPhone等IOS裝置使用,搭配UIKit。
純Code
用純code寫前端介面有維護跟修改的優勢,但還真的有點辛苦,也不夠親切,如果你就是喜歡硬核,或是想加強自己的能力,這邊推薦Jonathan Rasmusson-Swift Arcade,純寫Code也有很多好處,因為最沒有限制性,也最容易維護。
Udemy-Jonathan Rasmusson-The Swift Arcade Professional iOS Development Course — UIKit(付費課程)
Youtube-Jonathan Rasmusson-Swift Arcade
Storyboard
如果不想這麼辛苦,Apple官方也搞出一套Storyboard的工具幫你用可視的元件排版、編輯,還有一套AutoLayout幫你搞定排版,最後連結回來你的code裡面做邏輯或是功能的設計,推薦中文書籍朱克剛-iOS 15程式設計實戰(中文),可以每個功能都使用到,有了基礎去看Youtube就不是這麼困難了,推薦IOS Academy、CodeWithChris等等,資源很多,看你喜歡的就好。
Youtube-Chris Ching-CodeWithChris
Youtube-小馬技術-Swift UIKit iOS 开发入门(付費課程)(中文)
SwiftUI
2019年蘋果發行了SwiftUI,第一個解決各種終端產品之間的開發鴻溝,例如appleTV、iWatch、iPhone、iPad都可以一體適用;另一個就是網頁這種標記式語言太香了(markup language),Apple新推出的SwiftUI屬於宣告式程式設計(Declarative programming),對比指令式程式設計(Imperative programming)就是比較直接好學,從2019至今,SwiftUI得到親爹的愛,所以越來越成熟,網路上的資源也很多,雖然不是所有功能都能實現,但有了爹娘的奶水,想吃這口飯應該是不學不行。
Youtube-ChaoCode-SwiftUI 新手入門課程介紹(推薦)(中文)
UI開發工具:Figma
Figma可以幫助你設計UI&UX,同時也能Flowchart,甚至可以做出動畫等等示意圖,現在Adobe正在努力收購他,證明了他的商業價值。設計完成後,也可以由Figma轉SwiftUI的Code做使用,如果你看到別人公開的設計很棒,那可以參考參考。
Youtube-DesignCode-iOS Design with Midjourney and Figma(付費課程)
Swift相關網誌:
這邊有很多大神們的網誌可以參考,在我的觀念迷惘的時候,這些前輩給我很多幫忙,多看看保證不虧。
https://jjeremy-xue.medium.com/
Swift證照:
雖然台灣的就業市場不太看證照,如果想要考張證照證明自己,可以考App Development with Swift,台灣代理商是碁峰,有兩個等級,分別是Associate跟Certified User,因為考試是全英文的,基本上要有一定英文能力才有機會考到高分,報名會有45題的模擬考共3回,大概會有8成的考點相似。
Swift課程:
台灣想要比較有系統的學IOS程式設計,我知道的有這三個地方,職訓局在桃園,公家單位學費便宜,符合條件還有補助金可以拿。彼得潘老師有網路上課,同時會出很多作業強化學習,風評很好。Appwork School的甄選非常嚴格,基本上要有非常強烈的動機、動力,加上他們要覺得你可以在畢業後被當明星商品媒介給到公司,同時要有很強的自學能力才能活著畢業。
Swift社群:
API資源: