C.J
7 min readDec 8, 2023

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起步走(中文)

Document-Swift入門(中文)

Document-APPCODA-Learn Swift(中文)

書籍-Apple官方電子書

書籍- 张益珲-Swift 5 从零到精通 iOS 开发训练营(中文)

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 AcademyCodeWithChris等等,資源很多,看你喜歡的就好。

Youtube-IOS Academy(推薦)

Youtube-Chris Ching-CodeWithChris

Youtube-Sam Meech-Ward

Youtube-Aryaa SK Coding

Youtube-it技术学院-iOS开发玩转界面(中文)

Youtube-小馬技術-Swift UIKit iOS 开发入门(付費課程)(中文)

書籍-朱克剛-iOS 15程式設計實戰(中文)

SwiftUI

2019年蘋果發行了SwiftUI,第一個解決各種終端產品之間的開發鴻溝,例如appleTV、iWatch、iPhone、iPad都可以一體適用;另一個就是網頁這種標記式語言太香了(markup language),Apple新推出的SwiftUI屬於宣告式程式設計(Declarative programming),對比指令式程式設計(Imperative programming)就是比較直接好學,從2019至今,SwiftUI得到親爹的愛,所以越來越成熟,網路上的資源也很多,雖然不是所有功能都能實現,但有了爹娘的奶水,想吃這口飯應該是不學不行。

Youtube-ChaoCode-SwiftUI 新手入門課程介紹(推薦)(中文)

書籍-朱克剛-iOS 16程式設計實戰-SwiftUI全面剖析(中文)

Youtube-Swift Thinking

Youtube-Logan Koshenka

Youtube-Paul Hudson

UI開發工具:Figma

Figma可以幫助你設計UI&UX,同時也能Flowchart,甚至可以做出動畫等等示意圖,現在Adobe正在努力收購他,證明了他的商業價值。設計完成後,也可以由Figma轉SwiftUI的Code做使用,如果你看到別人公開的設計很棒,那可以參考參考。

Figma官方網站

Youtube-DesignCode-iOS Design with Midjourney and Figma(付費課程)

Swift相關網誌:

這邊有很多大神們的網誌可以參考,在我的觀念迷惘的時候,這些前輩給我很多幫忙,多看看保證不虧。

彼得潘的 iOS App Neverland(推薦)

法蘭克的iOS世界

IOS研蘋果

https://jjeremy-xue.medium.com/

https://tim960315.medium.com/

https://chao-shin-mail.medium.com/

https://medium.com/@OllieChou

Swift考題:

Tutorialspoint-Swift考題(基礎語法)

LeetCode(很難,面試時常使用的題庫)

Swift證照:

雖然台灣的就業市場不太看證照,如果想要考張證照證明自己,可以考App Development with Swift,台灣代理商是碁峰,有兩個等級,分別是Associate跟Certified User,因為考試是全英文的,基本上要有一定英文能力才有機會考到高分,報名會有45題的模擬考共3回,大概會有8成的考點相似。

Certiport-App Development with Swift

Swift課程:

台灣想要比較有系統的學IOS程式設計,我知道的有這三個地方,職訓局在桃園,公家單位學費便宜,符合條件還有補助金可以拿。彼得潘老師有網路上課,同時會出很多作業強化學習,風評很好。Appwork School的甄選非常嚴格,基本上要有非常強烈的動機、動力,加上他們要覺得你可以在畢業後被當明星商品媒介給到公司,同時要有很強的自學能力才能活著畢業。

職訓局-桃竹苗分署

彼得潘的程式設計入門

Appwork School

C.J

一個文組轉職程式設計的奇幻旅程,說說自己在旅途中的感想跟一些撞牆的故事,希望我的文章可以幫到你。