星期三, 7月 16, 2008

轉貼 - Google Android平台先打到的是Java而非Linux?

雖然自己並不是程式開發者,不過在Google發佈了Android手機平台之後,因為相當受到矚目,所以一直都有在看相關的文章,本來一開始以為最先會 影響到的,會是目前其他一些同樣也是嵌入式Linux平台,像是OpenMoko、Access的Linux Platform,或是Monta Vista之類的嵌入式Linux平台開發商(為此還前去請教了Jserv大大)。


不過國外的stefano在自己部落格當中提到, 針對目前Android提供SDK,發現了一些狀況而提出看法,當中說明了Google Android平台,為了能避開Sun在java上的版權限制及規格控制,而採取的繞行動作,為了考慮到對於手機平台中,軟硬體開發商還是會出現一些無法 公開原始碼的使用狀況(例如影音codec之類),所以採用較符合商用限制的Apache版權,藉此來繞過GPL2的回饋性質,而Google採用的解決 方案是,實做出Dalvik這個虛擬機,把產生出來的Java bytecode再轉入自己格式的bytecode,而Dalvik本身並未宣稱是Java虛擬機,除了當中使用Java語法之外,所用的java SE class library也並非來自Sun,而是來自於Apache Harmony專案,而Google本身為了確保Android平台,不致同樣與Java在行動市場上面臨到分裂的問題,所以要求使用該平台的成員,必須同意它的一份反分裂協議,確保將來的相容性。

而Google為何要採用這樣的繞行措施,就查詢相關資料當中了解的部份,是由於雖然目前Sun的Java已經採用了GPL2開放,但是開放的部份,是目前已經在實做的Java當中的原始碼,對於Java SE和Java ME的規範,事實上還是綁在強烈存在於Sun陰影下的JCP組織當中,這部份一直以來,大概以IBM為首有最強烈的反對,因為事實上Java的規範,實質掌控還是在Sun的手中。

再 來則是J2ME的行動開發的部份,其實因為本身針對不同手機平台調整過,後來就造成了某種分散性,因為針對了手機各種功能不同做了調適,而導致Java語 言原先要做到寫一次跑全部的原則遭到挑戰,Sun自己也知道這個問題,所以在今年JavaOne大會,就力推JavaFX,在另外一個Java相關的部落 格城市胡同的文章當中提到,JavaFX 本身要將桌上型使用的Java SE標準帶入移動平台的企圖,說到這裡,和上面Android所釋出的SDK分析做個對照,就可以知道,Google已經搶了Sun一步在做類似的事情, 並且透過推出完整的平台跟聯盟,已經先搶了Sun在吸引開發者到JavaFX上的優勢,更何況還推出了獎金活動,比起相對在JavaFX上,尚未確知有哪些廠商採納來說,哪邊的吸引力比較大已經是不用多說了。(不過當然以JavaFX本身來說, Sun的技術還是有領先之處的,但是就是被搶了先機)

而 雖然目前Android當中完整的嵌入式Linux平台尚未公開,不過對於開發資源的磁吸效應似乎也已經產生,最近可以看到Access,他們當初買下了 palmsource,希望藉由Palm OS的相容性以及延續性,來作為自己的Linux平台產品特色,但是現在Access也出現了動作,在昨天宣佈將PalmOS的模擬層,在另一個Linux嵌入裝置Nokia Tablet當中推出,只要是Nokia N810,N800,N700的使用者,都可以免費下載下來使用,如此就可以使用到過去Palm OS上的應用軟體資源。

不 過目前也不確定其他的行動Linux平台是否要緊張,因為如果Android平台真的如Google所願,能維持成一個開放且互通的平台的話,那麼假如其 他嵌入式Linux能在GPL與Apache授權相容的情況下,移植Andoird當中的Dalvik虛擬機來使用,如此也就能受惠於Android平台 的開發資源,因為可以接收過去在行動裝置平台上,J2ME的開發者們前來創建出的開發社群,那麼對於嵌入式Linux平台來說,也許就會是一劑增加應用的 強心針而非分裂的毒藥了,希望自己這樣的想法不會太過於天真才好。

標籤:

0 個意見:

張貼留言

訂閱 張貼留言 [Atom]

<< 首頁