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 月发布。

广告