javafx是什么

Python011

javafx是什么,第1张

什么是 JavaFX ?

JavaFX 包含了一些列图形和媒体包,允许程序员设计、创建、测试、调试、和部署富客户端应用并且保持跨平台的操作一致性。

JavaFX 应用程序

JavaFX 应用程序由 Java API 编写,可以调用任何 Java API 包。例如,可以调用 Java API 访问本地操作系统,并且与服务器进行连接。

JavaFX 的外观可以自定义。层叠样式表(CSS)将应用的外观与功能分离,让程序员可以更专注于编码。美工可以简单地通过 CSS 来自定义应用程序的外观。

如果你有 Web 设计的背景,或者你想将 UI 和后台逻辑分离,那么你还可以将 UI 放入到 FXML 标记语言中,用 Java

编写业务逻辑。如果你只想编码,那么可以将编写 UI 的工作交给 JavaFX Scene Builder。在支持 JavaFX

的集成开发环境(IDE)中,可以使用 JavaFX Scene Builder 来编写 FXML 标记语言。

可用性

从 JavaFX 2.2 以后,JavaFX 已经集成在 JRE 7 和 JDK 7 以及以后的 Java 版本中了。因为 JDK

可以很好地运行在主流桌面系统上(Windows, Mac OS X, and Linux),因此 JavaFX

也可以运行在这些主流的桌面系统上。跨平台兼容性,可以让 JavaFX 的开发者和用户得到一致的体验。

在 JDK 的下载页面,可以获取 JavaFX 例子的 Zip 包。这些例子应用程序提供了很多代码来演示如何使用 JavaFX。

主要特性

JavaFX 2.2 和之后的版本都包含以下主要特性:

Java API

JavaFX 是一个 Java 包,由 Java 类和 Java 接口等原始的 Java 代码编写而成。这些 API 在设计上可以很友好的替代为 Java VM 语言,例如 JRuby 或 Scala。

FXML and Scene Builder

FXML 是基于 XML 的标记语言,用来创建 JavaFX UI。设计者可以直接编写 FXML 或者使用 IDE 的 Scence Builder 来编写 FXML。

WebView

Web 组件可以使用 WebKitHTML 技术将 Web 页面嵌入到 JavaFX 应用程序中。在 WebView 中运行的

JavaScript 可以调用 Java API,并且 Java API 也可以调用 WebView 中运行的 JavaScript。

Swing 集成

旧有的 Swing 应用程序可以更行 JavaFX 的新特性,比如丰富的图形媒体播放功能和嵌入 Web 页面的功能。

丰富的自有控件和CSS

JavaFX 提供了桌面应用程序需要用到的主要控件。并且控件的外观可以使用标准的 Web CSS 来进行控制。

画布(Canvas)API

Canvas API 允许在可以包含一个作图元素的 JavaFX scene 直接绘制图形。

支持多点触控

基于平台的底层能力,JavaFX 支持多点触控功能。

硬件加速的图形通道

JavaFX 图形渲染基于 Prism。如果使用了支持 Prism 的显卡或 GPU,JavaFX 可以很快的进行平滑渲染。如果系统不支持 Prism,那么默认值将会变为 Java 2D。

高性能的媒体引擎

媒体通道支持 Web 多媒体内容的播放,基于 GStreamer 媒体框架,提供了稳定的、低延迟的媒体播放框架。

自包含的应用程序部署模式

自包含的应用程序,可以包含所有的应用程序资源、Java 运行时以及 JavaFX 运行时。应用程序发布后,可以在操作系统本地安装,获得操作系统一致的安装和加载体验。

JavaFX 移动平台通过一系列手机设备传送富互联网应用程序

位于加州的Sun公司推出了用于开发和传送富互联网应用的Java移动平台 该平台致力于创建能满足不同客户需求的应用程序生态系统

开发人员可以通过普通的桌面和移动平台API创建拥有高保真声频和视频 多格式文本 向量化制图 动画和网络服务的RIA JavaFX移动版在Java ME技术上运行 可以使桌面和网络开发人员优化其程序 用于特殊的手机功能

据Sun的高级营销总监Param Singh说 我们提供编程模式的期望是过去开发工作中核心改变之一

Singh称 公司以不同的方式涉足手机领域 即与OEM和操作者的合作覆盖了整个设备栈 包括大众市场和智能手机 这关乎我们怎样帮助客户建立一个拥有成百上千程序的生态系统 虽然Sun将一直把注意力集中在高端手机市场 但是公司也意识到了低端市场的快速发展 而且低端市场的用户也希望跨平台获取信息

由于JavaFX手机版基于JavaME技术 对OEM和操作员的响应需要更紧密的融合和更低廉的成本 在其他供货商的平台 你可以建立好看的可视化程序但是你怎样才能利用设备的功能呢?无疑将是个难题

Enderle 集团的主要分析师Rob Enderle说 对于Sun来说在移动RIA领域的难题是他们开始得稍微晚了一些 因为很多公司都已经涉足这一领域了 现在这一领域的最主要的公司有Adobe System公司 该公司的地位甚至是微软都不能替代的

但是也有积极的一面 Java是移动手机领域中较为广泛应用的技术之一 把Java衍生物应用到更多的涉及图像的领域对开发人员是极具吸引力的 开发人员对JavaFX的接受程度不一 主要是看转变到JavaFX有多困难

考虑到大众市场和智能手机市场的需求 Enderle注意到低端设备倾向于不在浏览器上提供用户经验 而JavaFX不会那样做

他还说 虽然Sun确实可以为手机增加更多功能 但是也取决于手机制造商是否能使这一过程简单一些

JavaFX移动版的推出的同时 Sun也宣布与其合作的一些手机生产商 服务运营商和独立软件开发商 包括索尼爱立信 LG以及Sprint 虽然Sun在过去曾表示过希望与苹果公司的iPhone合作 但是这一流行的手机品牌却并未列入其合作者的名单中

Singh称 Sun虽然暂时未与苹果公司取得合作 但是Sun已经成功宣告JavaFX可以在Google的Android之上运行 所以对于在任何平台传送JavaFX和Java堆栈都没有技术障碍了 不过我们还是会根据合作对象的意向来选择怎样操作

这一次的发布是继JavaFX移动测试版后的又一次发布 它们之间的主要区别是后者加入了更多核心功能 其产品也进行了更新 编译器也进行了优化 而且修复了近 个漏洞

lishixinzhi/Article/program/Java/Javascript/201311/25334

 JavaFX脚本是一种声明式、静态类型编程语言。它具有一等函数(first-class functions)、声明式的语法、列表推导(list-comprehensions)及基于依赖关系的增量式求值(incremental dependency-based evaluation)等特征。

JavaFX脚本为多种多样的操作提供了声明式、无中间程序逻辑的语法,这些操作包括创建2D动画、设置属性或者声明在模式和视图对象之间的绑定依赖关系。