Android軟件開(kāi)發(fā)的思惟與建議
AP+OS+APP主導產(chǎn)品開(kāi)發(fā),AP(Application Processor)應用處理器是產(chǎn)品主板(PCBA)的靈魂,主要的功能是用來(lái)執行操作系統。OS(Operating System)的重要性在于它提供應用軟件的執行環(huán)境,并負責驅動(dòng)主板上的所有硬件。APP(Applications)則是基本操作系統所撰寫(xiě)的應用程序。
本文引用地址:http://dyxdggzs.com/article/184499.htm操作系統有近二十年來(lái),不斷蓬勃發(fā)展,并采取社群模式開(kāi)發(fā)的Linux kernel。應用程序部份,有Google提供的AOSP(Android Open Source Project)以及Android API標準。應用程序開(kāi)發(fā)者基于標準API撰寫(xiě)各式有創(chuàng )意的應用程序,產(chǎn)品開(kāi)發(fā)商或硬件制造商,可基于AOSP的架構以及API標準發(fā)展產(chǎn)品。對產(chǎn)品開(kāi)發(fā)商的優(yōu)點(diǎn)是,基于AOSP架構與API標準所發(fā)展的產(chǎn)品,可搭載「現有的 Android 應用程序」。意思是,Android Market或第三方來(lái)源的各種Android應用軟件,「很早就為我們的產(chǎn)品準備好了」。
因此,AP+OS+APP的產(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
評論