Oracle為客戶端Java制定兩年計劃
Oracle 以往主要關注企業級軟件,這使人們誤以為 Oracle 在很大程度上忽略了 Java 客戶端軟件。然而在今年的 JavaOne 大會上,Oracle 明確表示他們正在重新推動桌面端的開發,主要代表就是 JavaFX。而且 JavaFX 也將通過 OpenJDK 使整個 JavaFX 平臺開源。
其實 JavaFX 早在2008年就已經提出來了,然而只獲得了有限的推動。因為很多開發者抱怨,在使用這種 GUI 開發框架的時候,他們不得不學習一種新的編程語言(JavaFX Script)。在去年的 JavaOne 大會上,Oracle 宣布,JavaFX 2.0 將摒棄 JavaFX Script,代替它的是一套完全基于 Java 的 API。JavaFX 2.0 基于上述說法發布,這意味著開發者可使用任何基于 JVM 的編程語言(Java、Clojure、 Scala、Groovy 等等)和在 JVM 運行的任何平臺來開發 JavaFX 應用程序。這種改變同時帶來一些新特性,像基于 XML 的 UI 表述語言(FXML),并且支持包括微軟的 Kinect 在內等新設備。
為了幫助開發者們更好地使用 FXML 語言,Oracle 正在開發一套圖形編輯器——JavaFX Scene Builder,且已在大會上展示過。該編輯器是一款獨立的編譯工具,并將集成在 NetBeans 中。目前它還只處于內部的 beta 版,預計公共版本最早會在2012年與大家見面。
同時,Oracle 關注 HTML5 和 JavaScript。JavaFX 2.0 讓我們可以在 JavaFX 應用程序中嵌入 HTML5 的內容,這些內容會通過 WebKit 渲染。在 JavaOne 大會上,Oracle 還宣布了另一項名叫 Avatar 的工程,它的主要任務是:讓基于 HTML5 UIs 的混合應用程序,無論是在數據中心還是云里,都可以共享 Java 客戶端和 Java EE 服務器上的內容。
與此同時,Oracle 將在一定程度上繼續支持 Swing。很明顯,Oracle 相信,JavaFX 將是構建 Java UI 應用程序的最好途徑,因為在 InfoQ 參與和組織的各種相關會議中,人們都表現出對 JavaFX 極大的興趣。然而作為 GUI 開發系統,無論 JavaFX 怎么好,如果不能在期望的目標設備上運行,那么就毫無意義。
在移動開發領域,這個問題尤為突出。Java ME 是 Sun 和移動電話設備之類平臺的成功先驅者,然而 Java ME 技術在近些年來一直徘徊不前。正在進行中的相關研究也被基于 Java 的、在 QNX real-time OS 系統上運行的黑莓(BlackBerry)所替代;Nokia 所依賴的 Java ME 也正因向 Windows Mobile 平臺轉變而面臨褪色,甚至基于 Java 的 Android 平臺也在使用非標準化的 Java 實現。
前景可期, 在今年的 JavaOne 大會上,Oracle 宣布了“統一 Java ME 和最新版本的 Java SE”的計劃。這個聚合的平臺具有重大意義,因為各種相關技術,例如 JavaFX,將會在更多的設備上使用。在與 Oracle 融合中間件團隊中的客戶端開發副主席 Nandini Ramani 的一次交流中,她說她可以讓同一款 JavaFX 游戲既運行在 Android 平板電腦上,又運行在 iPad 上——這會受到大家的熱烈歡迎。然而這并不意味蘋果公司終于后悔了,并讓 JVM 運行在 iOS 系統中。這個實例只是說明這樣的理念:并不是要求每個人在啟動程序中連接私有的 JVM 資源,而只是證明了存在這樣的可能性。在后來的一次交談中,Ramani 證實,是否在實踐中應用運行這種技術,Oracle 不會與蘋果公司再進行討論。她同時指出,這已有先例,例如蘋果為了規避類似的限制,已經允許相同的技術在 OS X app store 和 Cyberduck 使用,而且他們確實這么做了。
Oracle 同時注重 JavaFX 在更多的桌面操作系統使用,預期明年發布在 OS X 和 Linux 操作系統上運行的 GA 版本。在2013年,Java 8 SDK 版本將會包含 JavaFX 3(可能在各種平臺上運行)產品。屆時,Oracle 會通過 JCP 對該項技術實施標準化。
最后,在2010年蘋果公司宣布放棄自己的 Java 實現平臺后,目前 Oracle 已經擁有可在 Mac OS X 平臺上用的 JDK 7 預覽版本,預計將于2012年發布 GA 版本。
查看英文原文:Oracle Sets Out Two Year Plan for Client-side Java