如何開始蘋果開發

snowell發表於2013-12-18

其實這個主題早就想開始寫了,一直到不到一個比較好的部落格。前幾天在segmentfault安家,這算是我的第一篇文章吧。

說到蘋果開發,其實我也沒有多大的資歷來進行講解。只是接觸的早一些,從iOS3.X開始,就在學習使用了。期間經歷過很多的學習資料,現在簡單理清一下思路,方便後來者學習。大家有好的意見,也可以留言。

首先,蘋果開發分為三種:

  1. 一種是Mac OS X上的開發,就是桌面端;
  2. 一種是移動端的,也就是iOS;
  3. 當然還有網頁端的,for safari

Safari上的我基本沒怎麼接觸。主要來說說Mac和iOS上的,我相信這也是初學者最關心的。

那麼這兩種開發使用的語言都是Objective-C,一種類C的語言。學起來也不是很難,容易上手。但是要理解真正的好處得花點功夫。以後我會開個系列專門講解Objective-C。我建議初學者每天應該花一些時間來鑽研一下Objective-C。但是不要等把它徹底學會才開始做開發,沒必要的。因為蘋果開發相容C和C++。實在不行,就用C或者C++也能對付一段時間。

有了程式語言,那麼framework用的是什麼呢?Mac上用的是Cocoa,之前用的Cabin。iOS用的則是Cocoa Touch。兩者是有區別的,但是區別越來越小。不過我們平時研發的時候,也不必過分在意這些區別。尤其是隻在一端研發。

工具呢,就是Xcode了。現在Xcode把Interface Builder都整合進去了,比較方便。以前是分開的。

開發模式就是MVC了。模型Model,檢視View,控制器Controller。無論是Mac上還是iOS上都是如此。

這些我們都知道了,那麼怎麼開始呢?首先,我們要準備材料。蘋果開發比較麻煩的就是,我們只能在Mac OS X下進行開發,Mac OS X只能安裝在蘋果的電腦上。所以,你必須要有一個蘋果的電腦,iMac啊,Mac Pro啊,Mac Book Pro啊,Air之類的。總之,要有一個。不要嫌棄蘋果的電腦貴,其實算上軟體的話(不要考慮盜版),蘋果的電腦做開發在經濟上還是很划算的。

然後,你還要去 https://developer.apple.com/ 註冊一個開發者帳號。這個要收費,個人是一年99美金。註冊以後你可以把自己寫好的iOS程式放在Device上除錯。如果你不想這樣,就可以不用註冊收費帳號。反正現在Xcode下載也是免費的。程式除錯可以用模擬器。

蘋果的軟體下載都去App Store上就可以了,不過你得有個蘋果ID。註冊一下,免費的。

好了,基本就緒。我們可以開始學習了。

學習方式,以iOS為例。英語好的,我建議你直接去看蘋果文件,連結在這裡:https://developer.apple.com/library/ios/navigation/

英語沒底的,可以找本入門的中文書籍,最好是翻譯過來的。先趟趟水,熟悉一下環境和專業術語。一本書學下來,基本小有成就。然後再去看文件。

為什麼要看文件,而不是找什麼教程呢?原因有幾點:

  1. 蘋果的文件可讀性非常好,並不是生硬的不懂人情的文件。通常圖文並茂,還輔助以Sample code。
  2. 蘋果的文件更新速度快,你能最快速接觸到最新的更新。記得我以前看文件的時候,一個文件還沒看完,就有更新了!不過不用擔心每次更新你不知道什麼,最新文件尾部會有更新日期和更新內容摘要,一目瞭然。這是教程和書籍都難以匹敵的。
  3. 蘋果自己的技術,自己寫的文件,自然不會出問題。有問題也迅速更新了。
  4. 全部的文件,都可以以PDF的格式下載下來。你可以存在任何地方進行檢視學習。Sample code也可以檢視得到哦, 也會定期更新哦。
  5. 分類清晰,結構明瞭。蘋果的文件可以按照幾種方式分類,不僅僅方便查詢,更容易讓你對結構進行更深入的理解。

也許,還有許多好處吧。不過以上這些的理由很充分了。

如果文字真的讓你感到無聊,那麼還有一個視訊教程可以供你學習。史丹佛大學的公開課,可以在iTunes U上免費下載。最近有個iOS 7的最新講座。視訊+課堂的PPT。我認為是最好的iOS視訊講座。不過都是英文的,運氣好有英文字幕。英語不過硬的,看看PPT也不錯,也是圖文並茂,講的非常好。

我對程式設計學習的原則就是,邊學邊用,理論和實踐互相促進,在編碼中學習理論,用理論指導編碼。

今天就講這麼多,資歷不深,有講解不當的地方還望批評指出。

大家也可以看看這個連結,進一步瞭解一些基本內容:https://developer.apple.com/cn/technologies/

下次,我會從這兒講起:
https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/RoadMapiOSCh/chapters/Introduction.html

相關文章