當前位置:編程學習大全網 - 編程語言 - 學習IOS好,還是Android好?

學習IOS好,還是Android好?

iOS與Android,兩個不同的開發體系結構,壹個封閉壹個開放,是所有開發者繞不去的大山。而我們在開發過程中,也感受到了這其中的細枝末節。

壹,開發環境對比

首先在開發環境的配置上,二者就表現出了極大的差異。

1,配置過程

iOS的開發環境非常完美,下載完官方提供的Xcode之後直接安裝即可就可以開發了;而安卓則需要先下載Java環境,然後去Windows裏面做好配置環境,然後下載eclipse這個環境再在裏面做各種復雜的配置操作,才可以配置好開發環境。當然在2013年的時候谷歌終於推出了Android Studio開發工具,可以縮減配置過程,但我們的技術跟我說,現在主流還是復雜的eclipse為主,Android Studio尚不成氣候。

從配置過程來看,iOS簡單,安卓極其復雜。

2,跨平臺適應性

蘋果的開發環境是極其霸道的,必須用Mac電腦的OS X系統才可以開發iOS,而Windows是無法做iOS開發的,除非做虛擬機,但是真正做iOS開發的時候是不可能用虛擬機搭建OS X來做開發,這樣速度會及其緩慢,無法開發任何大型程序。

而安卓雖然安裝起來復雜,但是具有很好的適應性,不僅能夠在Windows上開發,也能在Mac、Linux系統上開發,完全沒有任何問題。

從跨平臺的適應性來說,蘋果更像壹個自我生長的大樹,而安卓就像苔蘚,可以附著在任何平臺上生長。如同當年的Windows可以安裝到任何PC上壹樣,安卓勝。

3,真機調試

安卓在真機調試上就遠遠優於蘋果,安卓開發者只需要打開調試開關然後就可以調試手機了,但是iOS則不同,iOS需要證書、描述文件、Apple ID、開發者賬號,搞半天才可以進行調試,過程實在吐血,有興趣可以看這裏。

這壹步依然是安卓勝。

總結:

在開發環境的對比上,蘋果表現出了強硬的態度:“只準用我的”,而安卓則表現出了很強的適應性,順勢而為。當然,這對於開發者而言不是什麽大問題,只是從壹個側面我們看到了兩家公司的不同文化。蘋果更自我,谷歌更擁抱開放。

二,推送機制問題

由於我們也是初次創業,APP本身結構也不是特別復雜,所以很多東西就都開始想當然,在APP的結構設計上沒有考慮到推送機制,所以我們壹開始都是讓程序做的心跳連接,通過不斷向服務器做請求,來更新數據。

我們早期沒有經驗所以是直接讓我們的應用做心跳去請求服務器信息的,這樣持續不斷的發送請求,不僅耗電量大,而且對網絡流量都是有很大消耗的。隨後我們意識到問題,開始著手第三方的推送機制。

第三方的推送我們研究了谷歌官方的GCM、蘋果的APNs、百度雲推送、個推、極光推送。我們最後選擇了百度雲推送作為統壹平臺。原因在於百度的“***推”機制,只要用戶安裝了任何百度系應用以及使用帶有百度雲推送的應用,百度都會進行統壹的推送服務,而不需要單獨的應用程序進行心跳操作,只需要交給百度系即可。

而對於iOS的話,則後臺不需要再去研究APNs就可以進行統壹的推送。

總結:

在推送問題上,由於iOS和安卓推送機制各自為政,所以開發者更希望有壹個大壹統的推送平臺來管理這二者。同時加上IOS和安卓在國內推送上的水土不服,也給了第三方推送機會,而在第三方推送正好抓住了這個機會。

三,適配尺寸,版本問題

雖說蘋果的真機調試比較復雜,但是蘋果壹***需要適配的機型也就兩種尺寸,3.5和4.0英寸並且iOS的版本升級率遠遠大於安卓,所以在適配上,iOS的優勢就明顯了。庫克在發布會上也拿系統升級率向安卓開火,安卓在這塊確實沒做好。

