富互聯網應用是那些提供與Web應用程式類似的功能,並可作為桌面應用程式體驗的應用。與用戶的正常網路應用程式相比,它們提供更好的視覺體驗。這些應用程式可作為流覽器插件或作為虛擬機提供,用於將傳統靜態應用程式轉換為更加增強,流暢,動畫和引人入勝的應用程式。
與傳統的桌面應用程式不同,RIA
不需要任何額外的軟體來運行。作為替代需要安裝一些軟體,如:ActiveX
,Java
,Flash
,這取決於應用程式使用的組件。
在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的一個組成部分一起發佈。