日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Android: Android之父深入解析Android

系統(tǒng) 2122 0

By: 海市蜃樓

上周末去光谷書城,不經(jīng)意間看到了程序員雜志2008年合訂本,無意中看到這篇經(jīng)典的文章:Andy Rubin 獨(dú)家專訪,感受頗深,將這篇文章稍微整理了下,在這里與大家一起分享。聲明:原文章來源于程序員雜志2008年第一期,本人看到這篇文章后收獲很多,將原文稍微修改(原文比較長(zhǎng),去掉無關(guān)緊要的內(nèi)容,保留經(jīng)典部分)。

整理后的文章如下:

2007 年11 月Google 宣布Android 平臺(tái),被眾多評(píng)論者認(rèn)為是今年移動(dòng)領(lǐng)域最具影響力的事件之一。恰在12 月,Android 平臺(tái)創(chuàng)始人Andy Rubin 訪問中國,《程序員》雜志有幸成為采訪他的第一家中國媒體,本文就是Andy 與雜志總編孟巖的對(duì)話。

............

孟巖:這么說您也很喜歡iPhone?那么為什么還勞神費(fèi)力開發(fā)Android 這樣一個(gè)新的手機(jī)操作系統(tǒng)?

Andy :沒錯(cuò),iPhone 非常棒,但是它是一家公司的產(chǎn)品,它從里到外的設(shè)計(jì)都是特定的,只有一個(gè)按鈕,那么大的屏幕,特有的軟件系統(tǒng)。盡管它很棒,但是它就是蘋果的,別的制造商用不了。Android 不同,Android對(duì)所有人開放,而不只是一家廠商。你可以在摩托、三星、LG等幾十個(gè)廠商的手機(jī)上運(yùn)行Android。對(duì)于開發(fā)者來說,這一點(diǎn)意義重大,它意味著你寫的手機(jī)應(yīng)用可以無需修改地運(yùn)行在幾十個(gè)不同廠商出產(chǎn)的手機(jī)上。

孟巖:Android 手機(jī)會(huì)很貴嗎?

Andy :不會(huì)。手機(jī)硬件越來越便宜。相對(duì)來說,軟件成本才是居高不下。在整個(gè)手機(jī)的成本中,軟件所占比例越來越大。這根20多年前發(fā)生在PC領(lǐng)域中的情況一模一樣。Android是開源軟件,能夠有效降低軟件的成本,從而降低手機(jī)的整體價(jià)格。

孟巖:如何保證那些手機(jī)都能夠順利地運(yùn)行Android 的呢?各種手機(jī)的配置千差萬別,難道是像微軟那樣指定一個(gè)硬件規(guī)范,要求廠商去遵守嗎?

Andy :當(dāng)然不是。這里面可是有門道的, 我們?cè)谠O(shè)計(jì)時(shí)就努力地讓Android 變得很容易移植到不同手機(jī)設(shè)備上。Android 也許是目前最具可移植性的手機(jī)操作系統(tǒng)。給你講個(gè)實(shí)際例子吧。今年感恩節(jié)前后,我們的一個(gè)工程師打算利用假期嘗試把Android 移植到一款諾基亞手機(jī)上。這是一款與我們的參考設(shè)備完全不同的手機(jī),屏幕尺寸、按鈕、無線設(shè)備統(tǒng)統(tǒng)不同。你猜猜他用了多長(zhǎng)時(shí)間完成這一工作?

孟巖:少說也得一個(gè)星期吧?

Andy :只用了三個(gè)多小時(shí),通共改動(dòng)了4行C語言源代碼。

孟巖:太令人震驚了!

Andy:可不是嗎,連我也感到震驚。我想這就是開放平臺(tái)的威力。

孟巖:您提到開放,一個(gè)開放的手機(jī)軟件平臺(tái)對(duì)于手機(jī)制造商來說有什么意義呢?

Andy :目前手機(jī)操作系統(tǒng)大約占手機(jī)成本的20%,而在此之上,手機(jī)制造商還必須自己集成若干重要應(yīng)用軟件,如瀏覽器、短信、圖片顯示軟件等等,這給他們帶來了不小的負(fù)擔(dān)。Android 提供了一個(gè)從操作系統(tǒng)到應(yīng)用程序的完整軟件棧,同時(shí)又允許人們定制差異化,以形成自己競(jìng)爭(zhēng)優(yōu)勢(shì),對(duì)于手機(jī)制造商來說,其意義不言而喻。開放帶來的另一個(gè)好處是允許廠商自主解決問題,當(dāng)你發(fā)現(xiàn)Android系統(tǒng)中有bug或者不符合你要求的地方,不必等上18個(gè)月,而是可以直接解決。

................

孟巖:如果Android 取得成功的話,Google 和你本人肯定無意成為手機(jī)軟件領(lǐng)域的統(tǒng)治者嗎?

