国产日韩精品欧美一区-国产日韩高清一区二区三区-国产日韩不卡免费精品视频-国产日产欧美精品一区二区三区-午夜国产精品免费观看-午夜国产精品理论片久久影院

設為主頁  加入收藏
 
·I2S數字功放IC/內置DSP音頻算法功放芯片  ·馬達驅動IC  ·2.1聲道單芯片D類功放IC  ·內置DC/DC升壓模塊的D類功放IC  ·鋰電充電管理IC/快充IC  ·無線遙控方案  ·直流無刷電機驅動芯片
當前位置:首頁->行業資訊
Android VS iOS:孰將勝出?
文章來源: 更新時間:2011/1/20 22:02:00
在線咨詢:
給我發消息
張順平 3003262363
給我發消息
張代明 3003290139
給我發消息
鄢先輝 2850985542
13713728695
 

蘋果(Apple)的iPhone(圖1)使得觸摸界面和小型應用程序成為一種生活方式。谷歌(Google)的Android緊隨其后,在以摩托羅拉(Motorola)Droid(圖2)為代表的日益增長的智能手機中提供相似的功能和性能。現在,Android已經得到了開放手機聯盟(OHA)的支持。

 

 

《20101230_PD_EDA_OT_52》

 

蘋果的iPad(圖3)則進一步增加了取勝的把握(參見“Success Of iPad Is All About Software”)。iPad不是第一臺平板電腦,但卻是至今最成功的平板電腦(參見“With iPad Sales Soaring, Are Netbooks Dead?”)。

 

 

《20101230_PD_EDA_OT_52》

 

iPad的硬件與iPhone稍有不同(參見“Inside The Apple iPad”)。但底層軟件允許應用程序既能在iPad也能在iPhone上運行。大多數用戶從蘋果的應用商店(App Store)獲取iPad和iPhone的應用程序。

 

 

《20101230_PD_EDA_OT_52》

 

Android用戶可以從Android Marketplace獲得大部分應用程序。這些用戶幾乎無一例外地使用基于Android的智能手機,因為他們正是Android的初始目標用戶。有許多公司正準備將Android應用到包括平板電腦的其它領域。基于Android的Archos 10平板電腦就是有望沖擊市場的Android平板電腦(圖4)之一。

 

 

《20101230_PD_EDA_OT_52》

 

iPhone、iPad和Android智能手機成功的關鍵是擁有第三方提供的大量應用程序。底層操作系統、編程構架和用戶界面使得這些平臺更加容易使用。另外,高分辨率觸摸屏和低功耗、高性能多核處理平臺提供了高度交互的觸摸應用所需的響應性能。

 

一個典型的Android硬件平臺(圖5)包含有無數的接口,如果所有接口同時工作,那么連十年前的臺式機都將甘拜下風。現在,三維加速計可以跟蹤設備的動作,而照相機可以進行記錄。編程框架的雜務程序(chore)可輕松實現這種硬件的編程,如今這些編程框架已經成為標準的軟件組件。

 

 

《20101230_PD_EDA_OT_52》

觸摸編程構架

 

眾所周知,觸摸界面只是蘋果平臺和Android平臺上使用的編程構架的一部分。但它們從初始設計階段就包含在架構內,不是外加到現有構架上去的。

 

蘋果的iOS為蘋果開發人員提供了操作系統(OS)和Cocoa-Touch構架。這種構架基于Mac OS的Cocoa應用編程接口(API),并采用模型-視圖-控制器(MVC)架構。

 

SQLite是上述混合型系統的一部分,雖然系統中的Core Data存儲中心也能用來存儲信息。其它主要組件包括Core Data、Core Audio、OpenAL、Media Library和WebKit等。視頻組件則包括Core Animation、OpenGL ES和Quartz 2D。

 

