JavaFX概述和簡介


富網際網路應用是那些提供與Web應用程式類似的功能,並可作為桌面應用程式體驗的應用。與使用者的正常網路應用程式相比,它們提供更好的視覺體驗。這些應用程式可作為瀏覽器外掛或作為虛擬機器提供,用於將傳統靜態應用程式轉換為更加增強,流暢,動畫和引人入勝的應用程式。

與傳統的桌面應用程式不同,RIA不需要任何額外的軟體來執行。作為替代需要安裝一些軟體,如:ActiveXJavaFlash,這取決於應用程式使用的元件。

在RIA中,圖形表示在用戶端處理,因為它有一個豐富的圖形提供支援的外掛。 簡而言之,RIA中的資料操作在伺服器端執行,而相關物件操縱在用戶端端執行。

有三個主要技術可使用於開發RIA。這些三個技術以下 -

  • Adobe Flash
  • Microsoft Silverlight
  • JavaFX

Adobe Flash

這個軟體平台由Adobe Systems開發,用於建立富網際網路應用程式。 除此之外,還可以構建其他應用程式,如向量,動畫,瀏覽器遊戲,桌面應用程式,移動應用程式和遊戲等。

這是開發和執行RIA的最常用平台,桌面瀏覽器滲透率為96%

Microsoft Silverlight

像Adobe Flash一樣,Microsoft Silverlight也是用於開發和執行富網際網路應用程式的軟體應用程式框架。最初,這個框架用於串流媒體。當前版本還支援多媒體,圖形和動畫。
這個平台較少使用,用於桌面瀏覽器滲透率66%

JavaFX

JavaFX是一個Java庫,可以使用它開發富網際網路應用程式。通過使用Java技術,這些應用程式的瀏覽器滲透率為76%

JavaFX是什麼?

JavaFX是用於構建富網際網路應用程式的Java庫。 使用此庫編寫的應用程式可以跨多個平台一致執行。使用JavaFX開發的應用程式可以在各種裝置上執行,如台式計算機,手機,電視,平板電腦等。

要使用Java程式設計語言開發GUI應用程式,程式員依賴於諸如高階視窗工具包(AWT)和Swings之類的庫。在JavaFX出現之後,這些Java程式開發就可以有效地利用豐富的類庫來開發GUI應用程式。

需要JavaFX

要開發具有豐富特性的用戶端應用程式,程式員過去依賴於各種庫來新增諸如媒體,UI控制元件,Web,2D和3D等功能。JavaFX將所有這些功能包括在單個庫中。除了這些,開發人員還可以存取Java庫的現有功能,如:Swings。

JavaFX提供了一組豐富的圖形和媒體API,並通過硬體加速圖形利用現代圖形處理單元。JavaFX還提供了介面,開發人員可以使用它們組合圖形動畫和UI控制元件。

可以使用JavaFX和基於JVM的技術,如Java,Groovy和JRuby。 如果開發人員選擇JavaFX,沒有必要學習額外的技術,因為任何上述技術的先前知識將足以開發使用JavaFX的RIA。

JavaFX的特性

以下是JavaFX的一些重要功能 -

  • 使用Java語言編寫- JavaFX庫都是用Java編寫的,可用於在JVM上執行的語言,包括Java,Groovy和JRuby。這些JavaFX應用程式也是平台無關的。
  • FXML - JavaFX採用稱為FXML的語言,這是一種類似宣告式標示語言的HTML。這種語言的唯一目的是定義使用者介面。

  • Scene Builder - JavaFX提供了一個名為Scene Builder(場景生成器)的應用程式。 在將此應用程式整合到IDE(如Eclipse和NetBeans)中時,使用者可以存取拖放設計介面,用於開發FXML應用程式(就像Swing Drag&Drop和DreamWeaver應用程式一樣)。

  • Swing互操作性 - 在JavaFX應用程式中,可以使用Swing Node類嵌入Swing內容。 同樣,可以使用JavaFX功能(如嵌入式Web內容和豐富的圖形媒體)更新現有的Swing應用程式。

  • 內建UI控制元件 - JavaFX庫UI控制元件使用它可以開發一個全功能的應用程式。

  • 類似CSS的樣式 - JavaFX提供像樣式的CSS。 通過使用它,可以使用CSS的簡單知識改進應用程式的設計。

  • 畫布和列印API - JavaFX提供了Canvas,即時模式樣式的渲染API。 在包javafx.scene.canvas中,它包含一組用於canvas的類,可以使用它們直接在JavaFX場景的一個區域內繪製。JavaFX還在javafx.print包中提供用於列印目的的類。

  • 豐富的API集合 - JavaFX庫提供了一組豐富的API來開發GUI應用程式,2D和3D圖形等。這套API還包括Java平台的功能。因此,使用此API,可以存取Java語言的功能,如通用,注釋,多執行緒和Lambda表示式。傳統的Java集合庫已增強,包括可觀察列表和對映等概念。使用這些,使用者可以觀察資料模型中的更改。

  • 整合圖形庫 - JavaFX為2d和3d圖形提供類。

  • 圖形管道 - JavaFX支援基於硬體加速圖形管道(稱為Prism)的圖形。 當與支援的圖形卡或GPU一起使用時,它提供平滑的圖形。 如果系統不支援圖形卡,則稜鏡預設為軟體渲染堆疊。

JavaFX歷史

JavaFX最初由Chris Oliver開發,當時他正在為一家名為See Beyond Technology Corporation的公司工作,在2005年,這個公司被Sun Microsystems收購了。

這個專案的更多資訊,有以下幾點 -

  • 最初,這個專案被命名為F3(表單跟隨函式),它的開發旨在為開發GUI應用程式提供更豐富的介面。

  • Sun Microsystems於2005年6月收購了See Beyond公司,將F3專案改造為JavaFX

  • 在2007年,JavaFX正式在Java One會議上宣布,這是一個年度舉行的世界網路會議。

  • 在2008年,JavaFX與Net Beans整合。同年,JavaFX 1.0的Java標準開發工具包發布。

  • 在2009年,Oracle公司收購了Sun Microsystems,並在同一年發布了下一個版本的JavaFX(1.2)。

  • 在2010年,JavaFX 1.3開發完成並行布,並在2011年JavaFX 2.0發布。

  • 最新版本JavaFX8,在2014年3月18日作為Java的一個組成部分一起發布。