本機預覽檔,互動功能都能實際操作。上線時請把對應的 block.html 貼進 WordPress 自訂 HTML 區塊,並安裝 100days-snippet.php(樣式與互動都在裡面)。
首頁/100 Days of SwiftUI 中文筆記/Day 0
100 Days of SwiftUI Day 0 筆記:開始之前,先知道要學什麼、不該做什麼
一句話結論
Day 0 沒有任何程式碼,只需要做兩件事:讀完〈How to become an iOS developer〉,以及從 Mac App Store 下載正式版 Xcode。
這一天的價值在於先建立正確的學習策略——知道只有五個核心技能需要學、知道七個最常見的錯誤長什麼樣子,可以省下之後好幾個月的彎路。
這篇的內容
Day 0 到底要做什麼
打開 Day 0 會有點意外——整頁沒有一行程式碼。作者 Paul Hudson 只交代兩件事:
- 讀(或看)一篇文章:How to become an iOS developer。文章版與影片版內容完全相同,選一種就好。
- 趁著讀的時間,去 Mac App Store 把 Xcode 載下來。
他在開頭引了伏爾泰的一句話:
「評斷一個人,要看他問的問題,而不是他給的答案。」
Voltaire,Paul Hudson 引用於 Day 0整個 Day 0 想傳達的就是這件事:會有一堆問題是正常的,而且不管學到多資深,都不該停止問問題。這聽起來像場面話,但看完後面七個常見錯誤就會發現,其中至少三個的根源都是「不好意思問」。
五個核心技能:拿到入門職位的最低門檻
要成為 iOS 開發者,Paul 認為只需要五項技能。就五項,沒有更多:
| 技能 | 是什麼 | 份量 |
|---|---|---|
| Swift | 程式語言本身。變數、函式、邏輯,跟畫面完全無關 | 大 |
| SwiftUI | 做出畫面的框架,蓋在 Swift 之上。不是 Swift 的替代品,兩個都要會 | 大 |
| Networking | 最低要求:會從伺服器抓一份 JSON 回來 | 小 |
| Working with data | 把抓回來的資料轉成畫面能顯示的東西 | 小 |
| Version control | Git 與 GitHub,讓招募方看得到你的作品 | 小 |
這份清單刻意訂得很短,理由有四個:
- 學越多越發現學不完。很容易一路學下去,忘記「找到工作」才是目標。
- 進公司多半是接手現有的 App。很多東西公司本來就會教你,事先硬塞反而白費力氣。
- 其中兩項本身就很大。Swift 和 SwiftUI 光是搞懂就要好幾個月。
- 這五項做好就能做出很多東西。程式碼不會完美,但沒關係——寫出好程式碼的唯一方法,是先寫一堆爛程式碼。
Paul 說得很直接:世界上有幾千人只會這五項,一樣在 App Store 上架了很棒的 App。
為什麼先學 SwiftUI,而不是 UIKit
這題在社群裡吵很久。Paul 自己也說,YouTube 留言區一定會有人罵他不懂。他的四個理由:
- 簡單太多。同樣的結果,SwiftUI 大約只要 UIKit 四分之一的程式碼。做得快、看到成果快、改得快,學習動力才維持得住。
- 為 Swift 而設計。資料改一個地方,App 裡所有用到的地方自動同步,不用自己寫程式碼維持一致。UIKit 是為 Objective-C 寫的,包袱多。
- 一套寫法跨平台。iOS 學的東西,幾乎原封不動能用在 macOS、watchOS、tvOS。
- 趨勢在這裡。如果今天就要面試,你可能還是需要 UIKit;但等你 6 到 12 個月後學完,SwiftUI 已經是主流。iOS 14 的 Widget 甚至強制只能用 SwiftUI,UIKit 根本做不了。
五個延伸技能:有時間再學
核心五項搞定後,這五項會把你從「不錯」推到「很搶手」:
- UIKit——幾十萬個既有 App 在用,功能比 SwiftUI 強,Auto Layout 能做出極精準的版面,網路上的解法也多。但難、囉唆,而且 Auto Layout 一點都不 auto。
- Core Data——資料的搜尋、排序、iCloud 同步。強大,但在 Swift 裡用起來不太舒服。
- 測試——重要,但 iOS 社群整體的測試文化很糟,Paul 說他遇過不少資深工程師「幾乎以自己不寫測試為榮」。面試時框架知識比測試知識更吃香,所以排後面。
- 軟體架構——設計模式、元件拆分。判斷自己有沒有進步的方法很簡單:回頭看半年前的程式碼會不會覺得「這什麼鬼」。會,就是在進步。
- 多執行緒——學到懂概念就好,不要衝過頭。Apple 的工程師 David Smith 說過,並行程式的複雜度與效能成本都很高,「應該認真考慮不要寫」。
七個常見錯誤(附自我檢查)
Paul 的網站每月有 70 萬不重複訪客、500 萬次瀏覽,所以他對「初學者會踩什麼雷」很有發言權。勾選你覺得自己會犯的,看看中了幾個:
目前勾選:0 / 7
全部免費的資源清單
Paul 這一段只列免費資源,理由很實際:有些人以為課程越貴越好,於是花大錢卻沒得到相應收穫;而像 Udemy 那種平台永遠在特價,很容易囤一堆「總有一天會上」的課。
結構化課程
- 100 Days of SwiftUI——就是這一套。Swift 基礎加 19 個實作專案,含文章、影片與互動測驗。
- 100 Days of Swift——同樣架構但走 UIKit 路線。
- Apple SwiftUI Tutorials——帶你做出真的 App,但不教 Swift 語言本身。
App
- Swift Playgrounds(Apple)——iPad 或 Mac 上直接學 Swift。
- Unwrap(Paul 自己做的)——免費、無內購,跟這門課搭配得很好。
社群與找答案
- Hacking with Swift 論壇與 Slack 群組——新手問題非常歡迎。
- iOS Dev Weekly——每週一封的電子報。
- iOS Dev Happy Hour——每月一次的 Zoom 聚會,重點在 6 到 8 人的分組聊天室。
Paul 特別提到:盡量不要去 Stack Overflow,用他的原話是「那不是個太愉快的地方」。
要學多久才能找到工作
這是他最常被問的問題。答案取決於起點:
| 你的背景 | 到入門職位所需時間 |
|---|---|
| 零基礎、無相關學位、無 bootcamp | 9 到 12 個月 |
| 業餘寫過程式 | 可減少約 2 個月 |
| 上過 coding bootcamp | 可減少約 3 到 4 個月 |
| 資訊相關學位 | 可減少約 4 到 6 個月 |
兩個他講得很重的提醒:
- 不要趕。同時上兩三套課程、每天硬塞四五小時——他說他看過無數次,「每一次都失敗,一次也沒成功過」。
- 該多久就多久。50 天找到工作很棒;500 天找到工作,一樣值得驕傲,結果是一樣的。他引了 John Lennon 那句「生活就是你忙著做其他計畫時,發生在你身上的事」——屋頂漏水、小孩要顧、工作太累而停下來幾週,都是正常的。
裝好 Xcode 後,怎麼確認能跑
Xcode 檔案很大,下載通常要一段時間。裝好之後不用等到 Day 1,可以先開一個 Playground 確認環境正常:Xcode → File → New → Playground → Blank,然後把下面這段貼進去。
// 這是 Day 1 才會正式教的東西,先跑跑看確認 Xcode 正常
let course = "100 Days of SwiftUI"
var day = 0
print("Day \(day) of \(course) 開始了")左下角按播放鍵,右邊或底部的主控台會印出 Day 0 of 100 Days of SwiftUI 開始了,代表環境沒問題。看不懂 let 和 var 的差別沒關係,那正是 Day 1 的第一課。
注意:一定要裝 Mac App Store 上的正式版,不要為了嚐鮮去裝 beta。這正是七個錯誤裡的第四個。
我的心得
最有感的一點
(待填:讀完最打到你的是哪一段?為什麼?)
我打算怎麼調整學習方式
(待填:七個錯誤裡你中了哪幾個?打算怎麼改?)
我的時間安排
(待填:每天什麼時段、多久?週末怎麼辦?)
我想做出來的第一個 App
(待填:具體一點,之後回頭看會很有趣)
Day 0 待辦清單
勾選會存在你的瀏覽器裡,關掉再打開還在。
完成:0 / 6
Day 0 完成了?發出來吧
原課程的第二條規則就是每天公開分享進度。這不是形式——獨狼式學習是最容易失敗的方式之一,而看到別人也在同一天卡住,是最有效的續命方式。
我的中文筆記每天發在 Threads @knitting.hiyori,標我一下我會去看。
Day 0 常見問題
Day 0 需要寫程式嗎?
不需要。Day 0 完全沒有程式碼,只有兩個任務:讀完〈How to become an iOS developer〉這篇文章(或看同內容的影片),以及從 Mac App Store 下載 Xcode。第一次寫程式碼是 Day 1。
文章版和影片版要看哪一個?
兩者內容完全相同,選你習慣的就好。文章約 20 分鐘可讀完,影片長度相近。建議一邊讀或看,一邊讓 Xcode 在背景下載,因為 Xcode 檔案很大。
Xcode 一定要用正式版嗎?
是。這是 Paul Hudson 列出的七個常見錯誤之一。beta 版的問題包括:教材沒有針對 beta 更新、beta 本身 bug 多,以及 API 可能在 beta 1 存在、beta 3 就消失。學習階段請一律使用 Mac App Store 上的正式版。
沒有 Mac 可以跟這門課嗎?
Xcode 只能在 macOS 上執行,所以需要一台 Mac。iPad 上的 Swift Playgrounds 可以用來練習 Swift 語法和做小型 App,前面幾天勉強跟得上,但無法完整跟完整套課程。Windows 沒有官方支援的替代方案。
最後更新:2026-08-14 · 筆記作者:Zoe
原始教材:Day 0 – Before you start、How to become an iOS developer(Paul Hudson,Hacking with Swift)。本文為獨立撰寫的中文學習筆記與心得,非原文翻譯,與 Hacking with Swift 無隸屬關係。Swift、SwiftUI、Xcode 為 Apple Inc. 之商標。

發佈留言