JavaFX - 概述



富網際網路應用程式是指那些提供與桌面應用程式類似功能和體驗的 Web 應用程式。與普通的 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 應用程式,程式設計師依賴於高階視窗工具包Swing等庫。在 JavaFX 出現後,這些 Java 程式設計師現在可以使用豐富的功能更有效地開發 GUI 應用程式。

JavaFX 的需求

為了開發具有豐富功能的客戶端應用程式,程式設計師過去常常依賴各種庫來新增媒體、UI 控制元件、Web、2D 和 3D 等功能。JavaFX 將所有這些功能包含在一個庫中。除了這些之外,開發人員還可以訪問 Java 庫(如Swing)的現有功能。

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 的宣告性標記語言。此語言的唯一目的是定義使用者介面。

  • 場景構建器 - JavaFX 提供了一個名為 Scene Builder 的應用程式。透過將此應用程式整合到 Eclipse 和 NetBeans 等 IDE 中,使用者可以訪問一個拖放設計介面,該介面用於開發 FXML 應用程式(就像 Swing 拖放和 DreamWeaver 應用程式一樣)。

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

  • 內建 UI 控制元件 - JavaFX 庫提供了 UI 控制元件,我們可以使用它們來開發一個功能齊全的應用程式。

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

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

  • 豐富的 API 集 − JavaFX 庫提供了豐富的 API 集來開發 GUI 應用程式、2D 和 3D 圖形等。這組 API 還包括 Java 平臺的功能。因此,使用此 API,您可以訪問 Java 語言的功能,例如泛型、註釋、多執行緒和 Lambda 表示式。傳統的 Java 集合庫得到了增強,並且其中包含了可觀察列表和對映等概念。使用這些,使用者可以觀察資料模型中的變化。

  • 整合的圖形庫 − JavaFX 提供了用於2d3d 圖形的類。

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

JavaFX 的歷史

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

以下幾點提供了更多關於該專案的資訊:

  • 最初,該專案名為 F3 (Form Follows Functions),其開發目的是為了提供更豐富的介面來開發 GUI 應用程式。

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

  • 2007 年,JavaFX 在Java One上正式釋出,Java One 是一個每年舉行的全球性網路會議。

  • 2008 年,集成了 JavaFX 的Net Beans可用。同年,釋出了 JavaFX 1.0 的 Java標準開發工具包

  • 2009 年,Oracle Corporation 收購了 Sun Microsystems,並在同年釋出了 JavaFX 的下一個版本 (1.2)。

  • 2010 年,JavaFX 1.3 釋出,2011 年釋出了 JavaFX 2.0。

  • JavaFX8 版本在版本更新後,於 2014 年 3 月 18 日作為 Java 的組成部分發布。

  • JavaFX 9 的功能集中在從 JavaFX 程式碼中提取有用的私有 API,以使這些 API 公開。

  • Oracle 宣佈他們將停止在 JDK 11 及更高版本中附帶 JavaFX。

  • JavaFX 11 首次於 2018 年 9 月釋出。

  • JavaFX 12 首次於 2019 年 3 月釋出,JavaFX 13 於 2019 年 9 月釋出。

  • JavaFX 14 於 2020 年 3 月釋出,版本 15 於 2020 年 9 月釋出。

  • JavaFX 16 於 2021 年 3 月釋出,版本 17 於 2021 年 9 月釋出。

  • JavaFX 18 於 2022 年 3 月釋出,版本 19 於 2022 年 9 月釋出。

  • 最新版本 JavaFX 20 於 2023 年 3 月釋出。

廣告