默認的編程語言是Objective-C,這是一種C語言的面向對象的擴展和超集。Objective-C與許多開發人員熟悉的C++有很大的差別。Objective-C使用Smalltalk類型消息傳遞,這使得轉發消息成為可能。

 

蘋果的軟件開發套件(SDK)可以處理iPhone和iPad應用程序。它包含了許多工具,比如種用來創建應用程序用戶界面的圖形化編輯器Interface Builder。

 

Android軟件構架(圖6)運行在Linux和Dalvik Java虛擬機(JVM)之上。Dalvik源代碼通過Apache許可證獲得授權,由于改動不必像GPL(通用公共許可)那樣需要公之于眾,這種許可證更適合許多組織使用。Android應用程序由運行在Dalvik上的Java編寫。

 

 

《20101230_PD_EDA_OT_52》

 

Dalvik是一種針對移動設備而優化的JVM。對于Davlik基于寄存器的方式(圖7)是否優于基于堆棧的典型JVM一直存在很多爭論,但如果要求使用Android的話它是一個合適的平臺。

 

此外,Dalvik將一種虛擬方法應用于帶有64k 32位寄存器的寄存器文件,雖然從執行角度看可能會用到一個小型子集。Java從根本上隱藏了內部實現,不過了解其內部細節仍是一件有趣的事。

 

Dalvik采用字節代碼,但編碼機制不同于Sun的Java規范。與許多基于寄存器的物理架構一樣,Dalvik的指令編碼可以根據所用的指令提供對有限數量寄存器的訪問。

 

因此,簡短的指令可以訪問少量寄存器,但也能提供對更多寄存器的訪問,代價是更長的指令或間接訪問。理論上,映射到真實處理器的Dalvik指令要比基于堆棧的方式更加高效。

 

Sun一直存在一個區分Java是語言還是平臺的問題。像J2SE(Java 2標準版)和J2EE(J2企業版)等Java版本定義了庫的構架。在某種意義上,Android與這些版本有可比性,雖然Android改變的不僅僅是相關的庫。

 

例如,Android使用DEX文件而非JAR文件。從功能上看,兩者同樣地定義了Java類,甚至可以在兩種格式之間轉換文件。不過,兩者的差異限制了這種轉換的質量。單獨的類可以修改,但通常應用程序依賴于大量基礎庫,這使得應用程序在平臺之間的移植變得相當困難。

 

Android本質上定義了一整套應用程序可以引用的內核和標準庫。但Android設計工程師不需要從頭開始使用所有庫。事實上,標準已經為許多庫提供了基礎。

 

例如,2D圖形是自定義的,但3D圖形基于OpenGL ES 1.0規范,這使得硬件加速更容易實現。同樣,SQLite提供結構化的數據存儲。熟悉SQL的開發人員會發現Android用起來非常舒服。

 

集成的瀏覽器是基于開源WebKit引擎。另外,多媒體功能支持通用的音視頻和靜止圖像格式,如H.264、MP3、MPEG4、AAC、AMR、GIF、PNG和JPG。

 

Android擁有一套豐富的通信庫。這些庫能夠支持經常需要融合Wi-Fi、藍牙、GSM、EDGE和 3G功能的通話和網絡連接。其它庫則能夠應對數碼相機、GPS、加速計和羅盤等硬件設備需求。

 

Android是一種多任務構架。每個進程在通過一個Linux進程實現的虛擬機上運行。此外,剛開始使用Android的開發人員需要理解如何使用和創建activity、intent、service、content provider和broadcast receiver。activity描述了應用程序的可視界面。應用程序可能會提供一個以上的activity。

 

intent是一種用于激活activity的異步消息。intent還能啟動service和broadcast receiver。intent過濾器用來實現intent與特定對象的匹配。

 

大多數intent過濾器在用于定義應用程序的AndroidManifest.xml文件中聲明。與activity不同,service沒有可視界面,它在后臺運行,執行類似音頻回放等操作。

 