Andy :當(dāng)然不會(huì)。開放本身就意味著沒有人統(tǒng)治一切。況且如今已經(jīng)有三十多家公司加入Android聯(lián)盟,實(shí)際上Android 不是Google 一家的,任何人都可以擁有Android。相信我,沒有人能成為Android世界的壟斷者。

孟巖:如果是這樣的話? Google又能得到什么好處?

Andy :你還記得我剛才說過的,今天的手機(jī)軟件產(chǎn)業(yè)與20 多年前的PC軟件產(chǎn)業(yè)如出一轍。因此我們要注意,如果只有一家公司來提供手機(jī)基礎(chǔ)軟件的話,那么毫無疑問就會(huì)再次產(chǎn)生一個(gè)巨無霸的壟斷者。今天世界上大約 12 億PC用戶,可是手機(jī)用戶有30 億之多!這意味著,手機(jī)一定會(huì)成為人們獲取信息的主要設(shè)備。如果有一家公司壟斷了手機(jī)軟件市場(chǎng),它就可以決定人們可以看或不可以看什么樣的信息,這是很嚴(yán)重的問題, 也是Google 不愿意看到的。我們開發(fā)Android 并且將其開放, 就是要防止這種情況發(fā)生,讓每個(gè)人都可以平等自由地訪問信息。只要用戶能夠自由獲取信息,Google 就可以找到自己的業(yè)務(wù)模式。

孟巖: 好吧,那么告訴我, 你為什么要把這個(gè)系統(tǒng)命名為Android ?

Andy :Android 其實(shí)是我于2005年1 月創(chuàng)辦的手機(jī)操作系統(tǒng)軟件公司的名字,半年后這家公司被Google收購了,不過我們的產(chǎn)品名字繼續(xù)稱為Android。至于其來歷嘛,我創(chuàng)辦的上一家公司叫做Danger(危險(xiǎn)),你說如果上一家公司叫“危險(xiǎn)”的話,下一家公司該叫什么名字?總不能叫“完蛋”吧?我是說,高科技公司取名字盡可以有趣一些,既然Linus Torvalds把自己寫的操作系統(tǒng)稱為L(zhǎng)inux,那么我的名字是Andrew,把這家公司叫做Android有何不可呢?再加上我本身是個(gè)機(jī)器人迷,所以Android 這個(gè)名字還是不錯(cuò)的。事實(shí)上, 在Android 之前,我們能已經(jīng)做出來一款手機(jī),叫做T-Mobile Sidekick。這款產(chǎn)品很成功,好萊塢的很多明星都用它。但是我覺得畢竟它能夠觸及到的人群還是有限,所以決定做一個(gè)手機(jī)操作系統(tǒng),能夠運(yùn)行在各種手機(jī)設(shè)備上。

孟巖:Android 由Linux+Java 構(gòu)成。手機(jī)操作系統(tǒng)用Linux 我能理解, 用Java 也是情理之中。可是Android 不是把現(xiàn)有的成熟的Java 拿來直接用,而是從頭開始重新實(shí)現(xiàn)了一個(gè)Java,從虛擬機(jī)到相當(dāng)多的Java 類庫。這不是重新發(fā)明輪子嗎?有這個(gè)必要嗎?

Andy :對(duì)我來說,“Java”這個(gè)詞意味著四種東西:一種編程語言,一種虛擬機(jī),一個(gè)類庫,和一個(gè)應(yīng)用程序框架。我們的確重新開發(fā)了虛擬機(jī),這是因?yàn)橐朔F(xiàn)有手機(jī)JVM的一些固有缺陷,比如啟動(dòng)時(shí)間過長(zhǎng),功能受限。你知道,Java ME為了保證“一次開發(fā),到處運(yùn)行”,就不得不遷就那些配置非常低端的手機(jī)設(shè)備,結(jié)果導(dǎo)致其功能十分有限。而你看看iPhone之所以這么酷,就是因?yàn)樗耆豢紤]要去兼容什么過時(shí)的設(shè)備,iPhone的配置完全不亞于一臺(tái)五年前的PC。我們?cè)谠O(shè)計(jì)之初就決定,甩掉不必要的歷史包袱,對(duì)Android的硬件配置作出一定的要求,從而使得我們可以在比較高的水平上重新設(shè)計(jì)和優(yōu)化JVM。此外,我們的確完全重新開發(fā)了一個(gè)應(yīng)用程序框架,稱之為Android應(yīng)用框架。這是因?yàn)槲覀儗?duì)于如何組織手機(jī)應(yīng)用程序有全新的、特別的想法,現(xiàn)有的Java ME完全不能滿足我們的需要,所以重新開發(fā)一個(gè),這并沒有什么大不了的。

孟巖:什么全新的、特別孟巖:什么全新的、特別的想法,能透露一下嗎?

Andy :我們希望支持手機(jī)應(yīng)用程序的mash-up。“Mash-up”這個(gè)詞是從Web 2.0 里偷過來的,你應(yīng)該知道什么是Web 2.0 mash-up 吧?

