跟我學iOS開發

 
1、iOS開發的前景
2、iOS開發的難易度

iOS開發的前景如何、iOS開發的難易度。要想分析iOS開發的前景,首先你要搞清楚是哪一個牛X公司在維護着iOS系統、是誰在背後支撐着全球的iOS開發者,那就是大名鼎鼎的Apple。html

1、iOS開發的前景

2012年3月份,蘋果公司的市值已經突破5000億美圓,成爲世界上市值最大的公司。5000億是神馬概念呢?android

  • 能夠幫助陷入歐債危機的8個國家償還債務
  • 能夠買下35個天安門廣場、34座盧浮宮、109座圓明園
  • 能夠同時買下雅虎、戴爾、百思買、摩托羅拉、動視暴雪
  • 超過105個國家一年的GDP
  • 平鋪在地上,能覆蓋42%的美國領土
  • 每一個蘋果員工能夠分到660萬美圓
  • ......

這個5000億,真可謂「富可敵國」。在此,咱們還要感謝蘋果公司給雅安捐款5000萬。其實,蘋果對咱們中國消費者一直都重視。爲何蘋果公司這麼有錢呢?我在這裏簡單分析一下。瀏覽器

1.蘋果公司的商業模式安全

1> AppStore服務器

蘋果公司有個叫AppStore的應用商店,既然叫商店,確定是賣東西的,它賣的是軟件。開發者能夠將開發好的軟件,標個價錢,發佈到AppStore。用戶能夠免費註冊一個AppleId帳號,而後利用AppleId登陸AppSotoe,下載一些喜歡的軟件,安裝到本身的iPhone\iPad等蘋果移動設備上!AppStore裏面包含了77.5萬款應用,應用的下載次數已經超過400億次,有些是免費的,也有些是要錢的。好比一個植物大戰殭屍HD版,下載一次須要45¥,HD版通常是指iPad版。而iPhone版的植物大戰殭屍,下載一次須要18¥。每一個AppleId第一次下載的時候才須要花錢,之後從新下載是不用花錢的。架構

       

不少人可能以爲好笑,在咱們天朝還怕沒有免費軟件用麼,有誰會笨到去花錢買軟件啊?可是,就是有這麼多的用戶願意花錢向蘋果買軟件。要想知道爲何,這個要追溯到2001年了。框架

 

2> 安裝軟件到iPhone上工具

沒有用過iPhone的人可能會問:iPhone上的軟件必定要從AppStore下載麼?可不能夠像android手機同樣從別的網站下載軟件後再安裝到手機上呢?開發工具

  • 默認狀況下,iPhone上的全部軟件都必須從AppStore下載安裝;不過,能夠對你的iPhone進行破解,也就是傳說中的「越獄」, 「越獄」後的iPhone能夠安裝從其餘地方下載的軟件,就跟android手機安裝軟件相似了。不過「越獄」有必定的風險,若是不幸安裝了惡意的軟件,也許會將你手機中的一些隱私信息泄露出去。若是你是從AppStore下載軟件,那就很安全了,由於蘋果會對開發者上傳的應用進行嚴格的審覈,若是發現有不妥的地方,就不容許發佈到AppStore。網上有一鍵「越獄」工具,支持iPhone\iPad\iPad mini\iPod touch。
  • 「越獄」還有個好處,AppStore上原本要錢的軟件能夠免費安裝了。好比一個植物大戰殭屍在AppStore上賣45塊,一些熱心的大神呢,花45塊買了軟件後,對軟件進行破解,從新打包成安裝包,掛到網上供網友免費下載。
  • 若是你是開發人員,也能夠利用Xcode將你寫的程序運行到iPhone上,也至關於安裝軟件,不過得有開發者證書,後面我會介紹這個證書。

 

2.「果粉」的誕生測試

接下來分析一下:爲何有這麼多的用戶願意花錢向蘋果買軟件。

1> 第一代iPod的發佈

2001年10月23日,蘋果公司發佈第一代iPod,iPod是一種MP3播放器。當時不少公司都在嘲笑蘋果公司,由於幾年前就有MP3這種東西了,並且已經被三星、索尼等公司佔據了市場。可是,第一代iPod的推出在當時引發了轟動,它不但漂亮,並且擁有獨特和人性化的操做方式以及巨大的容量,爲MP3播放器帶來了全新的思路,這是一款具備跨時代意義的產品。就這樣,iPod爲蘋果公司吸引了一大批全球各地的消費者,這批消費者完全被蘋果的產品給迷上了,俗稱「果粉」。喬布斯並非PC(電腦)的發明者,可是蘋果電腦卻令人眼睛發光;他也沒有發明MP3,但iPod卻風靡世界;他之前沒有作過手機,但iPhone將諾基亞摩托羅拉打得落花流水;在喬布斯以前許多人作平板電腦失敗了,但iPad卻激發了消費者的狂熱......所謂創新,就是把別人已經作過的東西再作得更好一點!

 2> iPod的使用

iPod的操做方式跟普通MP3播放器是很不同的。普通MP3播放器,用一條USB數據線鏈接MP3播放器和電腦,就能夠直接將電腦上的歌曲文件複製到MP3播放器中。而iPod呢,你須要用蘋果官方提供的iTunes軟件才能夠將歌曲傳送到iPod中。iTunes在每次iPod鏈接到電腦主機時,能夠把特定的播放列表或把整個音樂庫自動同步到用戶的iPod裏。iTunes中還有個iTunes音樂商店,用戶能夠從商店中購買正版高品質音樂,而後利用iTunes將音樂文件同步到iPod中進行播放。從其它商店購買的受保護音樂是不能在iPod上播放的,iTunes音樂商店已經售出了10億首歌曲。固然,也有黑客破解了iPod的諸多限制,使得iPod能夠播放從任何地方下載的音樂,至關於欺騙iPod,讓iPod認爲它在播放從iTunes上購買的音樂。

綜上所述,從iPod發佈開始,蘋果公司已經培養了一大批忠實的「果粉」,讓「果粉」養成了從蘋果商店花錢購買東西的習慣。這個「習慣」就是關鍵!「果粉」對蘋果公司已經有了依賴和信賴,因此,蘋果推出了AppStore應用商店,也有一大批「果粉」願意花錢向蘋果買軟件。

 3.賺了用戶的哪些錢

至於用戶,蘋果主要賺取了2大部分的錢:

1> 硬件

  • 移動設備:iPhone\iPad\iPad mini\iPod,如今一部iPhone5在天朝的價格大概是5k
  • 電腦設備:MacBook(蘋果筆記本)\iMac(蘋果一體機)\Mac Mini(微型蘋果主機),iMac的價格通常都是上萬的

2> 軟件

用戶若是花錢從AppStore下載了一個軟件,這個錢就給蘋果和開發者三七分。好比,我開發者了一款軟件,以10塊的價格掛在AppStore上,若是有用戶花10塊下載了一次,我就得7塊,蘋果得3塊。

 4.蘋果也賺開發者的錢

1> iOS開發者

只要你有了Xcode,就能夠開發iOS程序,順即可以將程序運行到模擬器進行調試,一切操做都是免費的。可是,若是你想把程序運行到真機(iPhone\iPad等)上調試,那就得有開發者證書;若是你想發佈應用到AppStore,那就得有發佈證書。要想獲得證書,首先你得向蘋果申請爲iOS開發者(iOS Developer),並且並不必定免費。成爲iOS開發者後,就能夠從官網下載前面所說的2種證書了。iOS開發者能夠分爲4種類型:

(1) 我的型(individual)

  • 費用:每一年99$。看清楚了,是每一年,並且是美圓。
  • 做用:證書只能是我的使用。能夠發佈應用到AppStore。
  • 提示:用戶只能在AppStore下載你的軟件。(「越獄」除外)

(2) 公司型(company)

  • 費用:每一年99$。
  • 做用:證書能夠多人使用。能夠發佈應用到AppStore。
  • 提示:用戶只能在AppStore下載你的軟件。(「越獄」除外)

(3) 企業型(enterprise)

  • 費用:每一年299$。
  • 做用:證書能夠多人使用。不能夠發佈應用到AppStore。
  • 提示:若是你開發的軟件是企業內部使用,或者給特殊人羣使用,並不想發佈到AppStore給全球用戶使用,就能夠用這種帳號。你把開發好的應用放到某個服務器下,而後把下載地址告訴用戶,用戶在本身的機器上使用Safari瀏覽器訪問下載地址,而後就會自動下載安裝。用戶就不用從AppStore下載你的應用了。

(4) 大學型(university)

  • 費用:免費。
  • 做用:用於校園內部開發測試,須要學校向蘋果公司申請,但審覈很是嚴格。

能夠看出,蘋果不只是賺消費者的錢,還賺開發者的錢。並且開發者還要買蘋果筆記本呢,這裏又賺了一筆。

 2> 應用發佈的流程

  • 若是你要把應用發佈到AppStore,不是立刻就能夠上線的,還要通過蘋果公司的嚴格審覈。審覈的內容有不少,好比是否爲惡意程序、是否包含黃色暴力的內容、是否有使用的價值(不可能隨便寫的小例子也能發佈成功)、是否有明顯的BUG(BUG就是指程序錯誤)、是否侵權等等。並且,有些特殊軟件,蘋果是不容許你開發的,好比輸入法、短信軟件、通信錄等,像這類應用,是不可能在AppStore上找到的。
  • 能夠看出,蘋果是很爲用戶着想的。你想象一下,若是蘋果不嚴格審覈應用的話,那AppStore將會有多少垃圾軟件啊,最終受傷的是用戶。
  • 若是你上傳的應用審覈不經過,蘋果會詳細列出不經過的緣由。並且這個審覈過程至少爲1個星期,有時候還要半個月或者1個月。所以,你的應用從開發到正式上線,要耗很長時間。若是軟件要發佈新版本了,同樣的,仍是進行審覈才能上線。
  • 若是你開發的應用不想給蘋果審覈,那麼你就選擇企業型開發者,雖然貴了200$,但仍是有好處的:不用再等待那至少1個星期的審覈了,能夠隨時發佈新版本,用戶也能夠及時享受最新版本。

 5.總結

  • 說了這麼多,應該能感覺到爲何蘋果這麼有錢了吧。固然,蘋果確定還有其餘賺錢的途徑。有這麼牛X的公司在撐着,這幾年內,iOS開發的前景仍是不錯的。再加上iOS開發的門檻比較高(昂貴的設備成本),對比andorid,iOS開發者少了不少平民開發者。而開發android程序是徹底免費的,即便你是農民工,只要你會寫代碼,就能夠開發android程序。相對來講,iOS人才仍是比較少的。
  • 近幾年,移動互聯的發展很是迅速,各大公司也不斷推出本身的移動終端產品,都想在移動互聯領域佔有一席之地,前陣子據說騰訊以6000萬的價格收購了一款由6我的開發的手機刷機軟件,一人分了1000萬。目前來講,移動開發是個不錯的方向。
  • 大部分iOS用戶的消費能力都比較強,特別是在遊戲方面,一大堆RMB玩家,砸幾萬RMB只爲玩一個手機網遊。前幾天看到一款《我叫MT》的iOS網遊向雅安捐款了100多W,公司認可大部分錢是來自RMB玩家的支持。

 

2、iOS開發的難易度

以我我的和身邊朋友的開發經從來說,對比android開發,iOS開發會更簡單一點。作一個相同的功能,在android上可能須要9-10行代碼實現,在iOS上可能只須要1-2行,並且實現地更加出色。這並非誇張的說法,這是事實,但並非全部的功能都這樣。我並非說android開發很差哈,只是有些功能開發起來相對複雜一點。爲何會有這樣的差別呢?

1.強大的開發工具

蘋果公司提供了很是強大的開發利器---Xcode,集成了iOS模擬器、Interface Builder等工具。Interface Builder是用來構建軟件界面的,利用Interface Builder,你能夠輕鬆地拖拽一個按鈕或者文字到軟件界面上。

2.強大的SDK

蘋果公司提供了很是強大的SDK,也就是開發包。用了這個開發包,有些功能,你只用幾行代碼就能實現很是出色的效果。

3.android開發與iOS開發對比

1> iOS是不開源的

蘋果公司的iOS系統是不開源的。不開源意味着什麼呢?意味着其餘公司的移動設備不容許搭載iOS系統,即便你出再多的錢,蘋果公司也不肯意給你用。因此你會看到只有蘋果公司本身的產品上才運行着iOS系統,好比iPhone、iPad等。你不可能說看到某輛車的車載系統是iOS的,那確定是山寨車、山寨系統,除非蘋果公司本身賣車了,出了一款iCar,哈哈。

 

2> android是開源的

而google開發的android系統呢,它是開源的。那意味着android系統是免費的,誰均可以使用,因此你今天看到滿街都是android手機,有三星、索尼、華爲、小米等,就連康師傅和讀者雜誌都出android手機了,有網友還調侃「康師傅,夠了,別逼三星出方便麪」。甚至連電視、洗衣機、微波爐、汽車等,都是android系統的。對比iOS設備,android設備的價格都比較便宜。

 

3> 開源背後的android開發者

能夠看出,android的市場佔有率是很大的,可是苦了android開發者,爲何呢?市面上的android手機屏幕有大有小,爲了考慮程序可以適應全部的手機屏幕(也就是「屏幕適配」),android開發者但是吃盡了苦頭啊,這對開發者來講,簡直是個噩夢。再者,因爲android是開源的,意味着每一個手機廠商均可以對原生的android系統進行修改,包裝成本身特有的系統,小米、魅族就是如此。這對android開發者來講,又是一個噩夢。舉個例子:原本好好的一個功能,在三星手機上能運行成功,可是在小米手機上就可能運行不起來或者達不到想要的效果,這種事情是常常發生的。爲了讓這個功能適應全部的手機,android開發者又是吃盡了苦頭。公司通常會爲android開發者配備N臺不一樣型號的手機,感受公司對本身挺好的,這麼多手機任你用,其實,你懂的。。。

 

4> iOS設備的屏幕適配

運行iOS系統的設備就那幾個:iPhone\iPad\iPad mini等,屏幕大小也比較統一,好比iPhone4和iPhone4S的屏幕是同樣的,無論是iPad2仍是iPad4,全部的iPad屏幕也是同樣的,不會像android那樣很大變化。不過iPhone5的屏幕比之前的iPhone多大了一些,不過我以爲這個問題不大,由於利用蘋果的開發工具和開發包,能夠輕鬆地解決這個屏幕適配的問題。蘋果官方也表示iPhone6的屏幕並不會變得更大。

 5> 加班問題

在公司裏面,常常會出現這樣的狀況:同一個項目,iOS開發組早早作完了,android開發組還在苦逼中,並且領導常常在那催「iOS組都作完了,大家怎麼還沒作完啊」,加班也是常見的事。固然,iOS開發組也有加班的時候。前不久,聽到一個朋友在調侃,他說感受他們公司作iOS開發的都比android開發的帥氣精神一點。他還說,一個星期不見,那個作iOS的皮膚好像又好了一點。哈哈哈,挺搞笑的。

 4.iOS和android系統架構對比

如今市面上的android手機,屏幕愈來愈大、CPU愈來愈高級,據說有8核的了、內存也愈來愈大。可是有時候使用起來,仍是不如iPhone流暢。就拿iPhone4來講,內存才512M,CPU單核;我如今有部android系統的索尼LT26ii,雙核CPU,1G內存。對比之下,仍是iPhone4順暢一點。有時候,LT26ii上有個程序崩潰了,會致使整個手機都停滯一段時間;在iPhone上,有個程序崩潰了,並不影響其餘程序的使用。Facebook的開發者也在吐槽android系統太粗糙了。爲何會有這樣的差別呢?這跟系統架構有關係。

1> android系統架構

android是基於Linux內核設計的,是在Linux內核上面運行一個Java虛擬機,虛擬機再運行軟件。像是在一個系統上面又套了一個系統,至關於同時跑2個系統,咱們的應用要穿越2層系統才能跟手機硬件交互。因此佔內存大、運行速度略低。

 2> iOS系統架構

iOS是基於UNIX的,直接與底層硬件通訊。系統底層、應用框架、應用軟件都是採用C\C++或者Objective-C寫的,因此有很高的運行效率。
 5.總結
我並非說android開發沒有前景,只是以爲android開發相對辛苦一點。若是你android技術很牛B、經驗豐富,遇到再難的andorid問題,也是能夠迎刃而解的。還有一點,iOS開發中也是有難點的,確定也有苦逼的時候,也有加班的時候。
相關文章
相關標籤/搜索