JavaFX市場收效甚微 需尋找新突破
前年的時(shí)候我開始學(xué)習(xí)JavaFX,我想這是學(xué)習(xí)其他領(lǐng)域的計(jì)算機(jī)編程的很好的方法(因?yàn)槲抑饕亲鯬HP的網(wǎng)址開發(fā))。Sun微系統(tǒng)公司將 JavaFX看做是下一個(gè)Big Thing,因而Sun從其他項(xiàng)目和部門中抽取了***秀的人才以便***化地專注于JavaFX的開發(fā)。
到現(xiàn)在已經(jīng)接近兩年了,Sun不斷提升JavaFX,并將它定位為可用的富客戶端技術(shù),以及與Adobe的Flex以及Microsoft的Silverlight競爭的產(chǎn)品。實(shí)質(zhì)上,JavaFX是一個(gè)基于JVM的域語言用來構(gòu)建富用戶界面,以及作為語言的一套API。
盡管Swing的社區(qū)很活躍,盡管Swing有很多的用戶群,在過去的一年半中Sun仍然重新規(guī)劃將重點(diǎn)放在了JavaFX上,代價(jià)是Swing開發(fā)的緩慢、停滯。Sun這種戰(zhàn)略調(diào)整最顯而易見的影響是許多有經(jīng)驗(yàn)的Swing開發(fā)者離開了公司,比如Chet Haase, Hans Muller以及 Scott Violet。最重要的Swing相關(guān)的JSRs也已經(jīng)很久沒有更新,JCP網(wǎng)站顯示:***的JSR 295和296升級(jí)是在2006年6月。
考慮到Sun在JavaFX上投入的資金和精力,我很驚訝它在打開市場方面為何如此收效甚微。我認(rèn)為JavaFX應(yīng)當(dāng)在兩個(gè)方面做出進(jìn)步:1)在線游戲;2)手機(jī)。當(dāng)然,在線游戲是個(gè)長期的過程,因?yàn)镕lash在這方面根基很深。在線游戲的開發(fā)者已經(jīng)習(xí)慣了Flash,并且覺得它很好用,因而在線游戲領(lǐng)域很難攻占。
再來看手機(jī)領(lǐng)域,我的確認(rèn)為JavaFX應(yīng)該做出更大的努力。Jonathan Schwartz在JavaOne上曾強(qiáng)調(diào)過這點(diǎn)。Jonathan Schwartz的話音落下已近一年,然而當(dāng)談?wù)摰绞謾C(jī)設(shè)備時(shí)仍然很難看到JavaFX的影子。
在手機(jī)領(lǐng)域重量級(jí)的生產(chǎn)商和技術(shù)包括Nokia和它的Symbian操作系統(tǒng);BlackBerry制造商Research In Motion,;暴發(fā)戶Apple以及一直在努力的微軟和它的Windows Mobile系統(tǒng)。他們每個(gè)都有自己的優(yōu)勢:Nokia擁有無可匹敵的市場占有率和覆蓋率,控制著40%的智能手機(jī)市場;RIM的優(yōu)勢是 email;Apple的iPhone擁有令人眼花繚亂的多媒體;而微軟則憑借著Windows的巨大影響力在智能手機(jī)領(lǐng)域苦心經(jīng)營。
還有,Google資助了Android,一個(gè)智能手機(jī)操作系統(tǒng),HTC隨之研發(fā)了一款由德國T-Mobile代工生產(chǎn)的觸摸屏手機(jī)叫做G1。其他 手機(jī)制造商,如比較著名的摩托羅拉已經(jīng)選擇Android作為軟件合作商。無疑,Android是手機(jī)領(lǐng)域又一個(gè)很有影響力的競爭對(duì)手。
與此同時(shí),Apple繼續(xù)升級(jí)它的平臺(tái):Apple公開的iPhone的新軟件將支持一些期待已久的特性,如復(fù)制-粘貼文本和圖片信息,由此可見 Apple公司在手機(jī)市場領(lǐng)域的強(qiáng)勁態(tài)勢。Apple還為即將發(fā)布的應(yīng)用給它網(wǎng)絡(luò)上的許多軟件開發(fā)者提供了新的選擇,比如支持訂閱模型和自動(dòng)警報(bào)。連 CCS Insight的分析師John Jackson都說:Apple在這場競爭中已經(jīng)領(lǐng)先了幾步。兩年后他將擁有最酷的手機(jī)和商業(yè)模式,每個(gè)人都會(huì)使用、談?wù)摬⒛7隆?/p>
去年的時(shí)候,Sun的一些人開始宣傳這樣一個(gè)理念即JavaFX是Android的天然選擇。也許這最終會(huì)實(shí)現(xiàn),然而就現(xiàn)在而言,沒有幾個(gè)開發(fā)者選 擇JavaFX來做Android的開發(fā)。搜索Android JavaFX,所有你找到的搜索結(jié)果都是來自Sun的宣傳和一些開發(fā)者的牢騷,你找不到任何一個(gè)網(wǎng)址滿懷熱情地實(shí)現(xiàn)這個(gè)理念。搜索JavaFX,所有的消 息都是與開發(fā)者有關(guān)的,沒有提及任何用戶級(jí)產(chǎn)品。由此可見,Sun在這場手機(jī)的戰(zhàn)爭中已經(jīng)落后了。大部分的文章都聚焦在如果一切搞定JavaFX將多么地 神奇,然而一切搞定則意味著再過幾年、再過幾個(gè)版本。
而且一些不經(jīng)意潛藏在1.1 release注釋中的注釋顯示javafx.ext.Swing包在公用類(Common profile)中不可用,所以不能在移動(dòng)應(yīng)用中運(yùn)行,這意味著沒有標(biāo)準(zhǔn)的桌面UI組件比如按鈕(buttons)、樹(trees)和 listboxes.。有一個(gè)組件即javafx.scene.control.TextBox。然而桌面組件套件的豐富卻不在移動(dòng)構(gòu)造中。
我們都知道如果要運(yùn)行在一個(gè)移動(dòng)設(shè)備上,就需要構(gòu)建到公用類(Common profile)中。但如果易用的UI組件不是API的一部分,那不是徹底毀掉了以UI為核心作用的JavaFX的整個(gè)作用?在JavaOne 2009之前,更多的UI控制將針對(duì)公用類,但是移動(dòng)開發(fā)者會(huì)發(fā)現(xiàn)這些只是半成品。在這種情況下,之所以還說Sun可以彌補(bǔ)這一點(diǎn)是因?yàn)椴煌?JavaFX在桌面的競爭形式,JavaFX mobile不是十分落后于Adobe(它的Flash Light也沒有廣泛應(yīng)用)和Microsoft(甚至還沒有移動(dòng)版本的Silverlight)。
對(duì)Sun來說還有一點(diǎn)優(yōu)勢,那就是他們的開源策略,他們已經(jīng)貢獻(xiàn)了價(jià)值不菲的許多軟件(Open Office, Java等)。因而Sun所在的開源軟件世界遠(yuǎn)比Microsoft和Adobe所在的專利軟件世界簡單得多。盡管如此,還是沒有看出Sun有什么苗頭在 用戶級(jí)技術(shù)方面取得成功。
但是對(duì)JavaFX我仍然懷有希望,因?yàn)槲覍?duì)Google有信心,Android將允許Java運(yùn)行在手機(jī)上。
【編輯推薦】