<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 310, comments - 6939, trackbacks - 0, articles - 3
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    Android動了Java的奶酪?

    Posted on 2007-12-29 10:29 詩特林 閱讀(2020) 評論(10)  編輯  收藏 所屬分類: J2EE
      應賽迪網寫的專稿:http://java.ccidnet.com/art/12013/20071228/1325101_1.html

    Android動了Java的奶酪?

     

    Android,號稱“史上首個全免費開放的手機平臺”。Google Android動了誰的奶酪?是Apple,還是微軟?互聯網時代奇跡般崛起的Google,已經成為微軟的心腹大患。然而不論Google OS的謠言傳得多么活靈活現,業界多么意淫Google直接挑戰微軟Windows操作系統,然而Google從來都是按兵不動。Google看得很清楚,桌面操作系統時代快要結束了,現在是掌上操作系統時代登場了,誰能夠先一步占領消費者的手掌,誰才是真正的贏家。這一次,Google終于亮劍了,亮出來的絕對是一把無堅不摧的利劍——Android。這回該輪到Sun頭痛了,原來Android動的就是Sun的奶酪。

    一、        Android,Java平臺的盜版?

    首先,Java編程語言與Java平臺是兩個完全不同的概念。前者泛指一系列編程的語法,而后者包括前者,同時又超出前者的范圍。就一般而言,Java平臺由三駕馬車組成:核心的Java APIs(包、框架及類庫)、Java字節碼(編譯且可執行的形式)以及Java虛擬機(JVM,執行字節碼的運行機制)。就Java語言而言,只不過是Java平臺中的一小部分,因為其它語言同樣可以實現Java語言的功能,例如Groovy、JRubyJPython等等語言,這些語言同樣可以編寫出運行在JVM上執行的字節碼。

    若某種平臺想實現Java平臺這樣的功能,那么,首先必須實現Java SEJava ME(由于Java EEAndroid的關系沒這么大,因此這里不討論)規范所規定的這三駕馬車。如果該平臺沒有依賴或實現這三駕馬車,則只能很遺憾的說,這只是Java平臺的盜版。

    現在來看看GoogleAndroid平臺。首先,我們必須清醒的承認,Android使用了Java編程語言,同時還使用了Java MEJava SEAPIs,但是,Android的可執行形式與Java平臺的字節碼形式是兩碼事,同時,使用的虛擬機與Java平臺的JVM不一樣。因此,在Java MEJava SE環境下生成的Java字節碼,在Android上不能成功執行也就是情理之中的事情了。

    Google沒有使用標準的JME作為運行Java應用軟件的引擎,而是自己為Android開發了名為Dalvik的虛擬機。開發人員表示,從技術角度來看,使用Dalvik既有優勢,也有劣勢,但技術可能不是Google這么做的原因。這可能需要從Google的企業文化角度去考慮:自由、創新。當然,將Dalvik作為避免使用JME所帶來的與Sun之間的許可問題的一種方式也是Google考慮的因素之一。Google不要求手機廠商許可JME,而是開發了自己的虛擬機。DalvikJava字節碼轉換為了Dalvik字節碼。因此Google可以說Android不是一個Java平臺。

    二、        兼不兼容無所謂?

    Java的兼容性(Compatibility)是Java領域的一面旗幟。Sun就是靠它打下半壁江山,并與微軟平分天下。Java當初的豪言壯語,“Write oncerun anywhere”令好幾代Java程序員熱血沸騰,但在J2ME平臺開發的應用,要想不改動代碼就run anywhere,難度是很大的。如果要把一個應用程序做到讓大多數的機型都適用,就要考慮到方方面面,其難度是相當大的。

    Sun MicrosystemsJCPJava標準制定組織,Java Community Process,簡稱JCP)非常努力地想實現這樣的口號,其中最重要的努力就是兼容性測試。于是,當軟件提供商(商業的或是開源的)實現了Java的標準,然后要做的就是交付軟件進行兼容性測試,這是軟件提供商獲得“Write once,run anywhere”金字招牌并大言不慚的宣稱自己的軟件具有兼容性的主要辦法。

    這就是大名鼎鼎的TCK(技術兼容性工具包)誕生的背景。說白了,TCK實際上是一套及工具,檢測和文檔一體的工具包,通常用于檢測在一特定設備上Sun公司的KVM技術的兼容性,確保Sun公司對已確定的標準和規范的一致性。當初TCK可是JCP Java標準中強制的要求之一。

    可以看出,TCK這東西并不簡單。Android,既沒有編譯成Java字節碼,又不能在JVM上運行,能通過TCK這玩意的測試嗎?能與Java MEJava SE兼容嗎?

    眾所周知,JCP負責處理和審批各種Java技術和技術規范,將新的Java特點系統化為應用程序編程接口(API),所以程序員可以有一個標準的方式調用新的技術,比如藍牙技術或三維圖形。但現有的Java的技術不能滿足Google公司認為對于Android平臺很重要的開放性要求。

    但是不兼容又怎么了?這就是Google的氣魄。天下王道勝者定。

    Google公布Android手機軟件平臺的開發工具包時,明確表示該工具包沒有遵守現有的Java標準制訂過程,而是采用了Google自己的方法。于是Sun哭喪著臉說:GoogleAndroid項目會造成數種互不兼容的Java版本。而Sun負責軟件業務執行副總裁格林更是大言不慚的表示:“任何制造多種平臺的事情都不符合開發人員的最大利益”,就差沒撂出陳凱歌的名言:“人不能無恥到這種地步”。開發人員的反饋是:幫助我們解決這一問題。

    Sun委瑣的想與Google合作,號稱是要確保開發人員無須面對一個分裂的環境,確保這些平臺和API的兼容,使應用軟件能夠被部署在盡可能多的平臺上。而Google卻是不怎么領情,不冷不熱的說,開放手機聯盟的成員將有助于使編程人員熟悉其Java變種。

    三、        Android是在繼續Java ME未竟的事業?

    在本文中,筆者并非是在揚Java而有意在貶Android,事實上Android是一顆手機操作系統領域的璀璨的明珠。只是Android像一個叛逆的令狐沖一樣,放著好好的Java MEJava SE標準不遵守,而是要去自創一套乾坤大挪移。Android就是想挑戰Java的口號“Write oncerun anywhere”。Android首次避開了Java的老路,闖出了一條嶄新的路子:可以按開發人員自己的意愿使用Java語言,而不需要老是被JCP所規定的那些框框架架所框死,這像極了Google的自由、創新的企業文化。這是否是意味著Android將會走得更遠呢?

    如果Android按它目前所定的方針及策略能成功的話,那對Java平臺(包括Java SE)將真的是場八級地震。Android給出了一個很重要的信息:Java所定義標準的其實并不重要,“Write oncerun anywhere”其實也不重要。而這兩點正好是Java平臺的立足之本,而如今Android要顛覆Java的這兩根筋,這不是要了Java的老命?

    因此,如果只是站在Java的角度來看,Android無異于一個搗蛋的壞蛋,但站在Android的角度來看,Java其實也沒什么,該退的就退吧!

    雖然Android沒有遵循Java MEJava SE的標準,但是AndroidJava領域甚至軟件行業的地震效果將是巨大的。Android將迫使SunJCP重新思考Java MEJava SE標準,有可能催生一種新平臺,它比Java SE瘦一點,但比Java ME更加健全一點。那才是AndroidJava領域所做出的最大貢獻,比起AndroidJava的“傷害”要有意義得多。

    萬事陰陽相扣,Android除了上面的好處外,當然會給JCP帶來難以治愈的傷害。因為Android的一塊基石就是構建不兼容實現是一種可行的業務模型,這就有可能引發多米諾骨牌推牌效應,因為榜樣的力量是無窮的,同樣,反而教材的力量也是無窮的,其實的供應商也采用Android這樣的策略,那JCP的標準夢想和兼容性口號將成為歷史。當然,這對于敵人的敵人是再好不過的消息了,那個作壁上觀的微軟,那時可能已經笑得快合不籠嘴了。因為,Java領域對抗微軟.NET平臺的殺傷性武器就是標準化過程(如JCP)及兼容性。如果失去了這兩座屏障,那Java只能來個諸葛亮揮淚斬馬謖或是早點自宮算了。

    事實上,Android是在繼續Java ME未竟的事業。Java ME提供了統一的編程平臺,但是Java ME不能調用操作系統資源,也沒有提供諸多的應用工具,最終Java ME處在一個非常尷尬的位置上。而Android往下直達操作系統內核,往上直通現成的應用軟件,例如聯系人,日歷,地圖,瀏覽器,Android就是手機應用的未來。

    四、        小結

    Google對無線互聯網市場垂涎已久,這已經是盡人皆知的事情。在公眾場合,無論是Google全球CEO艾里克施密特博士,還是在中國媒體面前的李開復博士,都毫不掩飾Google對于無線互聯網市場的向往。Android的推出就像Google在無線互聯網市場亮出的一把利劍,已經是司馬昭之心,路人皆知。而面對老牌的Java MEJava SE對手,Android顯得有一點嫩氣,但又充滿了霸氣,這一場沒有硝煙的手機操作系統開發平臺之戰,到底鹿死誰手,還需拭目以待。


    評論

    # re: Android動了Java的奶酪?  回復  更多評論   

    2007-12-29 10:47 by 隔葉黃鶯
    只是手機領域的開發而已,何必大呼小叫

    # re: Android動了Java的奶酪?  回復  更多評論   

    2007-12-29 11:14 by Michael Zheng
    Android 的jme使用了Harmony的類庫

    # re: Android動了Java的奶酪?  回復  更多評論   

    2007-12-29 11:58 by Edward's
    sun是土鱉,google也不厚道

    # re: Android動了Java的奶酪?  回復  更多評論   

    2007-12-29 12:11 by wǒ愛伱--咾婆
    別亂七八糟就好...創新是種不錯的思想...不過.要創新的有意義..有真正的意義

    # re: Android動了Java的奶酪?  回復  更多評論   

    2007-12-29 12:52 by Ruderal
    Android 也好 Sun 也好...

    他們無疑都對Java的發展提供的動力.

    # re: Android動了Java的奶酪?  回復  更多評論   

    2007-12-29 13:21 by jeasonzhao
    科銀幾年前就拉人馬作JAVA虛擬機了,為的就是JAVA的平臺移植性,
    一個庫,相同的原理

    # re: Android動了Java的奶酪?  回復  更多評論   

    2007-12-29 16:39 by mingj
    當然,這對于敵人的敵人是再好不過的消息了,那個作壁上觀的微軟,那時可能已經笑得快合不籠嘴了。

    哎,google何必呢

    # re: Android動了Java的奶酪?  回復  更多評論   

    2007-12-29 16:40 by mingj
    所謂和久必分,分久必合

    Android 也不是能長期一統江山的

    # re: Android動了Java的奶酪?  回復  更多評論   

    2007-12-29 22:45 by 千里冰封
    Android算什么東西

    # re: Android動了Java的奶酪?  回復  更多評論   

    2007-12-30 08:53 by Matthew Chen
    據說核心api也不是一樣的,jfc本身是一個一棧式的api庫,底層基于的jni是固有的,android并不是從底層照搬這種類層次結構,但Harmony作為遵循java標準的虛擬機實現必須提供標準的api實現,所以android從api級別也不是java程序員可以容易過渡來使用的,基本上說,android只是借鑒了java的語法和一些api接口樣式,本質上是完全不同的語言平臺。
    另外,樓主寫得實在有點言過其實了,google的android面向的是手機平臺,追求的是自由和創新,那它在未來必然也會因為java語法上的對底層不友好而采用和.net同樣的方式——指針,然而基于Harmony的實現應該不支持這樣的做法,到最后,Dalvik必然會脫出Harmony的束縛,成為徹頭徹尾的另一個.net, android有點掛羊頭賣狗肉,它影響不了java。
    主站蜘蛛池模板: 亚洲AⅤ无码一区二区三区在线| 精品免费视在线观看| 三年片在线观看免费大全| 亚洲视频一区在线观看| 久久国产精品2020免费m3u8| 亚洲国产精品无码成人片久久| 国产精品无码免费专区午夜| 中文字幕专区在线亚洲| 一级特黄a免费大片| 91麻豆国产自产在线观看亚洲| 色www永久免费| 蜜芽亚洲av无码精品色午夜| 91精品免费久久久久久久久| 亚洲乱人伦精品图片| 国产精品久久久久久久久久免费 | 国产亚洲午夜精品| 免费国产成人午夜电影| 杨幂最新免费特级毛片| 国产亚洲精品免费视频播放| 老司机69精品成免费视频| 亚洲第一网站免费视频| 在线观看免费大黄网站| 免费国产va视频永久在线观看| 国产亚洲精品高清在线| 久久精品国产这里是免费| 亚洲av一本岛在线播放| 国产一级淫片a免费播放口之 | 日韩免费无码一区二区三区| 亚洲国产日韩在线人成下载| 麻豆国产人免费人成免费视频| 美女被艹免费视频| 亚洲av无码一区二区三区网站| 亚洲黄色免费网站| 免费亚洲视频在线观看| 亚洲人成在线播放网站| 成人片黄网站A毛片免费| 亚洲天堂免费在线视频| 亚洲精品人成电影网| 亚洲国产精品国产自在在线| 无码国产精品一区二区免费模式| 亚洲色大成网站WWW国产|