多读书多实践,勤思考善领悟

JavaFX 概述

本文于1810天之前发表,文中内容可能已经过时。

Rich Internet Applications (富Internet应用程序)

Rich Internet Applications (富Internet应用程序)是那些提供与桌面应用程序类似的功能和体验的Web应用程序。与用户的普通Web应用程序相比,它们提供了更好的视觉体验。这些应用程序作为浏览器插件或虚拟机提供,用于将传统静态应用程序转换为更强大,流畅,动画和引人入胜的应用程序。

与传统桌面应用程序不同,RIA不需要运行任何其他软件。作为替代方案,您应该安装ActiveX,Java,Flash等软件,具体取决于应用程序。

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

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

  • Adobe Flash
  • Microsoft Silverlight
  • JavaFX

Adobe Flash

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

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

Microsoft Silverlight

就像Adobe Flash一样,Microsoft Silverlight也是一个用于开发和执行富Internet应用程序的软件应用程序框架。最初,此框架用于流媒体。目前的版本也支持多媒体,图形和动画。

这个平台很少用于桌面浏览器的66%的渗透率。

JavaFX的

JavaFX是一个Java库,您可以使用它来开发富Internet应用程序。通过使用Java技术,这些应用程序的浏览器渗透率为76%。

什么是JavaFX?

JavaFX是一个用于构建富Internet应用程序的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的应用程序。在将此应用程序集成到IDE(例如Eclipse和NetBeans)中时,用户可以访问拖放设计界面,该界面用于开发FXML应用程序(就像Swing Drag&Drop和DreamWeaver应用程序一样)。
  • Swing互操作性 - 在JavaFX应用程序中,您可以使用Swing Node类嵌入Swing内容。同样,您可以使用嵌入式Web内容和丰富的图形媒体等JavaFX功能更新现有的Swing应用程序。
  • 内置UI控件 - JavaFX库提供UI控件,使用它可以开发全功能的应用程序。
  • 像Styling这样的CSS - JavaFX提供了类似样式的CSS。通过使用它,您可以通过简单的CSS知识改进应用程序的设计。
  • Canvas和Printing API - JavaFX提供了Canvas,一种即时模式的渲染API。在包javafx.scene.canvas中,它包含一组canvas类,我们可以使用它直接在JavaFX场景的区域内绘制。JavaFX还在包javafx.print中提供用于打印目的的类。
  • 丰富的API集 - JavaFX库提供了丰富的API来开发GUI应用程序,2D和3D图形等。这组API还包括Java平台的功能。因此,使用此API,您可以访问Java语言的功能,如泛型,注释,多线程和Lambda表达式。传统的Java Collections库得到了增强,其中包含了可观察列表和地图等概念。使用这些,用户可以观察数据模型中的变化。
  • 集成图形库 - JavaFX提供2d3d图形的类。
  • 图形管道 - JavaFX支持基于称为Prism的硬件加速图形管道的图形。与支持的图形卡或GPU一起使用时,它可提供流畅的图形。如果系统不支持图形卡,则棱镜默认为软件渲染堆栈。

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上正式宣布,这是一个每年举行的万维网会议。
  • 在2008年,可以使用与JavaFX集成的Net Beans。同年,JavaFX 1.0 Java 标准开发套件发布。
  • 在2009年,甲骨文公司收购了Sun Microsystems,并在同一年发布了下一版JavaFX(1.2)。
  • 在2010年,JavaFX 1.3问世,2011年JavaFX 2.0发布。
  • 最新版本JavaFX8于2014年3月18日作为Java的一个组成部分发布。