|
前言:最近在國外網站看的比較多,有一些東西也是自己在學習過程中一直想總結並分享的。這篇文章覺得比較清楚明了,於是花了2個小時進行了翻譯並改編。對於內文涉及到一些網站及書籍均有連結。另外,介紹的書籍其實可以下到原版電子書,等我有空可以再發上來。希望對各位朋友有所協助。本文由dososo原創翻譯並改編。歡迎轉載,請指明作者及地址出處。 |
我該從哪裡開始?
在當今,努力成為一個iPhone開發人員是充滿樂趣的事,也是非常有價值的一項技能。但是有一個問題:這看起來並不是那麼容易實現的。甚至那些有經驗的程式員在為移動終端開發應用程式的過程中也遇到了很大的挑戰。當你準備開始著手去做的時候,你面對的是接連不斷的新事物需要學習:Xcode、Interface Builder、Cocoa Touch 架構(frameworks)、Objective-C程式設計語言以及在iPhone SDK所包含的其他技術。如果你嘗試同時去學習它們,可能會讓你感覺這些東西有點來勢洶洶(a tad overwhelming)。
因此如何建立iPhone 程式該從哪裡開始學習起呢?好的,視實際情況決定吧。從來都沒有一篇文章,書籍,視頻教程或者培訓課程可以做到適合每個人。你需要抱持著誠實的心態根據你現在技能水平來選擇合適的資源。這裡有一些方向將協助你開始起步:
- 一般來說,如果這是你編程的初次的嘗試,建議從編程基礎開始學起。
- 如果你已經是一個有經驗的程式員,但是你在Mac上才開始,請從開發人員工具、Objective-C以及Cocoa開始學起吧。
- 如果你已經可以非常自如的在Mac上進行編程,請立即進入創造你的iPhone程式。
- 最後,如果已經創造了一款基礎的iPhone程式,那麼是時候讓它閃亮出場了!
不是一個程式員?或許從零開始的時候建立一個iPhone程式看起來會如此簡單,但是這隻是假象,對那些已經有經驗的程式員來說總是充滿了挑戰。許多人低估了困難度。如果你不是一個程式員,但是有一個很好的iPhone程式創意,與一些有經驗的iPhone開發人員一起工作,可能會讓你的創意更快的進入市場。一種方式就是通過我們的工作板與好的開發人員一起合作。
編程基礎(Basic Programming)
物件導向的編程是一種電腦編程形式,它使用的概念例如 類、對象、方法和繼承。物件導向的程式也使用了大量的傳統面向過程的編程概念如變數、迴圈、條件陳述式等等。
Objective-C是物件導向的程式設計語言,你可以用它來建立iPhone程式。它在很多方面跟其他的程式設計語言很相似,但是在很多方面又有很多與眾不同的特性。
#1 一般來說如果你是編程新手,我們推薦以下書籍進行學習:
Mac編程入門:Objective-C 和Cocoa開發(Beginning Mac Programming: Develop with Objective-C and Cocoa)
這本書是為有一點或者乾脆沒有編程知識的人而準備的。它介紹給你物件導向的編程原理及規則,用通俗易懂的語言介紹Objective-C和Cocoa架構程式,非常易懂的課程。你可以從中瞭解到使用開發工具該如何開始。
如果你已經自如的使用開發工具
iPhone 軟體開發包(SDK)是一套免費使用的Objective-C架構(庫)和工具,它允許你為iPhone、 iPod Touch以及iPad建立應用程式。它也包含了iPhone/iPad 模擬器,在你開發的時候可以運行程式在你的Mac上。
Xcode是用在Mac和iPhone的編程開發包,包含在iPhone SDK裡。
Interface Builder是設計和測試iPhone程式使用者介面(UI)的視覺化檢視。你需要和Xcode配合使用。它也包含在iPhone SDK中。
蘋果開發人員聯盟(ADC)是關於所有Mac和iPhone開發的官方資源支援。
Mac電腦是直接被認可的開發平台,所以你有理由去買一台。認真而嚴肅的說,所有的工具只能在Mac上使用,你必須有一台Intel處理器的Mac電腦來開發iPhone程式。當然,好訊息是一旦你擁有了Mac,所有的開發工具是免費的。
#2 下載Xcode,Interface Builder和 iPhone SDK:
你需要註冊成為蘋果開發同盟一員或者是iPhone開發人員,以便於可以下載最新版本的的SDK。蘋果開發人員聯盟會員是免費的且會有很多益處。如果你不準備成為會員,你可以只註冊一個帳號。
- 最新版的SDK可以從http://developer.apple.com/iphone/下載。當然最新版的Xcode 和Interface Builder 已經包含在SDK中。一次下載滿足你所有需要。
- 一旦你想申請在真機上測試並發布程式在App Store,你必須向iPhone開發人員計劃(iPhone Developer Program)提交申請。個人開發人員需要花費$99/年的授權費用,公司機構需要花費$299/年的授權費用。
#3 開始接觸Xcode和Interface Builder 的時候可能會讓人覺得有一點困難。在你準備加入編碼之前,我們推薦你觀看以下的視頻教程:
逐步精通Xcode(Becoming Productive in Xcode)
這個視頻系列有兩部分,教你如何在真正有效方式下使用Xcode,因此你將花很少的時間用在被挫敗的感覺上而將更多的時間用在關注你的應用程式上。
Xcode 和Interface Builder入門(Getting Started with Xcode and Interface Builder)
免費觀看,5部分的22分鐘的介紹視頻教你如何入門Interface Builder(下載, 22 分鐘)
#4 也可觀看蘋果的免費視頻
花一些時間在iPhone開發人員中心(iPhone Dev Center )觀看“入門視頻”。在這些免費的視頻裡,蘋果的專家會討論任何關於iPhone SDK入門知識,建立iPhone程式的工具和技術。都是非常好的資源!
學習Objective-C 和Cocoa
Objective-C是Mac和iPhone開發程式的首要使用的物件導向程式設計語言。不過,這隻是一個通用的程式設計語言。要建立更豐富的程式,你需要一些庫檔案協助你做許多重要的事情。
Cocoa是蘋果自己建立的一套Objective-C架構(庫檔案),能夠為Mac開發程式。Cocoa Touch基於Cocoa,但是只用在開發iPhone或者iPod Touch那些看起來相似應用的特定手機程式上。當你需要開發圖形,基於事件的iPhone or iPad程式時,Cocoa Touch提供所有的核心的使用者介面組件。
#5 如果有編程的背景,但是你初次接觸Objective-C 語言,我們推薦你觀看以下視頻教程:
Objective-C編程視頻(Coding in Objective-C screencasts)
這個視頻系列有三部分,給你關於Objective-C主要特性的概述和物件導向編程核心概念。你也可以學習如何管理記憶體(特別重要在iPhone上!)並且使用Xcode調試器快速判斷和解決問題。
#6 接著,一旦你已經學習了Objective-C,你就必須對付Cocoa了。我們推薦你學習以下書籍:
Cocoa 編程:開發人員速查手冊(Cocoa Programming: A Quick-Start Guide for Developers)
這本讓你更好的理解Mac的Cocoa原理和IB開發。iPhone SDK也使用了很多相同的理論,很好的Cocoa應用知識對你提高大有裨益。通過親自利用工具的手動體驗去進行有趣的練習,去理解文法和基本的Cocoa概念例如目標/工作(target/action)以及委派(delegation)。
#7 加入CocaHeads討論群組:
CocoaHeads 是一個專註在蘋果電腦Mac OS X(包括iPhone)系統上的Cocoa 架構編程討論群組。CocoaHeads 討論群組可以結識本地,也是全世界的人!如果你不能找到你附近的組,考慮開一個新組吧。
建立你的iPhone應用
第一次將這些全部應用在一起,是令人興奮的。在這裡的基礎學習是真正值得的。當你已經自如的領會語言,庫檔案以及工具,你可以將你的創意變為現實了。
#8 如果你喜歡做一個體驗者,可以使用蘋果的iPhone例子程式做實驗。
蘋果提供了大量的iPhone例子程式。下載原始碼,運行它在你的iPhone模擬器上,開始實驗吧。通過閱讀代碼是一個非常好的方式鞏固所學的Objective-C和Cocoa。你也可以使用這些例子代碼設計來給自己的開發以靈感。
#9 許多關於iPhone開發的書已經隨處可得了。這裡列出一些推薦。
iPhone SDK 開發(iPhone SDK Development)
非常實用的指導帶你通過工具和API為iPhone 和iPod Touch建立自己的軟體。大量有用的案例,這本書平台提供“重點”概念和每日“需理解的”細節,最大限度的利用iPhone OS平台滿足開發人員需求。
iPhone開發入門:探索iPhone SDK(Beginning iPhone Development: Exploring the iPhone SDK)
這本書以基礎開始,手把手帶領你走進如何建立你的第一個程式。在這裡,你講學習到適用你程式的方方面面。
#10 訂閱郵件清單或者加入論壇
詢問iPhone開發人員問題,蘋果開發人員論壇(Apple Developer Forums)是最好的地方,但是請利用你所學的去回答別人的問題。
#11 持續不斷的學習iPhone開發各種快捷的小竅門,技巧或者技術能讓你立刻運用。
Studio Bonus Tracks是一個免費的視頻,關於實踐應用中的竅門和技巧的話題課程。每個視頻非常短小精幹,只關注於一項技術以便於你能快速的運用到你的程式中。
使你的程式更精彩!
在iPhone開發過程中記憶體管理是特別重要的部分,因為資源是被約束的。雖然Objective-C 2.0有記憶體回收行程,但是並不適用於iPhone。因此如果你寫iPhone程式,你必須要管理好你的記憶體。
Core Animation是Objective-C 語言封裝的一套圖形渲染,投影及動畫的庫的集合,會給你的iPhone程式加入令人驚訝的元素。即使它不那麼酷,但是也可以改善使用者體驗,讓你在一堆應用中脫穎而出。
Core Data是一套設計工具和API用於iPhone程式的持久性資料存放區。
#12 在你提交你的程式給App Store之前,務必概要描述記憶體使用量率並且修正任何效能問題。這個視頻教你如何做:
視頻章節#2:記憶體管理(Screencast Episode #2: Memory Management)
在這一章節,你將學到如何使用工具找到和修正在Objective-C 常見的各種各樣在記憶體管理問題。
#13 Core Data 在iPhone上給資料模型化和持久化提供一種簡潔的解決方案:
Core Data: 在Mac OS X下資料持久化的API(Core Data: Apple’s API for Persisting Data under Mac OS X)
這本書帶你從Core Data最基礎開始直到專家級的配置,你在其他任何地方是找不到的。
#14 參加蘋果世界開發人員大會(WWDC)
蘋果世界開發人員大會(WWDC)是一年一度的重大事件,從中講學習和瞭解到最新的和最偉大的iPhone OS 和Mac OS X 開發。這好像有一點花費,但是這一切都是值得的如果你將iPhone開發作為你的謀生手段的話。
#15 考慮為你的程式使用Core Animation 添加令人驚奇的動畫效果。這本書教你如何做:
Mac OS X 和iPhone的Core Animation應用(Core Animation for Mac OS X and the iPhone)
這是本綜合性的指導書將讓你快速並深入到Core Animation。