BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

JavaFX:桌面和移动设备的客户端Java

| 作者 Geoffrey Wiseman 关注 0 他的粉丝 ,译者 宋玮 关注 0 他的粉丝 发布于 2007年10月12日. 估计阅读时间: 10 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

自从五月份JavaFX在JavaOne上首次宣布以来,聚焦于改善Java的客户端用户体验的一波行动已经开始了。InfoQ就JavaFX的内容及影响采访了Joshua Marinacci。

Joshua Marinacci,来自Sun的Swing工具包团队,最近汇总了JavaFX被认可的部分技术,极力证明JavaFX != JavaFX Script

JavaFX的市场定义是一套用来创建丰富用户体验的产品和技术。

那么非市场定义意味着什么呢?它意味着我们正在生产一连串聚焦于客户端和用户的新素材。这既意味着要创造一些能制造漂亮新应用的新技术,也意味着要改进现有技术使其变得更好。JavaFX是对客户端Java的根本性改进,因此我们可以用它构建未来应用。我最近更倾向于用户体验(User Experience)这个术语,而不是用户接口(User Interface)。因为用户体验不仅仅是GUI组件和特效(eyecandy),它还包括安装Java、运行Java应用、更新等体验。它涉及到速度和可靠性。它不仅仅包含创建体验还包括运行时体验。所有这些都是你的用户“体验”的一部分,甚至比UI部件还多。

他罗列了JavaFX旗下的技术:

  • JavaFX Script
  • 设计和开发工具(Designer and Developer Tools)
  • JavaFX Mobile
  • 面向消费者的JRE(Consumer JRE —— 包括:部署工具包、新的安装器、java内核、快速启动、媒体、Nimbus)

InfoQ就这些方面及其他方面对Joshua Marinacci进行了采访。

JavaFX Script

JavaFX Script是大幅改进构建客户端Java应用的一种新方法。JavaFX的最新教程介绍了基本 概念2D矢量画图板,客户服务器使用RMIJAX-WS进行通信以及从图形丰富站点再生页面。

无论是JavaFXPad 演示JFXBuilder 还是 NetBeans的JavaFX Script Plugin,这些工具还在不断地进化。

尽管 JavaFX script 没有为产品应用做好准备,而且现在 有点慢,它基本上还是一个进行中的工作。但是,它是构建在一套成熟的Java客户端技术之上的:

JavaFX Script(只是JavaFX的一部分)仍是测试版,还未为第一版做好准备。该语言仍在开发中,因此我还不想让每个人都将其应用转到它上面。可是,FX script是访问成熟JavaSE套件丰富特性的一种新方法。你可在快速稳定的运行时上获得大量高质量开源类库,你可以用多种不同语言开发。最棒的是你可以很容易与强大的服务器端Java应用一起工作。

设计和开发工具

除了已经讲到的JavaFX script工具,JavaFX旗下还有其它面向设计者和开发者的工具:

我们为设计者制作了一个全新工具集。它肯定将与我们的其它工具共享代码,但是它不仅仅是一些NetBeans的模块。而是明确定位于设计者和内容创建者的全套工具。更像是Flash而非IDE。我们或许还将给NetBeans GUI Builder(以前的Matisse)增加一些FX支持,但那与纯设计工具是分离的。
成为构建这种新设计产品团队的一员,我真的非常兴奋。我们有一些大师在从事此项工作并提出了一系列新的令人敬畏的想法。我认为许多人将会对该工具感到惬意、震惊。

我们为开发者制作了NetBeans插件(可以在alpha版的NetBeans里看到),以及一个羽翼丰满的编译器(在Java.net上的作为一个开源项目)。该编译器被设计在IDE之外工作,尽管很明显我们要与NetBeans很好的集成。

JavaFX Mobile

JavaFX Mobile构建在Sun所收购的SavaJe套件之上,它支持用于移动设备的一个完整套件,从操作系统到框架和应用:

