為什麼iOS開發比Android開發需求少這麼多?
iOS 開發是典型的兩個極端:
1. 能做的事情做起來很容易2. 不能做的事情你 YY 也沒用
產品:這個需求balabala。。。
iOS 開發:蘋果不給許可權。。。AppStore 會拒。。。
因為很多Google沒做的事情,可以由第三方公司去做,並養活一堆人。
而iOS這邊,Apple都做了。。。。。並且不支持其他人來做。因為Android主張的是:你說我不行,你行你上。iOS主張的是:你說我不行,其實是你不行。
你買了一個精裝修的房子,物業也不准你亂拆亂建,你買個傢具能怎麼折騰?你買了個毛坯房,只要不是承重牆,隨便砸,你裝修動靜就要大一點。房子裝好了,住進去了,住進去的人是看不到兩者的區別,只是發現小區里每家都有每家風格,有的連門的朝向都變了。
也沒有少很多啊,不知道題主主要說的是哪些方面?
從需求角度,比如push有不同,版本和渠道管理簡單點,其他的可否請題主舉例呢
Android系統定製,例如小米華為等等的系統開發需要一批人。系統定製後預裝應用開發需要一批人。Android系統的開源導致更多的安全問題的同時也意味著Android開發者能做更多的工作。swift的推廣縮短iOS應用開發周期,在開發需求總量不變的情況下需要的開發人員就會減少。我所在的公司Android十六人,iOS四人,4:1的比例。
因為安卓可以做智能馬桶!智能手錶!安卓的收銀機!可以在所有你想用安卓的產品上加上安卓!擴散到嵌入式,應用的產業本身比IOS大了很多很多!
有幾個點吧:
1.價格比android高,經常有客戶給我說先做個android版的看看反應和效果再考慮ios
2.審核制度iOS比android嚴格多了,android打完包的apk各大應用市場隨便傳
3.受眾人群不同吧,之前給蘭州的一個客戶做了一個給農民工找工作的app,水工啊木工啊電工啊,用ios系統的基本沒有,人家強調一期只要android端跟網站,網站發布信息,android端查看
因為安卓不止能用來做手機APP。。
其他的什麼刷卡機打卡機錄指紋簽到的送快遞簽單的點菜的收煤氣費的收寬頻費的等各種手持設備,裡面很多都跑著安卓系統,這都需要有人去開發對應的app,而ios就沒這種功能。。
強烈抗議【暗落亭苦來】的說法
並不是谷歌很多東西沒做,而是它開源安卓導致開發人員能做很多事情,不僅僅局限於谷歌提供的api,例如小米、魅族、華為、三星他們不滿足於提供的api,結果自己去修改源碼,出現了各廠的rom;另外安卓開發者還可以利用反射等非常規手段去拿到源碼中未開放的api做事
ios封閉不開源,乃至給開發者的許可權都很低,能做的只是根據它提供的api去做事
store:
安卓的各種平台監管規則不同,導致國內應用的標準也各不相同,奇葩需求也層出不窮
ios就一個官方store,監管嚴格,全webview數據的拒絕,跳轉其他網頁的拒絕,廣告的拒絕....
需求:
舉個很簡單的例子,安卓能通過apk的包名來判斷手機上某個應用在前台的使用時間,5.0以上更是通過系統許可權Usage可以獲取應用每天,每周,每月,每年的總使用時間,上次啟動時間等等數據
ios開發者能?
安卓廣告牆、刷單等推廣模式,ios最多只能判斷點擊跳轉到app store里該款應用的界面,能判斷安裝了指定應用?接收安裝廣播?
所以並不是ios系統做的事情多,谷歌給安卓做的事情少,而是兩者開源程度和提供的許可權安卓更大,ios少的可憐安卓同事說,因為產品都是按iOS體驗設計UIUX的,iOS是系統現成的,而安卓得自己實現,或者集成第三方實現。這個說法也不是絕對的,安卓也有方便的地方。
沒有開發過安卓不做評論,但是ios開發,我們常用的api和底層api還是有很大區別的。難易度也是有很大差別的
ios各種效果封裝的比較多
Android能做的不僅僅是應用,那麼多手機廠商驅動,源碼,系統開發,哪個不需要很多人,然後還有應用開發,你說比iOS崗位多不多
5-27修改:
鑒於這麼多人議論,我說明下,沒有貶低android機型適配和版本適配的工作量
我曾今也開發過android,而且是從1.6開始的,遇到的坑,不會比你們少
我只是想說的是,ios的坑也不少,我最初開發是基於ios 4。iphone5發布,ios7發布,iphone6發布大把大把的坑,幸好apple搞除了autolayout布局,不然更坑
列舉下某些坑:
1.appstore的坑
appstore上線大把的坑,特別涉及到支付,廣告,我說些其他的
app有用戶上傳的內容,沒加舉報功能,out,悲劇
app分級設置錯誤,out
app分享沒安裝qq,但是點擊提示去安裝qq out
app只有第三方登錄的 out
app某些活動,沒有申明跟apple無關的 out
app含有test 測試字眼的 out
2.布局的坑,特別是要適配ios5,6 或更早的版本,當然現在基本上是基於ios7以上開發
身邊沒有ios7的測試機 坑
xcode都沒有了ios7的模擬器 坑
autolayout ios7下特有的錯誤 坑
3.功能開發中的坑
如果是開發音樂類,或者網路電話,你能說蘋果限制就不能做嗎。偽後台每次只給10秒處理時間,有時候還不保證,坑
webview內存泄露 坑,雖然出了個wkwebview,但那是ios8以上的好吧
內存泄露,坑 別跟我說有了arc就不會有內存泄露
各類開源庫bug的坑,開源庫雖然很好,但是有隱藏bug的時候,蛋疼你了吧
。。。。
懶的碼字了,我想說的是,一個合格的開發者,有自己的方法處理這些坑,工作量,看你咯
1. 能做的事情做起來很容易
2. 不能做的事情你 YY 也沒用
就我的經驗來看,android和ios開發過程中,工作量其實是對等的
從時間上看,appstore上線需要時間,5到7天,所以工期自然就比android的要少一周,如果加上審核不通過,那工期就更長了
對於ios不給許可權這個說法,目前市場上絕大多數app的功能,apple給的許可權足以你開發使用。
不給許可權的,無非是不能獲取手機號碼,不能獲取設備號這類設計用戶隱私的東西,這些都可以用技術迂迴解決
對於某些需要後台運行的app,如voip電話,音樂,蘋果可以允許偽後台運行,也完全夠你使用的了。
你的app不需要後台運行,偏要像android搞個後台進程,我只能說腦子進水
android1.6到2.x 4.0就是因為開放太多許可權,導致各種app亂用後台進程和開機開啟(這也使得lbe安全類軟體盛行的原因之一吧),5.x開始android就開始收緊這些許可權啦
其他的正常app功能,哪樣比android工量要少?屏幕適配,機型適配,ios版本適配?
說句題外話,很多公司裡邊,常常把ios的產品體驗當做標杆。所以各種ue和動畫效果不可缺少,這些不是工作量么
iOS 可以用原生控制項,Android 得把原生控制項封裝得跟iOS 差不多。
推薦閱讀:
※如何禁止 iPhone Safari 視頻自動全屏?
※如何評價蘋果公司要求開發者在 2017 年前全部採用「HTTPS」?
※在微軟 (Microsoft) 公司從事 iOS / OS X 開發是怎樣一番工作體驗?
※iMessage 是怎麼做到顯示「已讀」功能的?
※用HTML5開發App真的好嘛?