新聞中心
之前的報(bào)道《Oracle和JCP成員之間的Java戰(zhàn)爭(zhēng)一觸即發(fā)》的預(yù)言已經(jīng)應(yīng)驗(yàn)。而在Android中起著重要作用的Java語(yǔ)言和Apache的Harmony項(xiàng)目正在為這場(chǎng)戰(zhàn)爭(zhēng)推波助瀾。近日,JCP 重要成員 Apache 基金會(huì)宣布,如果 Oracle 不給 Harmony 提供兼容性測(cè)試,將退出 JCP,并號(hào)召其它成員抵制Java 7 。所有這些事件不僅是對(duì) Google 的威脅和打擊,而且直接關(guān)系到 Android 與 Java 語(yǔ)言的前途。

讓客戶(hù)滿(mǎn)意是我們工作的目標(biāo),不斷超越客戶(hù)的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶(hù),將通過(guò)不懈努力成為客戶(hù)在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、網(wǎng)絡(luò)空間、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、夏邑網(wǎng)站維護(hù)、網(wǎng)站推廣。
自由的語(yǔ)言,不自由的平臺(tái)
Java 號(hào)稱(chēng)是跨平臺(tái)的語(yǔ)言,簡(jiǎn)單的說(shuō),它是在不同平臺(tái)之間搭建一個(gè)相同的軟件運(yùn)行環(huán)境?;蛘f(shuō)是 Java 虛擬機(jī)。虛擬機(jī)起到一個(gè)承上啟下的作用,開(kāi)發(fā)者不用考慮平臺(tái),只要保證自己的程序能夠在虛擬機(jī)上運(yùn)行,而實(shí)際的硬件操作由虛擬機(jī)聯(lián)系操作系統(tǒng)完成。
Java 原本屬于 Sun 公司。Sun 一直是一個(gè)在商業(yè)和開(kāi)源之間走著平衡的公司。雖然,Sun 開(kāi)發(fā)了大部分的 Java 平臺(tái)代碼,但任何公司的平臺(tái),如果想要運(yùn)行 Java 程序,仍就必須購(gòu)買(mǎi) Java 虛擬機(jī)的使用權(quán),這涉及到安全和技術(shù)支持問(wèn)題。從手機(jī)平臺(tái)來(lái)說(shuō),諾基亞、RIM 等公司的手機(jī)平臺(tái)都支持 Java 程序,就是因?yàn)樗?gòu)買(mǎi)了 Java 虛擬機(jī)的使用權(quán)。
Apache基金會(huì)的Harmony
Apache 基金會(huì)的 Harmony 計(jì)劃是試圖提供一個(gè) Java 的開(kāi)源實(shí)現(xiàn),就是說(shuō)試圖使 Java 平臺(tái)脫離 Sun 的控制,獲得充分的自由。這就是Harmony 計(jì)劃產(chǎn)生的原因,對(duì)此 Sun 自然不會(huì)很高興,一是商業(yè)原因,二是可能產(chǎn)生的平臺(tái)分裂。因此,Sun 雖然沒(méi)有起訴 Apache 基金會(huì),卻一直沒(méi)有給 Harmony 提供兼容測(cè)試,同時(shí) Sun 在 Java 平臺(tái)的使用上有限制,因此 Harmony 的代碼是不能使用到手機(jī)上的,當(dāng)然 Apache 也沒(méi)有這個(gè)計(jì)劃,所以事情就擱置了下來(lái),直到 Android 的出現(xiàn)。
Android之道
Android 的 Dalvik 虛擬機(jī)運(yùn)行的不是 Java 程序,可以說(shuō) Dalvik 完全可以運(yùn)行其它語(yǔ)言開(kāi)發(fā)的程序,但是 Google 為了吸引 Java 程序員,允許 程序員使用 Android 的SDK 將 Java 代碼轉(zhuǎn)換成 Dalvik 可以運(yùn)行的代碼。它是如何實(shí)現(xiàn)的呢?Google 在開(kāi)發(fā) Android 的時(shí)候,雇傭了 Sun 的一些程序員,利用 Harmony 中的開(kāi)源 Java 庫(kù)來(lái)實(shí)現(xiàn) Java 程序的轉(zhuǎn)換,避開(kāi)了授權(quán)費(fèi)用。這意味著開(kāi)發(fā)者可以使用 Java 語(yǔ)言為非 Java 平臺(tái)開(kāi)發(fā)程序,Android 的火爆發(fā)展不能給 Sun 帶來(lái)商業(yè)利益,而且可能造成平臺(tái)分裂。
Java 7的到來(lái)和Apache 的反抗
自從 Oracle 掌權(quán) Java 之后,JCP 便逐漸為 Oracle 所拋棄,這意味著 Oracle 要獨(dú)自控制 Java 平臺(tái)。做為 JCP 一員的 Apache 基金會(huì)已經(jīng)無(wú)法影響 Java 的方向,它的 Java 開(kāi)源實(shí)現(xiàn) Harmony 也被 Oracle 拒之門(mén)外,因此,Apache 基金會(huì)的存在只是一個(gè)形式而已。
Oracle 拒絕給 Harmony 提供兼容測(cè)試,這意味著 Harmony 與 Java 平臺(tái)的徹底分裂,隨著 Java 7 的到來(lái),這個(gè)問(wèn)題將更加嚴(yán)重。這是否意味著 Java 語(yǔ)言升級(jí)之后,Google 不得不重新編寫(xiě)底層代碼已適應(yīng)新的 Java 語(yǔ)言,但是 Google 這將是一項(xiàng)耗時(shí)費(fèi)力的艱苦工作,而自己編寫(xiě)的實(shí)現(xiàn)也許會(huì)再次遭到 Oracle 的起訴,因?yàn)?Oracle 已經(jīng)推出自己的開(kāi)發(fā)環(huán)境 OpenJDK,獲得了 IBM 和蘋(píng)果的支持。
Apache 基金會(huì)目前已經(jīng)正式聲明,號(hào)召其他成員抵制 Java7,如果 Oracle 不提供 Harmony的兼容性測(cè)試,將退出 JCP,這意味著 JCP 內(nèi)一個(gè)***的開(kāi)源勢(shì)力推出 Java,下一步便是徹底的決裂,這對(duì) Google 會(huì)產(chǎn)生什么影響,仍無(wú)法預(yù)料。
法律和技術(shù)的雙重困境
Android 已經(jīng)成為 Google 的收入生命線(xiàn),Google 自然不會(huì)讓步,在最近的回?fù)糁?,Google 指出,即使存在侵權(quán)(或抄襲)的可能,也應(yīng)該由第三方負(fù)責(zé),因?yàn)?Google 使用的是第三方的開(kāi)源實(shí)現(xiàn)。法律問(wèn)題先放在一邊,從技術(shù)上來(lái)說(shuō),Google 也面臨著困境,因?yàn)?Android 的開(kāi)發(fā)者使用的是 Java 語(yǔ)言,如果失去官方提供的支持,將是一個(gè)嚴(yán)重的問(wèn)題。
Java陷阱
開(kāi)源***Ricard Stallman 早就指出Java 是“帶著鐐銬的自由”(Free but shackled),警告開(kāi)發(fā)者謹(jǐn)防 Java 陷阱。此后,Sun 開(kāi)源了大部分的 Java 實(shí)現(xiàn)代碼,因此 Java 陷阱已經(jīng)可以避免,但仍然要注意使用完全自由的平臺(tái),因?yàn)椴⒎撬械钠脚_(tái)都是自由的。
如果 Google 收購(gòu) Sun,將 Java 收歸己有,或者當(dāng)初與 Sun 達(dá)成協(xié)議,也許今天情形會(huì)不同。或著當(dāng)初開(kāi)發(fā) Android 的時(shí)候,Google 應(yīng)該培育自己的 Go 語(yǔ)言,而不是急于利用現(xiàn)有的 Java 開(kāi)發(fā)者隊(duì)伍。Java 關(guān)于開(kāi)放的說(shuō)法只是一個(gè)假象,而如今 Java 易手,一切都改變了。
很難想象 Google 會(huì)放棄 Android 系統(tǒng),問(wèn)題是如何發(fā)展它。Java 將逐步脫離開(kāi)源社區(qū),淪為 Oracle 的生財(cái)之道,這是一個(gè)利益當(dāng)頭、注重企業(yè)而不考慮個(gè)人開(kāi)發(fā)者的公司,與 Java 的糾纏不清只能帶來(lái)更多的麻煩。
Android其實(shí)是在幫助Java
現(xiàn)有的智能手機(jī)平臺(tái)中,Java 已經(jīng)不是開(kāi)發(fā)者的***,iOS,MeeGo 都有自己的開(kāi)發(fā)環(huán)境,WebOS 不需要 Java 實(shí)現(xiàn),而 RIM 也在逐漸拋棄 Java,轉(zhuǎn)向 Adobe AIR,這意味著 Java 在手機(jī)市場(chǎng)的空間在逐步縮小。諷刺的是,現(xiàn)在 Android 的飛速發(fā)展反而有利于 Java 語(yǔ)言在手持領(lǐng)域的地位。如果 Google 拋棄 Java,是否 Java 將只能在低端機(jī)之間茍延殘喘,逐漸消亡呢?相信隨著 Web 開(kāi)發(fā)技術(shù)的進(jìn)步,HTML/CSS/Javascript這樣的網(wǎng)絡(luò)開(kāi)發(fā)環(huán)境將成為網(wǎng)絡(luò)應(yīng)用的***,而底層應(yīng)用開(kāi)發(fā)將會(huì)是 C/C++的天下。
Oracle的作法也許只是加速 Java 在手機(jī)領(lǐng)域的滅亡而已,當(dāng)然是在它收完***一筆保護(hù)費(fèi)之后。
分享名稱(chēng):Apache退出JCP對(duì)Java和Android影響深遠(yuǎn)
URL地址:http://www.dlmjj.cn/article/djghosh.html


咨詢(xún)
建站咨詢(xún)
