最近Google宣布成立了一個(gè)由三十多家
手機(jī)生產(chǎn)商、移動(dòng)運(yùn)營商(其中包括
中國移動(dòng))和
其他科技公司組成的“開放手機(jī)聯(lián)盟”,并于上周
發(fā)布了
Android,一個(gè)為開發(fā)者設(shè)計(jì)的開放
軟件平臺(tái),由
操作系統(tǒng)、類庫、
應(yīng)用程序框架和應(yīng)用軟件組成的全面整合的移動(dòng)“軟件棧”。然而Android并沒有真正采用“純正Java”路線,這又將
Sun推到了一個(gè)比較尷尬的境地。
開放手機(jī)聯(lián)盟的成立,尤其是其宣稱對(duì)Java的支持,對(duì)Sun來講無疑是一個(gè)好消息。因?yàn)镾un可以借助Google及手機(jī)開放聯(lián)盟的影響力進(jìn)一步拓展Java的應(yīng)用領(lǐng)域。因此,Sun公司CEO Jonathan Schwartz對(duì)OHA的成立及其宣稱對(duì)Java/linux的支持表示了贊賞 :我僅代表Sun,衷心地祝賀
Google宣布他們新的Java/Linux電話平臺(tái)——Android。祝賀!
我也希望Sun成為圍繞該平臺(tái)提交完整開發(fā)環(huán)境的第一個(gè)平臺(tái)軟件公司,因?yàn)槲覀僑un在努力投放針對(duì)移動(dòng)設(shè)備的NetBeans開發(fā)環(huán)境。顯而易見,我們已經(jīng)做了大量的工作以支持在所有基于Java平臺(tái)上工作的開發(fā)者,我們將Google的Android加入列表。
可是在Google公布了Android平臺(tái)之后,人們發(fā)現(xiàn),Google并沒有沿著“純正Java”路線走下去,它并沒有提供一個(gè)Java SE或Java ME的完整版本,而是另辟蹊徑 ,Android只是用了Java的很小一部分子集,并使用了自己的Dalvik虛擬機(jī)。很明顯,這可以看作是Java陣營的再次“分裂”。
因此Sun緊接著又表示了對(duì)Android的擔(dān)憂 ,擔(dān)心Google的Android項(xiàng)目會(huì)造成數(shù)種互不兼容的Java版本。在
甲骨文的OpenWorld大會(huì)上發(fā)言時(shí),Sun負(fù)責(zé)軟件業(yè)務(wù)執(zhí)行副總裁格林表示:
Sun希望與Google合作,解決可能出現(xiàn)的任何問題。他說,我們真的有興趣與Google合作,確保開發(fā)人員無須面對(duì)一個(gè)“分裂的”環(huán)境。我們已經(jīng)與Google進(jìn)行了接觸,確保這些平臺(tái)和API的兼容,使應(yīng)用軟件能夠被部署在盡可能多的平臺(tái)上。
Sun公司一直在避免Java環(huán)境的分裂而努力著。前不久,Sun所推出的JavaFX Mobile 也是用于移動(dòng)設(shè)備的一個(gè)從操作系統(tǒng)到框架和應(yīng)用的完整套件,它構(gòu)建在Sun所收購的SavaJe套件之上:
1.JavaFX Mobile是一個(gè)完整的移動(dòng)套件和實(shí)現(xiàn)。它不僅僅是一套規(guī)范,還是一個(gè)實(shí)際(單一)實(shí)現(xiàn)?;旧纤峭耆肑ava編寫的全套 OS + 應(yīng)用 + API 。只有內(nèi)核和一些設(shè)備驅(qū)動(dòng)是用C編寫的。
2.我們可以在信號(hào)場內(nèi)更新系統(tǒng)。移動(dòng)市場將不再被存在bug的舊實(shí)現(xiàn)或當(dāng)前特性所分割。每個(gè)設(shè)備可以在該平臺(tái)的同一版本上工作。
3.JavaFX Mobile是為高端電話設(shè)計(jì)的,這意味著它具備了JavaSE的能力。
其中第三點(diǎn)是最重要的一點(diǎn)。我們的長期目標(biāo)是使JavaSE和JavaME趨于一致。你不再需要了解多個(gè)API。只有一個(gè)Java。
Sun統(tǒng)一Java開發(fā)環(huán)境的想法是非常好的。但是Google Android的出現(xiàn),對(duì)Sun在防止Java環(huán)境分裂方面所做的努力是一個(gè)打擊。JavaFX Mobile與Android相比,單從平臺(tái)的基本特征看,一時(shí)還看不出誰優(yōu)誰劣,但是開放性對(duì)于Android來說是非常重要的,它是Android賴以生存的根本。因此Apache Labs開發(fā)人員Stefano Mazzocchi認(rèn)為 ,Google可能是將開發(fā)Dalvik作為避免使用J2ME所帶來的與Sun之間的許可問題。這讓人聯(lián)想到長久以來Apache 就OpenJDK的許可問題與Sun所發(fā)生的爭執(zhí)。
解鈴還需系鈴人,或許Sun自身就是導(dǎo)致今天Java不斷分裂的重要原因。