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的一個組成部分一起發佈。