根據統計,截止去年10月統計,iOS 7的升級率為73%,而根據去年5月的統計,安卓雖然早就已經發布到4.X版本了,但2.X版本的市場卻依然占據了39%的市場,所以我們在安卓的適配上做的非常痛苦。

先說尺寸問題吧,安卓適配需要同時適配各種分辨率的手機,從240*320到1280*800,最常見的就有十幾種分辨率需要做適配,並且最要命的是控件問題。iOS經過早期的各個開發者的經驗匯聚,加上蘋果公司的重視,蘋果公司已經做好了官方控件,iOS程序員只需要直接調用即可,但是安卓做的控件就復雜了,需要去github等開源網站上找到相應的項目,然後自己改寫代碼以適配,但最後這些做完的控件放到不同分辨率的機型上又會出現超出屏幕範圍,或者太小等等諸多問題,完全不兼容,需要壹個個調整過去,很是痛苦。

另外這裏再說壹下真機雲測試,凡是那種需要登錄賬號的APP,雲測試是壓根沒用的,只能壹個個手機自己測試過去!

接著再談機型適配問題,其實說到底還是版本適配的問題,我們安卓版剛剛提交到應用商城後就有壹堆用戶來吐槽說居然無法註冊,後來發現原來是調用頭像的API接口太新而無法適應老版本導致的,接著我們跑去舊手機市場花了150元在那邊邊測手機邊改,終於把問題解決了。但第二次提交後,居然又有人吐槽無法打開的問題,後來我們發現原來是版本太老導致的json格式解析問題,後來又去測了半天......

辛酸啊,不過還有更辛酸的公司,據我所知那個做智能電子秤的叫PICOOC的公司,由於電子秤需要藍牙適配所以必須有真機測試才行,他們曾經因為用戶的壹個韓國手機無法兼容而不得不買了壹個韓國手機來做,還有類似那些低版本的用戶需要壹個個試過去,還有些最辛酸的就是明明剛剛適配好了小米3系統的藍牙了,結果小米官方系統升級後導致原來的藍牙通道不對,需要重新再拿手機來重寫代碼做更新和沒更新系統的選擇性適配,最後還又被用戶投訴了......

總結:

適配的問題上iOS讓開發者感受到了iOS的魅力。同時,在版本和尺寸的配上,安卓機亂糟糟的生態讓開發者們不得不只去選擇主流的機型去滿足而無法顧及更多邊緣需求。在適配這個問題上,iOS大獲全勝。

四,應用商店提交

關於應用商店提交又是壹個令人不得不說的事情,由於安卓是開放生態,所以自然應用商店也是壹個開放而混亂的生態環境,除了百度,360,豌豆莢,騰訊,安智這樣的大頭,其他應用市場實在無法恭維,具體我寫過壹篇從提交安卓應用壹窺市場格局,不再多說。

那麽再談iOS,iOS的提交就非常狗血了,需要應用ID,發布證書,配置文件,生成設置,部署目標.......過程極為復雜而冗長。但是當我們提交完畢之後,有壹種徹底的征服感。

總結:

在應用的提交上,iOS的提交雖然極其麻煩,但是只要搞定壹次就可以壹勞永逸,而安卓則不同,由於其開放而混亂的超級生態,導致我們提交上的種種麻煩。

結語

最後感慨下,比較了那麽多。我們感受到了蘋果作為壹體化的優勢在於適配、推送、提交,而安卓的優勢在於跨平臺、以及生態多樣化。但是無論他們好壞,最苦逼的還是創業公司,無論是iOS還是安卓都得做。

  • 上一篇:跟下屬關系太好,適合使用怎樣的管理方法?
  • 下一篇:java學出來可以幹什麽啊?具體可以做什麽項目
  • copyright 2024編程學習大全網