博主:易飛揚 原文鏈接 : http://www.yifeiyang.net/iphone-development-introduction-1-programmers-in-the-eyes-of-the-iphone/ 轉載請保留上面文字。
自去年 iPhone 面世以來,開創了移動設備內容服務的一種新的模式—-程序商店(App Store)。它極大地降低了移動設備應用程序開發的成本,即使普通人也能進入這個市場。就像在PC上開發應用程序一樣,我們的投入只是一臺電腦,一個手機。
截止到目前爲止,許多大的電話設備提供商/運營商和軟件企業都加入了這個新的模式,Nokia的 Ovi Store (2009年5月26日開始),微軟的 Windows Marketplace for Mobile ,Google的 Android Market (2008年10月22日開始)等都已經或者準備進入這個市場了。
就像以前開發PC上的共享軟件一樣,許多程序員和小的企業加入了開發隊伍的行列。只要有新意撈到你人生的第一桶金不是什麼問題。國外的一個22歲開發者只用了20分鐘開發了一款叫做Sound Grenade的程序,一個小時的收入就是200美金!!!一個月70,80萬人民幣輕輕鬆鬆啊。要論這個程序,沒有什麼技術可言,純粹一個垃圾,可是就是這麼一個垃圾程序,卻受到很多人的歡迎,這隻能說作者有創意了。順便說一說,程序本身是免費的,主要是靠流量帶來的廣告收入(和網頁廣告一個道理)。
從今天開始,介紹一下 iPhone 應用程序的開發,發佈流程,讓我們也把自己的創意寫成程序,展現一下實力吧。
iPhone開發入門(1)—-程序員眼中的iPhone
iPhone 不單純是具有電話功能的 iPod,它的有許多有魅力的地方。作爲一個應用程序的開發者,我們首先來看看它的這些特徵。
首先,手機上的按鍵沒有了,應用程序的按鍵,開關與電話的按鍵統一了起來。取而代之的是觸摸屏技術,應用程序的開發者從此不再受按鍵的限制,可以自由的設計UI的風格。喜歡把按鍵放哪就放哪,即使不用按鍵,類似於PC應用程序的滾動條/拖動條等也可以在觸摸屏上實現。
iPhone 中已經提供了從按鍵到滾動條等一系列的UI控件。當然,你也可以不使用這些控件,而是自己自作獨特的UI控件。
製作iPhone應用程序需要的東西
首先是開發環境,標註的配置是以下的環境:
- Mac 電腦(CPU要是Intel的)
- Mac OS X v10.5(Leopard)或以上的版本
- 一臺 iPhone 或者 iPod touch
當然你也可以在windows或者linux上安裝開發環境。iphonedevonlinux有詳細的介紹,使用toolchain在Cygwin或者linux下進行iPhone的開發,如果你想省些鈔票或者想更深入的瞭解 iPhone OS 那麼不妨試試它。這一部分,我在以後的章節中會專門介紹。
另外,開發所必要的軟件,SDK,IDE等可以免費從Apple的網上下載。如果你想開發有GPS和照相機或者重力傳感器功能的程序,那麼需要iPhone 3G,其他一般的程序iPod touch就可以了。另外,如果想要把做成的程序發佈出去,還需要到Apple Developer Connection花99美金登錄。
Cocoa Touch與Xcode
Cocoa Touch
剛纔介紹了開發iPhone應用程序的時候,可以選擇許多現成的UI控件。實際使用的過程當中,使用叫做「Cocoa Touch」的程序開發組件庫,它類似於windows下開發時所用的MFC,.NET FrameWork。利用 Cocoa Touch,開發者不用考慮設備的特性和畫面特性,就可以簡單的構築GUI。
另外,利用Cocoa Touch,可以開發具有以下iPhone功能的應用程序。
- 照相功能
利用照相機拍照,並將照片保存到iPhone。
- 當前位置取得功能
要用iPhone取得當前位置,可以使用 GPS,無線LAN,基站等3種方式。應用程序不用考慮使用哪種方式,系統通過最佳的方式取得現在的位置信息。
Xcode
Xcode是Mac OS X下的IDE開發環境,也是免費的。主要包含有GUI設計用的「Interface Builder」,iPhone應用程序模擬器,編譯器等。
Objective-C語言
iPhone開發的時候,基本使用Objective-C語言。它是擴充C的面向對象編程語言,也是創建Mac OS X應用程序的首選語言。如果你會C或者C++,理解Objective-C應該很快。並且因爲Objective-C可以在gcc運作的系統寫和編譯,你也可以混合Objective-C和C/C++來寫程序,或者使用原先的C/C++庫。
並且使用Cocoa Touch來開發程序,自己寫的代碼量也會相應減少,應爲大部分的算法,邏輯部分都被程序庫吸收了。
現在就開始開發iPhone應用程序
準備好了所有的工具,我們就可以開始開發iPhone應用程序了。當然學習Cocoa Touch,Objective-C語言也是很重要的,這些我以後會有專門介紹。
在開發自己的應用程序之前,最重要的是什麼呢? 是開發程序的知識和技能嗎?不是的,最重要的是開發者的激情和創意。有了激情,我們能產生好的創意,有了好的創意,我們才能寫出優秀的應用程序。