自學Swift不求人 – 新手學習必須知道的5件事 

自學Swift不求人 – 新手學習必須知道的5件事 

Q1:為什麼要學Swift,而不是Objective C?

自2014年Swift推出以來,掀起一番熱潮,十分受開發者青睞。除了Apple這幾年來致力推廣Swift外,最主要原因在於Swift簡化了Objective C裡面許多複雜的程式語言架構,專門設計給無程式基礎的人。

讓許多人在無需冗長專業訓練的情況下可以學習Swift,語法的使用更簡潔、更直覺。

根據TIOBE統計(update to 2017/05),不難發現Swift的使用者已逐漸成為macOS / iOS開發主流,應用框架開發已逐漸從Objective-C移轉到Swift。

↑ ↑ 201705 TIOBE統計資料

↑ ↑  2014 至今 Swift成長趨勢

2Swift有什麼特點讓開發者這麼喜愛?

  • 語言集合很多程式語言的特性以及優點

集合Objective-C、Python、Ruby與 JavaScript等特性、優點,以簡單直覺的程式碼來實現原本較為複雜的程式碼,來實現的功能。

  • 更安全、更不容易犯錯

Swift 取消了指標等機制,讓程式碼更加的安全,更不容易因此而出錯或者Crash。

  • 相當高度的彈性以及自由度

讓開發者可以更輕易的進行開發,並且簡化了語言的結構、少了標頭檔、省略每一行 Code 最後的分號以及省略變數型態等,讓整個程式語言更加的簡潔。

  • 完整的支援Unicode

連中文、圖形化文,也都可以變成程式語言的一部分。

  • 提供的Playground

讓開發者可以更容易的預覽程式碼片段的執行結果,更容易的分析以及觀看目前程式碼的運行是否正常與如預期。

3:學習Swift需要有什麼開發工具?

不用多想,當然要有一台Mac,然後下載Xcode。有了Mac後,還需注意相關硬、軟體的需求,有時候無法下載Xcode跟OS系統的版本有關係,需要多做留意。

規格如下 :

軟體需求硬體需求
  • macOS 10.12 或以上版本
  • MacBook (2009 年底或後續機種)
  • MacBook Pro (2010 年中或後續機種)
  • MacBook Air (2010 年底或後續機種)
  • Mac mini (2010 年中或後續機種)
  • iMac (2009 年底或後續機種)
  • Mac Pro (2010 年中或後續機種)

↑ ↑ 資料更新於2017/05/09 (Xcode8.3.2、Swift3.1)

但是,如果沒有Mac怎麼辦?不用先急著買Mac也有其他管道可以學習Swift。

1.   IBM有提供線上Playground讓沒有Mac的人可以使用。

由於Swift語言已經OpenSource,與IBM合作推出了這個網頁版的Swift 練習環境。

2.   雲端 Mac 可以租借 

可以在自己的電腦使用Mac操作介面,有多種租借的方案可選擇。

3.   iPad下載Swift Playgrounds

今年三月也推出了中文版本(簡體),透過輕鬆玩遊戲學習Swift語言。

4:網路上那麼多的教學平台,要如何開始自學Swift

Apple在Swift上花了許多心思,光是官方提供的教學資源平台就有兩~三個,裡面已有許多相當詳細的資源,若是大多以英文為主,但也有中文版本可供參考。

1.    Swift程式語言電子書iBooks Store免額外付費下載

官方版 https://itunes.apple.com/us/book/the-swift-programming-language/id881256329?mt=11

中文版 https://itisjoe.gitbooks.io/swiftgo/content/ch1/ch1.html

2.   Apple Developer 

針對開發者提供的swift領域相關資訊,內有許多資源,像是simple code、API Reference,還有 與iOS、Mac、Apple TV、Apple Watch的app開發相關教學。

3.   Swift.org社群 

開放原始碼授權,讓各種開發人員、教育工作者和學生使用。

其他,非官方的學習平台也有不少,下面列舉近年較為知名的網站:

1.    Stanford iOS

最為知名的是史丹佛大學在iTunes提供免費線上課程,至今仍有不斷更新課程。

2.   Swift by example

提供24種Swift基礎用法,透過解釋程式碼範例,來了解Swift語言。

3.   Ray Wenderlich

Ray Wenderlich是一個專業的國外教學網站,專注於iOS開發以及App遊戲設計。

有些免費,有些付費。

4.   100 Days of Swift

開發者Sam Lu分享了他學習100天Swift的歷程,平台上呈現了他在這100天完成的40幾個練習,另外也有付費教學影片給想要學習的人。

Q5:還有什麼自學Swift需要注意

Swift作為一個新語言,以短短三年的時間,就已有驚人的成長率,不外乎是由於其本身作為macOS / iOS系統開發語言。雖然仍在初期階段,從最早的Xcode 6.0到現在的Xcode 8.0有不少差異,仍需開發者做適時的調整。目前還有諸多的Bug以及不穩定的地方,有待Apple去做改善。另外,對於初學者來說,第三方套件的使用也需要格外小心,因Swift語言的改版非常的快速,所以第三方套件能否即時更新,存在著日後會有維護與升級上的問題。