Google Android會使Java領域支離破碎?
相反,谷歌試圖獨立提高開放手機聯盟 (Open Handset Alliance)的手機中使用的軟件的性能和開放性.這意味著,程序設計員們將有一個新的Java技術可以用來編程,谷歌周一宣布了一項價值一千萬美元的Android應用軟件開發大賽以吸引開發精英參與.
一個顯著不同是谷歌自己開發的Java虛擬機內核技術 (JVM),稱為Dalvik,該Java虛擬機在Android手機上執行Java程序.谷歌表示,即使在手機的限制性硬件上,Dalvik也能使 Java程序運行得很快.與我們通常使用的Java虛擬機的一個顯著的區別就是, Android并不屬于Sun公司在1999年成立的Java標準制定組織(Java Community Process, 簡稱JCP)的一部分.
JCP負責處理和審批各種Java技術和技術規范,將新的Java特點系統化為應用程序編程接口(API),所以程序員可以有一個標準的方式調用新的技術,比如藍牙技術或三維圖形.但現有的Java的技術不能滿足谷歌公司認為對于Android平臺很重要的開放性要求.
致力于 Android平臺開發的谷歌高級工程師Mike Cleron 說:“我們希望該平臺以多種不同的方式開放.我們的想法是,誰都可以在已有的Android軟件上,甚至及其細微的層面上進行二次開發和替換.現有的 Java APIs并沒有達到我們希望在Android上達到的開放性要求.”
應該指出的是,谷歌并不是在一個完全沒有Java的環境下工作.舉例來說,其中的一個OHA(開放手機聯盟)合作伙伴,摩托羅拉,已經幫助引領基于Java的移動設備開發,谷歌想要保留開發人員熟悉的 Java編程經驗.谷歌是JCP(Java標準制定組織)執行委員會的成員之一,但只是負責監管運行在個人電腦和服務器上的標準版和企業版Java,而不是手機和其它設備的移動版Java.
Android平臺工程總監Steve Horowitz 說:“我們團隊里有專人活躍在Java社區,他們一直在幫助告訴并指導我們,這保證我們做的是工作是Java社區的開發人員所熟悉的.”
進一步支離破碎嗎?
但更大的問題是谷歌的努力是否會惡化本已已經支離破碎地的Java領域.并非所有的手機都支持Java標準,所以程序員不能肯定的是他們開發的軟件是否將可以運行在多種設備上,就像Java承諾的那樣:編寫一次,隨處使用.
Trolltech 公司的首席技術顧問Benoit Schillings對我的朋友Maggie Reardon說:“他們(谷歌)使用Java,但他們卻沒有開發出任何著名的Java框架.他們真正創造的是另一種Java標準.這帶來的風險是有可能使Java 市場更加支離破碎.” Trolltech 公司主要向既開個人發電腦又開發手機程序的程序員銷售軟件工具和程序組件.
移動電話視頻流公司Movidity的首席執行官Mauro Lollo 以同樣的觀點看待谷歌所作的工作,他說:“從本質上講,他們(谷歌)創造了另一種Java標準.這個標準毫無疑問是偉大,但面臨的挑戰是目前的已有的Java標準太多了,”
谷歌還面臨著共同的風險,即開放源代碼軟件開,軟件開放性將意味著程序員可以按照不同并且不兼容的方向開發項目.(事實上,這是Sun最初抵制將 Java做成開源軟件的一個原因.)Schillings 說:“最后,可能有20種不同版本互不兼容的Android技術.因為任何人都可以拿到許可并修改它,創造出另一個版本的Android,” 就其本身而言,Sun支持將Java技術和開放源碼軟件應用于移動設備上,但關于加入谷歌的開放手機聯盟(OHA),Sun采取了謹慎的態度,其軟件部執行副總裁Rich Green表示:“我們有興趣加入到谷歌的聯盟中來,但首先我們要弄清楚這個組織的需要承擔的責任.”
在問到是否存在Android同Java標準制定組織(Java Community Process)合并的可能性時,Horowitz說:“OHA是一個開放的聯盟,我們歡迎任何想加入我們的人,”
Android的優勢
姑且不談技術政治,谷歌很明顯對Android寄予厚望.并且希望外界能成為該發展計劃的一部分.
谷歌在Android手機上市前一年就已經發布了Android的SDK,與此形成鮮明對比的是蘋果公司,后者計劃在2月份,也就是iPhone上市后半年才為iPhone發布一個軟件開發開發包.
對此,Horowitz 說:“我們正努力盡早提供Android的SDK,這使得我們得到問題反饋的時候仍然有時間對軟件進行修改.人們往往直到產品發布的時候才公布SDK,但是這次我們認為Android平臺如此的重要以致于我們很早就發布了SDK.”
當然,盡早發布SDK還有另一個好處:開放源代碼社區可以幫助開發基于Android的更有趣的手機應用軟件,這使得Android電話不僅僅只有一些基本的功能.
Horowitz表示,到目前為止效果很好,并指出在同列在谷歌的開源項目網站code.google.com上的其它項目相比,人們對Android表示出來的興趣是'空前絕后'的.Horowitz 補充說:“這比谷歌迄今為止經歷過的任何事情都令人激動.“
有關該Android SDK的一些細節:
◆該SDK中提到支持移動電話網絡的首要技術---GSM移動電話網絡,但對于是否支持其頭號競爭對手,高通公司的CDMA網絡,SDK中并沒有明確說明.對此,Horowitz表示,Android會支持CDMA網絡的,CDMA聯盟比如高通公司也是OHA的成員. Horowitz說:“很顯然,有些事情我們還在運作中,但目前我們不會談論對CDMA的具體的支持.”
◆OHA支持觸控屏技術,Horowitz除了表示第一版Android SDK.不會支持多重觸控技術之外,拒絕對Android SDK支持多重觸控技術發表任何其它評論,多重觸控技術是iPhone的一個引人注目的功能,它使用戶界面更加友好.
◆一旦程序開發人員開始反饋Android SDK的信息后,谷歌根據這些反饋信息,不久就會發布一個新版本的Android SDK.Horowitz說:“我們向開發人員承諾一個定期發布周期.”
◆開發的軟件應該能在中等手機硬件上運行速度很快,比如那些具有200MHz ARM 9處理器的手機.Horowitz 說:“該工程的一個主要目標是確保我們的軟件能夠在運行絕大多數的手機上,不需要手機具有高端的處理器,當然,在高性能處理器上運行時,將會給你帶來更加刺激的體驗.”
◆目前,該SDK只能應用于開發運行在基于Java的軟件,而不是基于硬件本身.Horowitz說:“我們也意識到了人們對本地應用開發的興趣,對此我們目前不發表任何評論,”但是,效率應該不是問題,“我們系統的設計原則就是在性能要求嚴格的領域充分利用本地代碼, 并且通過我們的框架 API函數也體現了上述設計原則.” 藍牙技術相關文章:藍牙技術原理
評論