
課程名稱 | 報名截止 | 報名人數 |
高中起點學習班 | 即將開班 | 熱招中 |
企業委培訂制班 | 即將開班 | 熱招中 |
私人名師輔導班 | 即將開班 | 熱招中 |
待業速找工作班 | 即將開班 | 熱招中 |
Android應用絕大部分都是使用JAVA開發,跑在Dalvik 虛擬機上(*小部分使用NDK)。 Google在底層也修改了很多東西。Android算是*個全新的操作系統. 所以:
1、Android使用JAVA,上手容易很多,如果有很好的JAVA Lib加持,開發效率會高些
2、iOS沒有虛擬機,性能要好*些,當然這個差別會隨著Google的改進越來越小
3、iOS的開發框架基本上和MAC上通用,同樣的知識,可以開發手機,也可以開發MAC應用,Android沒有這樣的優點
iOS和設備緊密集成。軟硬件*家公司通吃。但是Android無法做到, 通常的情況是:Google放出源代碼。 芯片廠商需要1-3個月來做自己的芯片方案, 手機廠商從芯片廠商處買到方案和代碼, 進行自己的集成,定制工作,有時候還需要針對運營商進行定制。 所以:
1、iOS的設備集成度和驅動優化都是*好的。電源管理*塊就可見*斑,而Android廠商就魚龍混雜?赡芘蓬^的廠商的旗艦機器會好些,但是由于Android工期*般都比iOS設備短(請看HTC和三星出機器的速度),所以整體上和iOS比是有差距的。
2、Android天然存在升級周期延遲的問題, 而且廠商做升級是也是有成本的。賣手機的廠商無法顧及整個生態鏈,目前這個無解,除非Google做點什么。
3、由于有多家廠商自己做定制,Android還存在設備的分裂問題(fragmentation), 作為過來人,我告訴你這個是很頭痛的事情, 且不論調試時間和人力, 光買*大堆設備的成本就不小。*關鍵的是它會傷美工/UE的心。
iOS是被Apple嚴格控制的系統。 在大部分情況下, 第三方應用是無法拿到所有API的。 這意味系統級別的很多功能只有Apple能做(比如打電話,攔截短信)。此外*些涉及用戶隱私的API還會導致系統彈出對話框詢問用戶。 同樣第三方runtime做應用開發也是基本不可行的(Flash當初也是被這個條款拒過)。 反過來Android完全不*樣,*先Android是開源的,在設計上Android就允許自由替換系統組件, Android也沒有強制限制API的情況,(hidden API也可以call,沒有人會找你麻煩)。 系統級別的權限是下放到廠商手中,如果廠商愿意給,那第三方開發者就可以做任何事情。 普通應用的權限認證也是在安裝的時候就*次性授權完成。 之后不會騷擾用戶。所以:
1、Android平臺可以做的事情遠遠比iOS多, 你可以做電話管理,地址簿,短信管理,可以自己跑后臺service。 替換掉系統的組件非常容易
2、Android平臺也可以跑其他系統的Runtime, 比如Flash, 有了NDK, 你要自己接入*個虛擬機也是可能的。Google不會管你
3、任何人可以拿Android自己改個獨立的系統出來,也許這樣做的意義和前景有問題,但是同樣,沒有人限制你
iOS上唯*的下載應用途徑就是Appstore,開發者做應用上線還要通過Apple審核,就算通過了,如果掛羊頭賣狗肉亂來或者調用了不該用的API, Apple*樣隨時可以下架。管理非常嚴格。反過來Android上非常松懈:
1、廠商可以內置應用。經常會扔*些莫名其妙的軟件預裝在手機上, 筆者在廠商的時候深刻體會到亂選軟件是很好玩的事情。而且我們不會讓你刪除掉的。
2、Google的官方菜市場不做應用審核,開發者上傳軟件很隨意,這是個自由市場。
3、國內還存在大量第三方軟件菜市場。以及豌豆夾類似的PC端管理軟件。
如果用戶選擇允許“未知來源”,那么通過web下載或者安裝卡上的軟件也是可以的。似乎國內用戶都是允許的。所以:
1、iOS上的精品軟件多,競爭激烈但管理有序,開發者也容易掙錢。
2、Android上雖然也有精品軟件,但是垃圾軟件更多, 甚至有惡意軟件。 因為無門檻,基本上軟件都是免費,賣不起錢, 大部分都靠廣告。
3、Android還有*堆殺毒軟件,這是典型的“沒有困難,制造困難也要上”的精神。
4、Android上還有*堆安慰劑軟件,比如能幫你省電的或者是幫你殺后臺進程的來提升性能的, 筆者作為做過底層開發的人,笑而不語。
寫了這么多分析, 結論呢? 事實上你是什么樣的角色,決定了用誰更好。
1、如果你是普通用戶,請關貼, 本文不是用來給普通用戶選機的。
2、如果你是*個個人軟件開發者, iOS適合你, 市場規范, 做應用省心。
3、如果你是*個軟件和服務的創業公司, iOS也是適合你做demo的和第個產品的, 產品靠譜了,用戶在用了,有人給錢了,再往Android走也是可行的。 除非你做的應用要涉及硬件或者需要非常高的系統權限, 如果是那樣你也只有選擇Android。因為國內的廠商肯定要比蘋果要容易談下來。
4、如果你是*個要做硬件和系統定制的公司, 那么基本上你只有Android可以選。Android的解決方案的成本也在不斷下降。
5、如果你是*個有中國特色的公司,想搞點移動業務玩玩, 還要瞞著用戶做很多事情。 那么Android也是更好的, 就算你不作惡, 控制權在自己手中也會方便運作*點。