孟巖:這我當(dāng)然知道。比如我從一個(gè)網(wǎng)頁上抓下一塊XHTML 數(shù)據(jù),再從另一個(gè)Web Services 那里獲得一些XML 數(shù)據(jù),我就可以把這兩塊數(shù)據(jù)mash-up 起來,形成新的XML 數(shù)據(jù),并且這一數(shù)據(jù)可以在此被別人mash-up。不過Web 2.0 中的mash-up 是基于XML數(shù)據(jù)的,難道Android 中的mash-up 也需要借助XML 來完成嗎?

Andy :好問題。在傳統(tǒng)的手機(jī)開發(fā)中,應(yīng)用程序要么調(diào)用操作系統(tǒng)服務(wù),要么通過程序庫獲得較高級(jí)的服務(wù)。如果操作系統(tǒng)和程序庫都沒有提供某項(xiàng)功能,應(yīng)用程序開發(fā)者只好自己實(shí)現(xiàn)。在Web上,一個(gè)Web應(yīng)用不僅可以使用本機(jī)上由操作系統(tǒng)提供的服務(wù),還可以以你剛才所說的方式使用其他Web 應(yīng)用所提供的服務(wù)。這樣一來,Web 應(yīng)用程序不僅可以依賴操作系統(tǒng)服務(wù),而且可以彼此相互提供服務(wù)。這就是我們想在Android中達(dá)成的目標(biāo),也是為什么我們要重新開發(fā)一個(gè)應(yīng)用框架的根本原因。

孟巖:這個(gè)想法是怎么來的?

Andy :你知道Google是一家互聯(lián)網(wǎng)公司,并且擁有很多世界上最聰明的軟件工程師,像mash-up 這樣的想法就長(zhǎng)在Google的DNA里,所以把這種思想帶入手機(jī)平臺(tái)很自然。

孟巖:能詳細(xì)的講講Android 如何實(shí)現(xiàn)mash-up 嗎?

Andy :Android 的mash-up 中有兩個(gè)關(guān)鍵概念,一個(gè)稱為Activity,一個(gè)稱為Intent。Activity 可以完成某些工作,而Intent 可以表達(dá)“要做某事”,一個(gè)Activity可以滿足若干Intents。我舉一個(gè)例子好了,比如我在寫一個(gè)email,打算附加一個(gè)圖片附件,需要選擇圖片。我會(huì)廣播一個(gè)Intent,說:“我要選擇圖片,你們誰能選擇圖片?”。那么設(shè)備中的Android 應(yīng)用和外部的服務(wù),如Flickr 和Picasa 都可以舉手響應(yīng)說:“我行!”然后用戶就可以選擇其中最合適的那個(gè)來選擇圖片。

孟巖:聽起來很像GUI 框架中的Signal/Slot ?

Andy :我覺得更好的類比是微軟的COM體系。Android 可以把設(shè)備內(nèi)和互聯(lián)網(wǎng)上的服務(wù)都以上述的方式mash-up 起來。這一能力實(shí)在非凡。它使得開發(fā)者能夠在一個(gè)非常高的層次上快速開發(fā)高質(zhì)量的應(yīng)用。

孟巖:這對(duì)于開發(fā)者確實(shí)有很大的吸引力。

Andy :當(dāng)然。對(duì)于開發(fā)者而言,Android 是一個(gè)非常有特色的先進(jìn)的平臺(tái),能夠放大開發(fā)者的能力和效率。同時(shí),Android 的開發(fā)語言和環(huán)境都是開發(fā)者所熟悉的。Java 語言是世界上最流行的語言,而在開發(fā)環(huán)境方面,我們選擇了大家熟悉的Eclipse和IntelliJ。所有的軟件、工具和模擬器都是免費(fèi)的,整個(gè)系統(tǒng)稍后還會(huì)完全開源,開發(fā)者無需做任何痛苦的轉(zhuǎn)型,就可以為Android 開發(fā)應(yīng)用。

............

讀后感

看了以上Android之父對(duì)每個(gè)問題的解析,我們這些Android應(yīng)用程序開發(fā)人員大腦中的很多疑惑,是不是都消失了?每個(gè)Android開發(fā)人員都能從這篇文章中受到很大的啟發(fā),如果想看原文請(qǐng)到程序員雜志的官網(wǎng)站去下載。在后面的篇幅中我們會(huì)抽空,繼續(xù)與大家分享 Android方面的一些經(jīng)典的文章。

Android: Android之父深入解析Android


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 开原市| 乌苏市| 二手房| 扶沟县| 浦北县| 桐梓县| 香港 | 江山市| 尤溪县| 石城县| 郯城县| 临泉县| 闸北区| 湟中县| 醴陵市| 镇江市| 遵义市| 东丽区| 石门县| 怀安县| 万安县| 陆丰市| 邢台市| 商城县| 聂荣县| 海伦市| 万安县| 永州市| 曲阜市| 元阳县| 收藏| 佛冈县| 资兴市| 东平县| 家居| 栖霞市| 西华县| 花莲市| 财经| 化州市| 光山县|