設為主頁(yè)  加入收藏
 
·I2S數字功放IC/內置DSP音頻算法功放芯片  ·馬達驅動(dòng)IC  ·2.1聲道單芯片D類(lèi)功放IC  ·內置DC/DC升壓模塊的D類(lèi)功放IC  ·鋰電充電管理IC/快充IC  ·無(wú)線(xiàn)遙控方案  ·直流無(wú)刷電機驅動(dòng)芯片
當前位置:首頁(yè)->行業(yè)資訊
Android VS iOS:孰將勝出?
文章來(lái)源: 更新時(shí)間:2011/1/20 22:02:00
在線(xiàn)咨詢(xún):
給我發(fā)消息
張代明 3003290139
給我發(fā)消息
小鄢 2850985542
給我發(fā)消息
李湘寧 2850985550
13713728695
 

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

 

 

《20101230_PD_EDA_OT_52》

 

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

 

 

《20101230_PD_EDA_OT_52》

 

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

 

 

《20101230_PD_EDA_OT_52》

 

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

 

 

《20101230_PD_EDA_OT_52》

 

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

 

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

 

 

《20101230_PD_EDA_OT_52》

觸摸編程構架

 

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

 

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

 

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

 

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

 

蘋(píng)果的軟件開(kāi)發(fā)套件(SDK)可以處理iPhone和iPad應用程序。它包含了許多工具,比如種用來(lái)創(chuàng )建應用程序用戶(hù)界面的圖形化編輯器Interface Builder。

 

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

 

 

《20101230_PD_EDA_OT_52》

 

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

 

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

 

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

 

因此,簡(jiǎn)短的指令可以訪(fǎng)問(wèn)少量寄存器,但也能提供對更多寄存器的訪(fǎng)問(wèn),代價(jià)是更長(cháng)的指令或間接訪(fǎng)問(wèn)。理論上,映射到真實(shí)處理器的Dalvik指令要比基于堆棧的方式更加高效。

 

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

 

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

 

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

 

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

 

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

 

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

 

Android是一種多任務(wù)構架。每個(gè)進(jìn)程在通過(guò)一個(gè)Linux進(jìn)程實(shí)現的虛擬機上運行。此外,剛開(kāi)始使用Android的開(kāi)發(fā)人員需要理解如何使用和創(chuàng )建activity、intent、service、content provider和broadcast receiver。activity描述了應用程序的可視界面。應用程序可能會(huì )提供一個(gè)以上的activity。

 

intent是一種用于激活activity的異步消息。intent還能啟動(dòng)service和broadcast receiver。intent過(guò)濾器用來(lái)實(shí)現intent與特定對象的匹配。

 

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

 

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

 

content provider用于處理應用程序的數據存儲。content provider可能使用SQLite來(lái)實(shí)現存儲,也可能采用其它存儲機制,甚至可以通過(guò)網(wǎng)絡(luò )連接與遠程數據庫協(xié)作。應用程序利用content resolver對象與content provider進(jìn)行交互。content resolver可以與任何content provider協(xié)作。

 

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

 

Android可以自動(dòng)處理許多操作。當其它應用需要時(shí)能啟動(dòng)某個(gè)應用程序。開(kāi)發(fā)人員需要理解所有這些組件的工作和交互原理以便創(chuàng )建Android應用程序。

 

嵌入式Android

 

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

 

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

 

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

 

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

 

明導公司的Mentor Embedded ReadyStart平臺不僅提供系統支持,還提供了工具集和集成的軟件。除了Android服務(wù)外,明導公司還提供面向Android的Inflexion UI,這種UI有助于實(shí)現3D效果和快速UI開(kāi)發(fā)。針對Eclipse的Inflexion插件能夠自動(dòng)產(chǎn)生Android activity和構架類(lèi)源代碼。

 

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

 

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

 

其它替代技術(shù)

 

蘋(píng)果的iOS和谷歌的Android只是移動(dòng)領(lǐng)域眾多平臺中的兩種。雖然蘋(píng)果電視是另一種采用蘋(píng)果技術(shù)的消費產(chǎn)品,但iOS基本上不可能用于非蘋(píng)果平臺。

 

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

 

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

 

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

 

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

 

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

 

 

《20101230_PD_EDA_OT_52》

 

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

 

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

 

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

 

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

 

與微軟的Windows Phone 7一樣,MeeGo對于熟練掌握Linux和Windows的開(kāi)發(fā)人員來(lái)說(shuō)可能會(huì )感覺(jué)更熟悉。它們的工具集是相同的,微小的差別主要與一些專(zhuān)門(mén)針對目標環(huán)境的庫或服務(wù)有關(guān)。讓我們期待在平板電腦上能看到它們。

 

起訴還是競爭

 

雖然蘋(píng)果公司的硬件和軟件都是自己開(kāi)發(fā)的,但這也沒(méi)能使其免遭外部的合法攻擊。同樣,由于Oracle、谷歌和微軟等業(yè)界巨頭在法庭內外斗得不亦樂(lè )乎,Android仍處于動(dòng)蕩的狀態(tài)。

 

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

 

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

 

Android和iOS之爭的贏(yíng)家最終是用戶(hù)。開(kāi)發(fā)人員必須根據具體應用、市場(chǎng)以及與架構無(wú)關(guān)的大量其它問(wèn)題進(jìn)行選擇。

 

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

 
 
 
    相關(guān)產(chǎn)品  
 
 
·藍牙音箱的音頻功放/升壓/充電管
·單節鋰電內置升壓音頻功放IC選型
·HT7179 12V升24V內置
·5V USB輸入、三節鋰電升壓型
·網(wǎng)絡(luò )主播聲卡專(zhuān)用耳機放大IC-H
 
M12269 河北發(fā)電機組 HT366 ACM8629 HT338 

業(yè)務(wù)洽談:手機:13713728695(微信同號)   QQ:3003207580  EMAIL:panbo@szczkjgs.com   聯(lián)系人:潘波

地址:深圳市寶安西鄉航城大道航城創(chuàng )新創(chuàng )業(yè)園A5棟307/309

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

在线亚洲人成电影_中文有码国产精品欧美激情_免费大片一级a一级久久三_av天堂东京热无码专区