為了桌面Java的未來發展,許多的重大改進正在進行中, 對此做了很大的努力

  就語言方面來說,出現了JavaFX script 項目。 JavaFX是很靈巧的,它提供了一個高級的腳本接口,運行在Java 2DAPI上。從用戶的角度來看,他們不需要編寫 Java代碼,不需要深入理解復雜的線程,Java 2DSwing類的層次結構,定時框架結構(timing framework)等等 。相反,他們只是編寫腳本語言和描繪出所需要的GUI,包括活波的音響效果,圖形效果, 比如說梯度或者音樂,和數據綁定等等,這些都建立在一個基礎API上。

  這里有許多的工具幫助你學習syntax語言,相關資源這個從這 個網站獲得;JavaFX研發小組的目標就是提供syntax語言,和 一些關于JavaFX的用戶體驗,這些用戶包括美術設計員和那些對應用程序可視界面美觀感 興趣的民眾。當前,JavaFX某種程度上作為第四步產生的語言在運行,因為首先是解釋器 將FX腳本創建成為Java代碼,然后再調用適當的 Java 2D API。該小組長期的目標是將FX腳本直接編譯成字節 碼。

  JavaFX添加到桌面Java是一件非 常好的事情,但是,這得取決于是否有這樣的一種JRE的存在,它能運行 JavaFX生成的代碼。有些人認為FX已經進軍到 RIA(rich Internet application)領域,和Adobe公司的 Flex一較高下。但是,目前還是有一些難題需要解決,舉個例子,如何才能讓桌面 Java的安裝體驗和運行時間性能比得上其它的RIA框架。還好 ,這種問題正在被其他的項目解決,這個項目名稱就是Java kernel

  Java kernel主動承認這么一個事情,即大多數的 Java應用程序都是只有JRE的部分大小,如 Limewire(一個文件共享的桌面應用程序),它只有 JRE的三分之一大小。Kernel將會對 JRE重新打包,使得只下載應用程序所需要的部分JRE。每個 程序所需要的基本部分將會被下載,作為JRE啟動所需要的最小部分,其他的部分根據需要 下載,或者根據ClassNotFound異常信息,下載缺失的類。這將是一個巨大的好消息幫助桌 面Java應用程序瘦身,同時還能使得桌面Java應用程序執行 的更為有效。除了解決如何下載的問題外,kernel還非常關注 Java程序的啟動性能。

  在先前的kernel幾個版本,熱啟動時間(warm start times)減少了很多,但是,在應用程序調用main(String[])前,冷啟 動JRE仍然需要延誤許多秒的時間。Java kernel正在嘗試有 效的處理冷啟動,將冷啟動轉變為熱啟動,通過一些相關的技術,如預加載(pre-loading) JRE,從硬盤讀入到內存,還有一個操作系統服務,這個服務的功能就是監視可分配的內存來加載 JRE,使得用戶獲得最佳的性能。出了這些,kernel還提供了 一個新的瀏覽器插件,提供給Web 開發者更多的關于桌面運行信息,可獲得的 JRE水平等等。

  對于桌面Java來說,Java kernel Java FX兩大好消息。說Kernel是一個非常好的技術,是因為 它承認了Swing已經到了一個非常成熟的階段,并且幫助開發這如何將他們的 Java應用程序更為快速,更為有效的搬到用戶桌面上。說FX 是兩外一個非常好的消息,是因為它為Java開發者打開了新篇章,特別是那些愿意使用腳 本語言和做一些高級的,活波的,圖形效果的開發者,他們只需要寫簡單幾行代碼就可以完成。我相信這兩項技術將會 使得更多的應用程序用Java語言編寫,運行在用戶的機器上,同時,對于用戶和開發者來 說,應用程序變得更快,更簡單。