<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > CTIMES/產(chǎn)業(yè)評析 > Android軟件開(kāi)發(fā)的思惟與建議

Android軟件開(kāi)發(fā)的思惟與建議

作者:陳俊宏 時(shí)間:2010-12-07 來(lái)源:CTIMES 收藏

AP+OS+主導產(chǎn)品開(kāi)發(fā),AP(Application Processor)應用處理器是產(chǎn)品主板(PCBA)的靈魂,主要的功能是用來(lái)執行操作系統。OS(Operating System)的重要性在于它提供應用軟件的執行環(huán)境,并負責驅動(dòng)主板上的所有硬件。(Applications)則是基本操作系統所撰寫(xiě)的應用程序。

本文引用地址:http://dyxdggzs.com/article/184499.htm

操作系統有近二十年來(lái),不斷蓬勃發(fā)展,并采取社群模式開(kāi)發(fā)的Linux kernel。應用程序部份,有Google提供的 Open Source Project)以及 API標準。應用程序開(kāi)發(fā)者基于標準API撰寫(xiě)各式有創(chuàng )意的應用程序,產(chǎn)品開(kāi)發(fā)商或硬件制造商,可基于的架構以及API標準發(fā)展產(chǎn)品。對產(chǎn)品開(kāi)發(fā)商的優(yōu)點(diǎn)是,基于架構與API標準所發(fā)展的產(chǎn)品,可搭載「現有的 應用程序」。意思是,Android Market或第三方來(lái)源的各種Android應用軟件,「很早就為我們的產(chǎn)品準備好了」。

因此,AP+OS+的產(chǎn)品公式,可等價(jià)于A(yíng)P+Android Application Framework+Developers。這讓產(chǎn)品開(kāi)發(fā)的思惟很不同,但也可以很傳統,取決定產(chǎn)品本身的定義。以下是幾點(diǎn)「很不同」的想法,提供大家參考指教。

第一、Android Application Framework的開(kāi)發(fā)強調「兼容性」。這個(gè)兼容性并不是傳統上的「硬件兼容」或是「舊版本軟件兼容」,而是「API兼容」。如同上述所提,當一個(gè)Android框架無(wú)法開(kāi)發(fā)到API兼容時(shí),「很可能多數的現成軟件都無(wú)法正常執行」。開(kāi)發(fā)Android產(chǎn)品不是只為了硬件,而是要支持網(wǎng)絡(luò )上「現成的各種軟件」。消費者可能無(wú)法接受一個(gè)API不兼容的Android產(chǎn)品。大部份的應用開(kāi)發(fā)者都基于標準Android SDK做開(kāi)發(fā),此時(shí),API不兼容的產(chǎn)品,會(huì )讓這些應用軟件無(wú)法執行。因應這個(gè)問(wèn)題,Google提出了CTS套件,希望廠(chǎng)商開(kāi)發(fā)的 Android 框架與產(chǎn)品都可以通過(guò)CTS(Compatible Test Suite)測試。

第二、開(kāi)發(fā)軟件是「設計導向思惟」。寫(xiě)程序(Coding)并不等于做軟件(Software),寫(xiě)code可以很straight forward,意思是,大家可以通往直前,不受任何限制地自由發(fā)揮,程序代碼怎么寫(xiě),很自由心證。但是做軟件就很不同了。以Android框架的開(kāi)發(fā)為例,寫(xiě)code要考慮架構,要先做設計(OOD),要驗證設計的正確性,同時(shí)也要達到重用(Design Reuse)框架設計的要求;所以開(kāi)發(fā)Android框架,是在一套系統化且制式的規模下進(jìn)行,寫(xiě)code受到規范。過(guò)去硬件商寫(xiě)code是為了驅動(dòng)硬件,或驗證硬件,現在要擔綱軟件開(kāi)發(fā)的工作,coding的思惟就要改變。

第三、這是開(kāi)放平臺。開(kāi)放平臺(Open Platform)與開(kāi)源軟件(Free and Open Source Software)是二個(gè)概念。開(kāi)放平臺代表開(kāi)放API給開(kāi)發(fā)者使用,或是開(kāi)放Platform Builder供制造商使用,制造商很可能無(wú)法取得內部的實(shí)作源碼(Implementation source),取而代之的是一個(gè)configurable的環(huán)境。意思是說(shuō),AOSP版本的程序代碼很可能永遠都是reference code,廠(chǎng)商自已的implementation也不會(huì )公開(kāi)源碼。Android里的Launcher是reference Launcher,Android里的rild也只是reference code;大部份implementation是reference implementation,不是workable或useable code。所以,不能只顧著(zhù)等候AOSP的釋出,也不能渴望著(zhù)取得所有的源碼。強化開(kāi)發(fā)能力,動(dòng)手發(fā)展AOSP成為好用的自有版本,才是務(wù)實(shí)之道。

2011年是Android揮軍平板計算機的重要一年, 要知道制造商在A(yíng)ndroid的研發(fā)儲備能量,這將是重要的觀(guān)察指針。

本文由 CTIMES 同意轉載,原文鏈接: http://www.ctimes.com.tw/DispCols/cn/Android/1012071145ZT.shtml



關(guān)鍵詞: Android APP AOSP

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>