如何開始自學 iOS APP 開發

Objective-Cor Swift?

Objective-C 一直以來是唯一能寫 iOS App 的程式語言,但 2014 秋天, Apple 公開了新一代的語言 Swift ,於是踏入 iOS 的殿堂前,開發者多了一道課題:該用 Objective-C 或 Swift?

我自己的觀察是,Objective-C 畢竟是歷史悠久的老大哥,網路上的資源(第三方套件、範例程式碼等)及開發工具(Xcode 或其他第三方工具)的支援還是讓未滿週歲的小老弟 Swift 暫時看不到車尾燈。

但 Swift 承載著老爸 Apple 滿滿的愛,而且是這個世紀才全新設計的語言(更多資訊:當你努力想學習 Swift 時,全世界都會來幫你),在跑道上的某個髮夾彎靠著豪情的甩尾超越 Objective-C 只是早晚的事。

重點是,不管用哪個語言,iOS 的核心觀念都是一樣的。對開發者而言,這兩個選項主要只是程式語言語法上的差異,熟悉某一個語言後要跨足另一個也是小事一件。

假如沒有特殊的考量,我會建議趕進跳上 Swift 這台全新跑車;因為一些原因而必須用 Objective-C 開發也不必太惶恐,畢竟它也是一條老而彌堅的好漢。

史丹佛大學有位型男老爹 Paul Hegarty 把自己在史丹佛大學教授 iOS 的課程公開在 iTunes U 上。

假如你決定跳上 Swift 這台全新跑車,Developing iOS8 App with Swift 是 Paul 老爹今年才推出的最新力作。

假如你決定乘坐 Objective-C 這輛成熟穩定的老爺車,Developing iOS7 Apps for iPhone and iPad 則是 Paul 老爹目前最新的 Objective-C 授課內容。目前最新的作業系統是 iOS8,我會建議決定學 Objective-C 的朋友,可以看連結中教授程式語言的部分(week 3)即可,剩下的可以看 iOS8 的教學,自己把 Swift 的部分用 Objective-C代入即可。

我自己當初也是看 Paul 老爹的教學開始我的第一個 iOS app 的。不過我如同我之前 Rails 自學系列文章所強調的,「從做中學」才是最有成就感、最快速的學習方式,所以我只看了前面兩三集,掌握一些基本的重點後就開始寫我的第一個 app 了。之後遇到的問題,能靠已經習得的關鍵字 Google 到快速的解決方式最好(如何有效利用 Google 請參閱前一篇如何自學Rails),否則就回頭看老爹相關的教學。我雖然看了兩三集就開始寫,但後來回頭補看其他需要的部分,總共應該也是看了六、七集。

總之,真的把老爹的 18 堂課都看完頗為費時,讀者可以根據自己的需求選擇性上課,不必真的 18 堂課都上完才動手。

除了老爹的影音教學, AppCoda(最近剛推出繁中版!)和 RayWenderlich 也都是很棒很專業的 iOS 教學 Blog,我也分別從這兩個 Blog 學到很多東西。

等等,老爹在講啥?

Paul 老爹的教學假設學生有基本的 coding 能力。假如你毫無 coding 基礎,可能會跟不太上。(他的課程雖然有教授程式語言,但主要是在講這個語言相對於其他語言的特性,並不是從頭教你 coding)

假如是這個情況,我會建議到網路上或書店裡選一本順眼、從程式語言開始教的 iOS 教學書。透過書本學會基本的程式語言後,以老爹教學為主,聽不懂的則參閱實體書。

結論

Swift 是新時代的產物,假如沒有特殊的考量,從 Swift 開始 iOS 學習之旅就對了!

  • 透過 iTunes U,你可以和史丹佛的學生享受一模一樣的優良師資,學習起來當然是事半功倍了!
  • 雖然 Paul 老爹教得很好,但看影音教學畢竟比較費時,能透過其他資源解決你的問題的話,不必拘泥於要把老爹的課程上完。
  • (Photo via jasonahowie, CC License)