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