Android軟件開(kāi)發(fā)的思惟與建議
AP+OS+APP主導(dǎo)產(chǎn)品開(kāi)發(fā),AP(Application Processor)應(yīng)用處理器是產(chǎn)品主板(PCBA)的靈魂,主要的功能是用來(lái)執(zhí)行操作系統(tǒng)。OS(Operating System)的重要性在于它提供應(yīng)用軟件的執(zhí)行環(huán)境,并負(fù)責(zé)驅(qū)動(dòng)主板上的所有硬件。APP(Applications)則是基本操作系統(tǒng)所撰寫(xiě)的應(yīng)用程序。
本文引用地址:http://m.butianyuan.cn/article/184499.htm操作系統(tǒng)有近二十年來(lái),不斷蓬勃發(fā)展,并采取社群模式開(kāi)發(fā)的Linux kernel。應(yīng)用程序部份,有Google提供的AOSP(Android Open Source Project)以及Android API標(biāo)準(zhǔn)。應(yīng)用程序開(kāi)發(fā)者基于標(biāo)準(zhǔn)API撰寫(xiě)各式有創(chuàng)意的應(yīng)用程序,產(chǎn)品開(kāi)發(fā)商或硬件制造商,可基于AOSP的架構(gòu)以及API標(biāo)準(zhǔn)發(fā)展產(chǎn)品。對(duì)產(chǎn)品開(kāi)發(fā)商的優(yōu)點(diǎn)是,基于AOSP架構(gòu)與API標(biāo)準(zhǔn)所發(fā)展的產(chǎn)品,可搭載「現(xiàn)有的 Android 應(yīng)用程序」。意思是,Android Market或第三方來(lái)源的各種Android應(yīng)用軟件,「很早就為我們的產(chǎn)品準(zhǔn)備好了」。
因此,AP+OS+APP的產(chǎn)品公式,可等價(jià)于AP+Android Application Framework+Developers。這讓產(chǎn)品開(kāi)發(fā)的思惟很不同,但也可以很傳統(tǒng),取決定產(chǎn)品本身的定義。以下是幾點(diǎn)「很不同」的想法,提供大家參考指教。
第一、Android Application Framework的開(kāi)發(fā)強(qiáng)調(diào)「兼容性」。這個(gè)兼容性并不是傳統(tǒng)上的「硬件兼容」或是「舊版本軟件兼容」,而是「API兼容」。如同上述所提,當(dāng)一個(gè)Android框架無(wú)法開(kāi)發(fā)到API兼容時(shí),「很可能多數(shù)的現(xiàn)成軟件都無(wú)法正常執(zhí)行」。開(kāi)發(fā)Android產(chǎn)品不是只為了硬件,而是要支持網(wǎng)絡(luò)上「現(xiàn)成的各種軟件」。消費(fèi)者可能無(wú)法接受一個(gè)API不兼容的Android產(chǎn)品。大部份的應(yīng)用開(kāi)發(fā)者都基于標(biāo)準(zhǔn)Android SDK做開(kāi)發(fā),此時(shí),API不兼容的產(chǎn)品,會(huì)讓這些應(yīng)用軟件無(wú)法執(zhí)行。因應(yīng)這個(gè)問(wèn)題,Google提出了CTS套件,希望廠商開(kāi)發(fā)的 Android 框架與產(chǎn)品都可以通過(guò)CTS(Compatible Test Suite)測(cè)試。
第二、開(kāi)發(fā)軟件是「設(shè)計(jì)導(dǎo)向思惟」。寫(xiě)程序(Coding)并不等于做軟件(Software),寫(xiě)code可以很straight forward,意思是,大家可以通往直前,不受任何限制地自由發(fā)揮,程序代碼怎么寫(xiě),很自由心證。但是做軟件就很不同了。以Android框架的開(kāi)發(fā)為例,寫(xiě)code要考慮架構(gòu),要先做設(shè)計(jì)(OOD),要驗(yàn)證設(shè)計(jì)的正確性,同時(shí)也要達(dá)到重用(Design Reuse)框架設(shè)計(jì)的要求;所以開(kāi)發(fā)Android框架,是在一套系統(tǒng)化且制式的規(guī)模下進(jìn)行,寫(xiě)code受到規(guī)范。過(guò)去硬件商寫(xiě)code是為了驅(qū)動(dòng)硬件,或驗(yàn)證硬件,現(xiàn)在要擔(dān)綱軟件開(kāi)發(fā)的工作,coding的思惟就要改變。
第三、這是開(kāi)放平臺(tái)。開(kāi)放平臺(tái)(Open Platform)與開(kāi)源軟件(Free and Open Source Software)是二個(gè)概念。開(kāi)放平臺(tái)代表開(kāi)放API給開(kāi)發(fā)者使用,或是開(kāi)放Platform Builder供制造商使用,制造商很可能無(wú)法取得內(nèi)部的實(shí)作源碼(Implementation source),取而代之的是一個(gè)configurable的環(huán)境。意思是說(shuō),AOSP版本的程序代碼很可能永遠(yuǎn)都是reference code,廠商自已的implementation也不會(huì)公開(kāi)源碼。Android里的Launcher是reference Launcher,Android里的rild也只是reference code;大部份implementation是reference implementation,不是workable或useable code。所以,不能只顧著等候AOSP的釋出,也不能渴望著取得所有的源碼。強(qiáng)化開(kāi)發(fā)能力,動(dòng)手發(fā)展AOSP成為好用的自有版本,才是務(wù)實(shí)之道。
2011年是Android揮軍平板計(jì)算機(jī)的重要一年, 要知道制造商在Android的研發(fā)儲(chǔ)備能量,這將是重要的觀察指針。
本文由 CTIMES 同意轉(zhuǎn)載,原文鏈接: http://www.ctimes.com.tw/DispCols/cn/Android/1012071145ZT.shtml
評(píng)論