App Development with Swift 介紹

時常遇到朋友問彼得潘,要學哪些東西才能成為一個合格的新手 iOS App 工程師呢 ? 這問題沒有標準答案,不過如果你能完全理解並熟練 Apple 官方電子書 ‎App Development with Swift 的內容,開發上架 App 基本上是沒什麼問題的。

對於有志開發 iOS App 的朋友來說,Apple 官方電子書 App Development with Swift 的內容是初學者一定要熟練的重點,它包含了以下五大重點:

  1. Swift 程式語法。
  2. App 畫面的製作。
  3. 常用 iOS SDK 的介紹。
  4. 製作 CRUD(新增,讀取,修改,刪除) App 和儲存資料。
  5. 網路資料的串接。

以下我們將逐一介紹如何研讀 App Development with Swift 和說明它的重點程式範例。

App Development with Swift 介紹

App Development with Swift 分成七大章節。

每個大章節裡有許多小節。

每個小節的最後有個 Lab 小魔王,幫助我們檢驗熟練小節的內容。Lab 可能是做個小 App,或是在 playground 練習程式 & 一些 Review Questions。

每章節的最後則有個大魔王,Guided Project,需要完成一個比較完整大型的 App。

不過不用太害怕,不管是 lab 還是 guided project,書裡都有完整的一步步教學 ,程式碼也都大方地寫在書裡,所以只要耐心照著書上指引,應該都能順利完成。

建議從 iPad 閱讀 App Development with Swift

從 Mac,iPad,iPhone 都可以下載電子書,然後在 Books App 裡閱讀。如果想享受最好的閱讀體驗,建議使用 iPad 閱讀,因為文字的大小在 iPad 上剛剛好。App Development with Swift 在 Mac 上顯示時字有點小,而且它的的字體大小無法調整,因此在 Mac 上閱讀有點辛苦。

合格的新手 iOS App 工程師 — 理解並熟練書裡的觀念和程式範例

注意重點是理解和熟練,所以看過一次並不叫熟練,就好像小時候我們只看過一次課本時,考試還是寫不出來。

如果能完全理解和熟練,將來新手 iOS 工程師的工作面試或開發 App 時,大部分的問題應該都能順利且快速地解決。

iOS App 開發的技術像海一樣深,就算窮盡我們一生也學不完,所以很多 iOS SDK 的型別和 function 可以等開發 App 用到時再學習,比方 ARKit 的應用。

不過 App Development with Swift 書裡提到的算是重點中的重點,是大部分 App 都會用到的功能和技術,因此書裡提到的型別 & function 最好都能理解並記起來。所謂記起來指的是在 Xcode 打程式時能夠搭配自動完成輸入,不需要再 google,比方想要顯示資料在表格上,馬上想到要定義 function tableView(_:cellForRowAt:),但你不用將此 function 的每個字背起來,因為 Xcode 的自動完成可以幫我們輸入。

如何判斷自己理解和熟練書裡的內容呢?

1 能夠不看書,不 google,從頭做出書裡的 Lab & Guided Project。

2 熟練的另一個判斷準則是速度,所以要能快速做出 Lab & Guided Project。

3 看到書裡提到的技術關鍵字,function & 型別,馬上就能聯想到它的意思,比方 optional,segue,mvc,json 等。

詞彙表裡提到的單字最好都要認得。

每個小節的 Vocabulary 也會列出重要的關鍵字。

也可以透過每個大章節的快閃卡測驗自己是否認識這些關鍵字。

如何研讀 App Development with Swift

1. 從頭學習的朋友

研讀每一頁,照著書上的引導說明,一步步完成 Lab & Guided project。

2. 透過自學或上課已學會基礎 iOS App 開發的朋友

有時間的朋友建議還是可以研讀每一頁,可以學到許多原本不知道的小細節。懶得看書,一秒鐘幾十萬上下的朋友,也可以嘗試自己做出 Lab & Guided project,做不出來時再看書裡的說明解答。

嘗試自己做出 Lab & Guided project 時,可以先下載 ‎App Development with Swift 解答版的電子書 。

點選 Download teacher materials 即可取得 Lab & Guided project 的完整程式。別太開心,我們並不是要偷看解答。我們的目的是將解答的 App 安裝到模擬器,操作了解 App 的功能後,模仿做出一模一樣的 App。

不管是自己完成還是照著書上的教學完成 Lab & Guided project,建議最後再和解答版的程式比對,理解 Apple 官方的寫法並參考它值得學習的地方。

將專案調成 Swift 5

目前最新的 Swift 版本是 Swift 5,不過 App Development with Swift 尚未更新,目前還是 Swift 4 的版本。建議打開書上的專案後,從 Build Settings 裡將 Swift 版本調成 5,然後再花幾秒鐘做些調整,讓自己開發最新的 Swift 5 App。

App Development with Swift 的認證考試

如果能快速做出書裡的 Lab & Guided project,了解書裡提到的技術關鍵字,基本上已經算具有基本的 iOS App 開發能力。不過如果想再檢驗自己是否了解基本的 iOS App 開發技術,目前 Apple 官方也有推出相關的認證考試,App Development with Swift 4 Level 1 Certification

彼得潘之前已經考過此認證考試,基本上題目難度不難,考題的內容主要來自 App Development with Swift,考題以選擇題為主,沒有從頭寫程式的題目。不過它的題目是全英文的,加上又有考試時間的限制,因此需要訓練一下自己閱讀 iOS App 開發相關英文的能力。

對於想了解自己開發能力和學習狀況的朋友,參加此認證考試也是可以考慮的選項之一,因為有時就算完成看似厲害的 App 上架,可能很多程式是 google 複製貼上,並不是真的理解,面試時可能也無法現場寫出。

而考試則是最客觀公正的分析,可以讓你快速了解哪些是重要的 App 開發觀念和自己比較不熟的地方,加上它又有時間的限制,可以檢測你是否真的熟練。

App Development with Swift 程式範例重點整理

新手的 iOS App 練功坊 3 App Development with Swift 電子書程式範例解析活動照片