100 Days of SwiftUI Day 0 筆記:開始之前,先知道要學什麼、不該做什麼

100 Days of SwiftUI Day 0 筆記:開始之前,先知道要學什麼、不該做什麼 – 預覽

本機預覽檔,互動功能都能實際操作。上線時請把對應的 block.html 貼進 WordPress 自訂 HTML 區塊,並安裝 100days-snippet.php(樣式與互動都在裡面)。

首頁/100 Days of SwiftUI 中文筆記/Day 0

100 Days of SwiftUI Day 0 筆記:開始之前,先知道要學什麼、不該做什麼

Day 0 準備篇 沒有程式碼 約 12 分鐘 2026-08-12

一句話結論

Day 0 沒有任何程式碼,只需要做兩件事:讀完〈How to become an iOS developer〉,以及從 Mac App Store 下載正式版 Xcode。

這一天的價值在於先建立正確的學習策略——知道只有五個核心技能需要學、知道七個最常見的錯誤長什麼樣子,可以省下之後好幾個月的彎路。

這篇的內容
  1. Day 0 到底要做什麼
  2. 五個核心技能:拿到入門職位的最低門檻
  3. 為什麼先學 SwiftUI,而不是 UIKit
  4. 五個延伸技能:有時間再學
  5. 七個常見錯誤(附自我檢查)
  6. 全部免費的資源清單
  7. 要學多久才能找到工作
  8. 裝好 Xcode 後,怎麼確認能跑
  9. 我的心得
  10. Day 0 待辦清單

Day 0 到底要做什麼

打開 Day 0 會有點意外——整頁沒有一行程式碼。作者 Paul Hudson 只交代兩件事:

  1. 讀(或看)一篇文章:How to become an iOS developer。文章版與影片版內容完全相同,選一種就好。
  2. 趁著讀的時間,去 Mac App Store 把 Xcode 載下來。

他在開頭引了伏爾泰的一句話:

「評斷一個人,要看他問的問題,而不是他給的答案。」

Voltaire,Paul Hudson 引用於 Day 0

整個 Day 0 想傳達的就是這件事:會有一堆問題是正常的,而且不管學到多資深,都不該停止問問題。這聽起來像場面話,但看完後面七個常見錯誤就會發現,其中至少三個的根源都是「不好意思問」。

五個核心技能:拿到入門職位的最低門檻

要成為 iOS 開發者,Paul 認為只需要五項技能。就五項,沒有更多:

iOS 開發五個核心技能
技能是什麼份量
Swift程式語言本身。變數、函式、邏輯,跟畫面完全無關大
SwiftUI做出畫面的框架,蓋在 Swift 之上。不是 Swift 的替代品,兩個都要會大
Networking最低要求:會從伺服器抓一份 JSON 回來小
Working with data把抓回來的資料轉成畫面能顯示的東西小
Version controlGit 與 GitHub,讓招募方看得到你的作品小

這份清單刻意訂得很短,理由有四個:

  • 學越多越發現學不完。很容易一路學下去,忘記「找到工作」才是目標。
  • 進公司多半是接手現有的 App。很多東西公司本來就會教你,事先硬塞反而白費力氣。
  • 其中兩項本身就很大。Swift 和 SwiftUI 光是搞懂就要好幾個月。
  • 這五項做好就能做出很多東西。程式碼不會完美,但沒關係——寫出好程式碼的唯一方法,是先寫一堆爛程式碼。

Paul 說得很直接:世界上有幾千人只會這五項,一樣在 App Store 上架了很棒的 App。

為什麼先學 SwiftUI,而不是 UIKit

這題在社群裡吵很久。Paul 自己也說,YouTube 留言區一定會有人罵他不懂。他的四個理由:

  1. 簡單太多。同樣的結果,SwiftUI 大約只要 UIKit 四分之一的程式碼。做得快、看到成果快、改得快,學習動力才維持得住。
  2. 為 Swift 而設計。資料改一個地方,App 裡所有用到的地方自動同步,不用自己寫程式碼維持一致。UIKit 是為 Objective-C 寫的,包袱多。
  3. 一套寫法跨平台。iOS 學的東西,幾乎原封不動能用在 macOS、watchOS、tvOS。
  4. 趨勢在這裡。如果今天就要面試,你可能還是需要 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 自己做的)——免費、無內購,跟這門課搭配得很好。

社群與找答案

Paul 特別提到:盡量不要去 Stack Overflow,用他的原話是「那不是個太愉快的地方」。

要學多久才能找到工作

這是他最常被問的問題。答案取決於起點:

不同背景所需的學習時間
你的背景到入門職位所需時間
零基礎、無相關學位、無 bootcamp9 到 12 個月
業餘寫過程式可減少約 2 個月
上過 coding bootcamp可減少約 3 到 4 個月
資訊相關學位可減少約 4 到 6 個月

兩個他講得很重的提醒:

  • 不要趕。同時上兩三套課程、每天硬塞四五小時——他說他看過無數次,「每一次都失敗,一次也沒成功過」。
  • 該多久就多久。50 天找到工作很棒;500 天找到工作,一樣值得驕傲,結果是一樣的。他引了 John Lennon 那句「生活就是你忙著做其他計畫時,發生在你身上的事」——屋頂漏水、小孩要顧、工作太累而停下來幾週,都是正常的。

裝好 Xcode 後,怎麼確認能跑

Xcode 檔案很大,下載通常要一段時間。裝好之後不用等到 Day 1,可以先開一個 Playground 確認環境正常:Xcode → File → New → Playground → Blank,然後把下面這段貼進去。

Swift · Playground
// 這是 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 完成了?發出來吧

原課程的第二條規則就是每天公開分享進度。這不是形式——獨狼式學習是最容易失敗的方式之一,而看到別人也在同一天卡住,是最有效的續命方式。

Day 0 of #100DaysOfSwiftUI ✅ 今天沒寫半行程式碼,但知道了只需要學五個核心技能,還有七個一定要避開的坑。 Xcode 下載中。 #中文SwiftUI筆記 @knitting.hiyori

我的中文筆記每天發在 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. 之商標。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *