對不起,JavaFX——Java 8目前還不能救你
原創(chuàng)JavaFX 是SUN公司在2007年JavaOne大會上***對外公布的以Java為基礎(chǔ)構(gòu)建的富客戶端平臺,更讓開發(fā)者印象比較深刻的則是其背后的JavaFX開發(fā)團(tuán)隊,僅僅在兩年的時間就從1.0版本完善到1.3.x版本,不但增加了很多新功能,在性能方面也有了很大的提升。
當(dāng)Oracle收購Sun后,就宣布停止支持JavaFX腳本語言,進(jìn)一步把它的API整合到Java里面去,后面的版本當(dāng)中也默認(rèn)捆綁了JavaFX。在JavaOne 2011大會上,Oracle也向公眾表示的開源計劃也實現(xiàn)了。
由此可見,在移動互聯(lián)網(wǎng)的時代,Oracle已經(jīng)認(rèn)識到了RIA技術(shù)的重要性,想把JavaFX打造成Flash和Sliverlight這樣的***產(chǎn)品。但是對于RIA,Java還是新手,想撼動Flash占據(jù)部分的份額顯然是很難的。不過憑借著Java眾多開發(fā)者的力量,作為通用的開發(fā)語言,對抗FLASH的ActionScript還有有很大的優(yōu)勢。小編在知乎上曾看見過某位大神對Java FX的評價還是比較客觀的:
(1)Java技術(shù)是開源的,從開發(fā)工具(Eclipse,netBeans),到無所不包的開源類庫。Flash、Silverlight就不一樣了。
(2)跨平臺。如果你明白微軟的策略,就不會押寶在silverlight上了。微軟最終不會支持跨平臺的,只會跨windows平臺,提出跨平臺只是為了攪局。還好大家都不再吃那一套了。
(3)Java作為一門通用的開發(fā)語言,是Flash的ActionScript無法比擬的,類庫全(數(shù)據(jù)庫、網(wǎng)絡(luò)、IO等等),強(qiáng)大免費的開發(fā)工具,不僅僅在瀏覽器里跑(雖然Air也可以,但沒有大型的程序用Air吧,Java典型的應(yīng)用就是Eclipse netBeans)。JavaFx正在彌補(bǔ)圖形處理方面的不足(這是Flash的強(qiáng)項,JavaFx已經(jīng)開始支持硬件加速了),但是Java的強(qiáng)項Flash很難復(fù)制。
在今年3月份JavaFX伴隨著甲骨文Java 8的推出以其組件形式完成了又一次更新。不過很多人對于這項技術(shù)的未來前景以及影響力提出了質(zhì)疑。
Oracle公布的開源JavaFX 8擁有UI控制、嵌入式圖形堆棧、現(xiàn)代主題、3D圖形處理再加上HTML 5支持等多項功能特性。其工具集在設(shè)計思路上專注于性能與圖形,且能夠在嵌入式系統(tǒng)之上順暢運作。
不過Forrester研究公司分析師John Rymer對于JavaFX的生命力并不看好。“我們并未看到市場對于JavaFX所抱有的深厚興趣,”他指出。“Java 8——很好,但JavaFX完全是另外一回事。在我看來,JavaFX恐怕太孱弱也太遲鈍。JavaFX當(dāng)初就沒能完成Sun公司為其制定的預(yù)期發(fā)展目標(biāo),而這也使得Java成為Web客戶端以及移動開發(fā)領(lǐng)域的***環(huán)境。(出自:infoworld)
事實上,HTML 5、谷歌Android(本身就基于Java)以及蘋果iOS等平臺已經(jīng)成為移動開發(fā)領(lǐng)域最為顯赫的名號。類似于Adobe Flash與微軟Silverlight,JavaFX已經(jīng)被逐出核心舞臺、被迫充當(dāng)新時代下的龍?zhí)捉巧2贿^它也擁有自己的支持者群體。在咨詢與軟件開發(fā)企業(yè)Welland公司中,技術(shù)人員一直利用JavaFX對負(fù)責(zé)數(shù)據(jù)庫間數(shù)據(jù)遷移工作的桌面應(yīng)用程序進(jìn)行更新。JavaFX能為應(yīng)用程序帶來更具現(xiàn)代特色的外觀,Welland公司高級軟件工程師Cole Markham指出。“就個人經(jīng)歷來說,我所交流過的技術(shù)工作者中有很多都對JavaFX抱有興趣,但這僅限于Java社區(qū)之內(nèi)。”Markham還將JavaFX視為Swing GUI技術(shù)的繼任者。
不過451研究公司分析師Michael Cote認(rèn)為,JavaFX是一種已經(jīng)衰落的豐富互聯(lián)網(wǎng)應(yīng)用(簡稱RIA)技術(shù)。“我覺得RIA的時代早就已經(jīng)過去,現(xiàn)在已經(jīng)是所謂智能手機(jī)與平板設(shè)備的時代了。HTML ***ndroid以及最不能忽略的iOS才是真正的贏家。”他把JavaFX視為與Flash及Silverlight相近的即將過氣平臺,并指出indeed.com網(wǎng)站上的一幅圖片顯示、JavaFX程序員自2013年一月起就普遍處于無事可做的狀態(tài):
圖片來自 indeed.com
甲骨文已經(jīng)驗證了JavaFX在Android與iOS平臺上的可行性,盡管Java運行時本身在iOS設(shè)備上不受支持。不過Rymer認(rèn)為甲骨文也已經(jīng)感受到了JavaFX所受到的冷遇。雖然Java被廣泛應(yīng)用于移動及多通道應(yīng)用程序的服務(wù)器端,但其在客戶端上的普及程度還相當(dāng)?shù)拖隆<坠俏哪壳罢υ谶@方面推動JavaFX與Java ME(即Micro版本)的表現(xiàn),Rymer指出。“雖然取得廣泛成功的可能性確實不主,但軟件行業(yè)的事確實很難說得準(zhǔn)。”
***小編認(rèn)為,雖然說現(xiàn)在大部分主流廠商都在極力推廣HTML5,但是新技術(shù)總是要花一段時間來完善的。就目前趨勢來看,JavaFX或許無法跟FLASH和HTML5相比,但是JavaFX依然還是很年輕,未來的路還是很長,在不斷的優(yōu)化和改進(jìn)的過程中,也許會在Java開發(fā)者心中占有一定的位置。