JavaFX - 概述

富互联网应用程序是那些提供与桌面应用程序类似功能和体验的 Web 应用程序。与普通 Web 应用程序相比,它们为用户提供了更好的视觉体验。这些应用程序以浏览器插件或虚拟机的形式提供,用于将传统的静态应用程序转换为更强大、更流畅、更生动、更吸引人的应用程序。

与传统的桌面应用程序不同,RIA 不需要任何额外的软件来运行。作为替代方案,您应该根据应用程序安装 ActiveX、Java、Flash 等软件。

在 RIA 中,图形呈现在客户端处理,因为它有一个插件,提供对丰富图形的支持。简而言之,RIA 中的数据操作在服务器端执行,而相关的对象操作在客户端执行。

我们有三种主要技术可用于开发 RIA。这些包括以下内容 −

  • Adobe Flash
  • Microsoft Silverlight
  • JavaFX

Adobe Flash

该软件平台由 Adob​​e Systems 开发,用于创建富互联网应用程序。除此之外,您还可以构建其他应用程序,例如矢量、动画、浏览器游戏、桌面应用程序、移动应用程序和游戏等。

这是开发和执行 RIA 最常用的平台,桌面浏览器普及率为 96%。

Microsoft Silverlight

与 Adob​​e flash 一样,Microsoft Silverlight 也是一个用于开发和执行富互联网应用程序的软件应用程序框架。最初,该框架用于流媒体。目前的版本也支持多媒体、图形和动画。

该平台很少使用,桌面浏览器普及率为 66%。

JavaFX

JavaFX 是一个 Java 库,您可以使用它来开发富互联网应用程序。通过使用 Java 技术,这些应用程序的浏览器普及率达到 76%。

什么是 JavaFX?

JavaFX 是一个用于构建富互联网应用程序的 Java 库。使用此库编写的应用程序可以在多个平台上一致运行。使用 JavaFX 开发的应用程序可以在各种设备上运行,例如台式计算机、移动电话、电视、平板电脑等。

要使用 Java 编程语言开发 GUI 应用程序,程序员需要依赖 Advanced Windowing ToolkitSwing 等库。 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 的声明性标记语言。这种语言的唯一目的是定义用户界面。

  • Scene Builder − JavaFX 提供了一个名为 Scene Builder 的应用程序。在将此应用程序集成到 Eclipse 和 NetBeans 等 IDE 中后,用户可以访问拖放设计界面,该界面用于开发 FXML 应用程序(就像 Swing Drag & Drop 和 DreamWeaver 应用程序一样)。

  • Swing 互操作性 −在 JavaFX 应用程序中,您可以使用 Swing Node 类嵌入 Swing 内容。同样,您可以使用 JavaFX 功能(如嵌入式 Web 内容和丰富的图形媒体)更新现有的 Swing 应用程序。

  • 内置 UI 控件 − JavaFX 库提供 UI 控件,我们可以使用这些控件开发功能齐全的应用程序。

  • 类似 CSS 的样式 − JavaFX 提供类似 CSS 的样式。通过使用它,您只需掌握一些 CSS 知识即可改进应用程序的设计。

  • Canvas 和打印 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 (形式跟随功能),其开发目的是为开发 GUI 应用程序提供更丰富的界面。

  • Sun Microsystems 于 2005 年 6 月收购了 See Beyond 公司,它将 F3 项目改编为 JavaFX

  • 2007 年,JavaFX 在每年举办一次的全球网络会议 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 的一个组成部分发布。