應用程序可能包含任意數量的broadcast receiver,這些broadcast receiver被設計用于接收像狀態變化消息之類的intent。例如,應用程序可能有一個檢測低電池電壓狀態的broadcast receiver。與service一樣,broadcast receiver沒有用戶界面(UI),但它能啟動一個activity。

 

content provider用于處理應用程序的數據存儲。content provider可能使用SQLite來實現存儲,也可能采用其它存儲機制,甚至可以通過網絡連接與遠程數據庫協作。應用程序利用content resolver對象與content provider進行交互。content resolver可以與任何content provider協作。

 

與大多數應用程序在其它平臺上(如蘋果的Mac OS和微軟的Windows等)擁有相關資源一樣,Android應用程序也擁有與應用相關的資源。這些資源可以是應用程序能夠使用的數據,如圖像甚至文本。開發工具可以對這些資源進行操作,從而能在不修改代碼的情況下進行應用程序的定制。

 

Android可以自動處理許多操作。當其它應用需要時能啟動某個應用程序。開發人員需要理解所有這些組件的工作和交互原理以便創建Android應用程序。

 

嵌入式Android

 

蘋果的解決方案包括提供硬件和軟件,這對于想要為iPad或iPhone編寫應用程序的開發人員來說不是壞事,但對于那些想要構建嵌入式連網設備的公司來說卻沒什么幫助。Android不受底層硬件的限制,這也正是Android能夠用于智能手機和平板電腦以外的領域的原因。

 

一部分挑戰在于確定Android的定位,以及在保留有用的基礎架構和外設支持的同時,能夠實現多少種不同形式。例如,GPS定位在移動設備中非常有用,但在位置固定的設備中卻用處不大。這兩種設備可以共享公共的顯示器和觸摸界面,隨著開關和按鍵移植到平板顯示器和觸摸界面上,這個問題顯得非常重要。

 

當然,嵌入式開發人員知道天下沒有免費的午餐。針對特定硬件平臺進行Android定制要比面向新硬件的典型板級支持包(BSP)復雜得多。

 

明導資訊(Mentor Graphics)和風河(Wind River)等軟件供應商可以幫助開發人員用Android開發新的硬件平臺。這方面的支持很重要,因為成功的Android支持涵蓋了硬件以及系統和應用程序開發使用的工具套件。

 

明導公司的Mentor Embedded ReadyStart平臺不僅提供系統支持,還提供了工具集和集成的軟件。除了Android服務外,明導公司還提供面向Android的Inflexion UI,這種UI有助于實現3D效果和快速UI開發。針對Eclipse的Inflexion插件能夠自動產生Android activity和構架類源代碼。

 

面向Android的ARM平臺一直非常流行,雖然這并非一種必需資源。ARM推出的Android解決方案中心(SCA)是一種中央網絡資源,它凸顯了ARM/Android社群關系。

 

MIPS科技公司也不甘落后,發布了面向MIPS平臺的Android源代碼。MIPS架構實際上與Dalvik虛擬機工作得非常融洽。借助與SysDSoft聯合開發的首個面向Android的LTE協議棧等成果,MIPS公司將Android性能發揮到了極致。MIPS還為MIPS32平臺上的Android提供對稱多處理(SMP)支持,以及圖形硬件加速知識產權(IP)。

 

其它替代技術

 

蘋果的iOS和谷歌的Android只是移動領域眾多平臺中的兩種。雖然蘋果電視是另一種采用蘋果技術的消費產品,但iOS基本上不可能用于非蘋果平臺。

 

Android有可能對基于Linux的MeeCo和微軟Windows Phone 7平臺(參見“Microsoft Starts Over With Windows Phone 7”)造成沖擊。微軟Windows Phone 7是一種智能手機平臺,但這種平臺上也能見到Android智能手機的身影。

 

微軟平臺具有一個同樣在其高端系統上使用的類似構架,包括使用.NET構架。Windows Phone 7增加了對觸摸界面的支持,但它無需創建新的顯示支持。

 