JavaFX(不仅仅是JavaFX Mobile)的一个目标是终结分裂的平台。
我们经常说分裂Java是件坏事(咄!)而且这是为什么我们过去非常非常谨慎地开放Java源码。阻止Java分裂可能是Java生态系统里最重要的事情。如果是这样(我当然非常同意这种观点),那么任由移动端Java分裂而桌面和服务器端Java统一没有意义。所以这就是我们以如下方式谈论JavaFX Mobile原因:

  1. JavaFX Mobile是一个完整的移动套件和实现。它不仅仅是一套规范,还是一个实际(单一)实现。基本上它是完全用Java编写的全套 OS + 应用 + API 。只有内核和一些设备驱动是用C编写的。
  2. 我们可以在信号场内更新系统。移动市场将不再被存在bug的旧实现或当前特性所分割。每个设备可以在该平台的同一版本上工作。
  3. JavaFX Mobile是为高端电话设计的,这意味着它具备了JavaSE的能力。

[第三点]最重要的一点。我们的长期目标是使JavaSE和JavaME趋于一致。你不再需要了解多个API。只有一个Java。

尽管Josh不能深入说明哪家移动通讯公司可以提供给JavaFX Mobile设备,或评论Google phone传闻(“我与其他人一样热切地去看有这个传闻的站点”),他提供了一些影响iPhone的更多信息:

可是,我愿意说一件事情。人们经常困惑JavaFX Mobile将怎样与Apple的iPhone竞争。iPnone实际上是JavaFX Mobile的极好载体。假设你是一个手机制造商或一个不排斥Apple的移动通讯公司。如果你想制造一款类似iPhone设备,Apple自然不会帮助你销售你的移动设备的操作系统和应用。但是Sun愿意…… 移动世界接下来几年将会变得更加精彩。

面向消费者的JRE

The Consumer JRE本身是另一个技术簇,最近看到了其第一个 预览版,包括Nimbus外观(look and feel)。

面向消费者的JRE应该帮助那些只想使用由Java编写的应用程序的消费者,使其应用外观紧跟时代、比现在耗费处理时间更少。随着快速启动机制和硬件加速的应用,Java将比以前响应更快。

人们没有意识到的一个重要事情是,Java SE 6更新版N(以前的Hamburg项目,以前的Consumer JRE)是JavaFX的一部分。这是JavaSE 6 的一个新版本,极大提高了安装和部署体验。安装和部署听起来就让人烦,但这是用户开始或安装Java应用时所看到的第一步,所以它关系很多问题。JavaSE即将发生的变化是JavaFX套件之上许多更酷可视物件的基础。即使你不用JavaFX的任何东西,它们也是很有用的。可以看看在春天发布的Java SE 6第一个更新版本。

最终,Nimbus外观和媒体集成将使Java历程成为一种丰富且愉快的体验:

我的理解是处理媒体(尤其是视频)最大的挑战是法律问题而非技术问题,所以问题不在于Java不够快或不够强大。新媒体支持的第一版支持回放和抓帧,这已经足够去做人们想在Web上做的大多数酷事。我们不是在创建一个完整的像Quicktime那样的API,但是你将可以非常容易地做一些基本处理。

因此……

尽管这些雄心勃勃的计划都在进行中,Sun和Java是否具备在未来富媒体、华丽桌面应用方面产生重大影响的能力?或许这就是Java进军客户端的梦想到来的时候,抑或不是?Josh说到了这些成就的可信性

Sun已经抓住了企业客户端市场并且很成功。你或许会怀疑有多少大公司使用基于Swing的计费和销售系统。Sun以前(至少10年内)从未追随过消费者。现在我们这样做了,所以有些不同了。

我请人们不要听信我们的言辞,只要看我们实际正在做什么。试试JDK 7的开发构建;看看在新Java SE 6更新beta版中将要提供的新部署特性;操练一下JavaFX Script;用用NetBeans GUI Builder。我们正在使客户端发生真正的改变。我知道一些人感觉Sun是一个服务器公司,在客户端不具可信性,看看我们实际正在做和正在销售的东西吧。我同意这是一个大的变化,但是世界在变化。现在的Web已经不是5年前的Web了。移动世界正在被惊醒。什么都在变,包括Sun。

要想了解更多信息,请加入OpenJFX项目,去看Josh关于JavaFX的言论或者留下来转到InfoQ的Java社区.

查看英文原文:JavaFX: Client-Side Java for Desktop and Mobile

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

FX by tang tom

作者语言煽动性还是很强的列!

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT