iOS開發的前景如何、iOS開發的難易度。要想分析iOS開發的前景,首先你要搞清楚是哪一個牛X公司在維護着iOS系統、是誰在背後支撐着全球的iOS開發者,那就是大名鼎鼎的Apple。html
2012年3月份,蘋果公司的市值已經突破5000億美圓,成爲世界上市值最大的公司。5000億是神馬概念呢?android
這個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手機同樣從別的網站下載軟件後再安裝到手機上呢?開發工具
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> 硬件
2> 軟件
用戶若是花錢從AppStore下載了一個軟件,這個錢就給蘋果和開發者三七分。好比,我開發者了一款軟件,以10塊的價格掛在AppStore上,若是有用戶花10塊下載了一次,我就得7塊,蘋果得3塊。
4.蘋果也賺開發者的錢
1> iOS開發者
只要你有了Xcode,就能夠開發iOS程序,順即可以將程序運行到模擬器進行調試,一切操做都是免費的。可是,若是你想把程序運行到真機(iPhone\iPad等)上調試,那就得有開發者證書;若是你想發佈應用到AppStore,那就得有發佈證書。要想獲得證書,首先你得向蘋果申請爲iOS開發者(iOS Developer),並且並不必定免費。成爲iOS開發者後,就能夠從官網下載前面所說的2種證書了。iOS開發者能夠分爲4種類型:
(1) 我的型(individual)
(2) 公司型(company)
(3) 企業型(enterprise)
(4) 大學型(university)
能夠看出,蘋果不只是賺消費者的錢,還賺開發者的錢。並且開發者還要買蘋果筆記本呢,這裏又賺了一筆。
2> 應用發佈的流程
5.總結
以我我的和身邊朋友的開發經從來說,對比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系統架構