同樣,對于LINQ(語言級集成詢問)的支持等功能也是現有Windows構架的一部分。微軟的各種Windows版本同樣瞄準了智能手機和平板電腦以外的應用領域。

 

MeeGo是另一種讓人感興趣的技術,Android可能會在像機頂盒和智能電視這樣的非智能手機嵌入式應用中碰到這種技術。開源和基于Linux的MeeGo最初是針對Intel的Atom處理器開發的,但其構架更通用。由于支持Linux的平臺種類十分廣泛,MeeGo有可能在其中某些目標平臺中流行起來。MeeGo的目標應用涵蓋從上網本到車載娛樂設施甚至多媒體手機及聯網電視。

 

在所有這些平臺中,MeeGo似乎是最傳統的。它的架構中包含與Android等其它平臺上所使用的類似服務,包括通信服務、互聯網服務、可視服務、媒體服務和數據管理支持等(圖7)。

 

 

《20101230_PD_EDA_OT_52》

 

在某種意義上,MeeGo使應用程序更加接近硬件。應用程序可以用針對Linux的任何語言編寫。這些特性既是優點,同樣也是缺點。

 

MeeGo將許多補丁加入標準Linux平臺。在內核、Linux核心功能和X Windows顯示子系統等領域都有這些補丁的身影。

 

MeeGo的成果包括大量項目,如MeeGo多媒體、MeeGo藍牙、MeeGo蜂窩和MeeGo安全構架。甚至有一個能滿足開發者對工具及用途要求的MeeGo Developer Tools項目。

 

理論上,針對MeeGo的應用程序發布服務(相當于蘋果AppStore和Android Market Place的MeeGo軟件)其目標是特定的實現。MeeGo本身僅限用于x86微處理器,因此大多數用戶可能有選擇和安裝應用程序的類似用戶體驗。很多Linux OS供應商(如風河)都支持MeeGo。

 

與微軟的Windows Phone 7一樣,MeeGo對于熟練掌握Linux和Windows的開發人員來說可能會感覺更熟悉。它們的工具集是相同的,微小的差別主要與一些專門針對目標環境的庫或服務有關。讓我們期待在平板電腦上能看到它們。

 

起訴還是競爭

 

雖然蘋果公司的硬件和軟件都是自己開發的,但這也沒能使其免遭外部的合法攻擊。同樣,由于Oracle、谷歌和微軟等業界巨頭在法庭內外斗得不亦樂乎,Android仍處于動蕩的狀態。

 

Oracle非常反感谷歌的Dalvik實現,并且正在就Java提起訴訟。顯然,使用完全不同的JVM、運行時和類系統是不夠的。Android使用了Java語言,但僅限于語法和語義。

 

律師不可能平息對這些平臺的質疑。幸運的是,平臺的普及取決于功能和可用性,而不是其能否勝訴。

 

Android和iOS之爭的贏家最終是用戶。開發人員必須根據具體應用、市場以及與架構無關的大量其它問題進行選擇。

 

這兩種平臺有很大的差異,因此撰寫一個通用規范將很困難,限制因素很多,但底層構架顯然將使這樣的任務更容易實現。

 
 
 
    相關產品  
 
 
·藍牙音箱的音頻功放/升壓/充電管
·單節鋰電內置升壓音頻功放IC選型
·HT7179 12V升24V內置
·5V USB輸入、三節鋰電升壓型
·網絡主播聲卡專用耳機放大IC-H
 
M12269 HT366 ACM8629 HT338 

業務洽談:手機:13713728695(微信同號)   QQ:3003207580  EMAIL:panbo@szczkjgs.com   聯系人:潘波

地址:深圳市寶安西鄉航城大道航城創新創業園A5棟307/309

版權所有:深圳市永阜康科技有限公司  備案號:粵ICP備17113496號