BT

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

JavaFX 2.0发布近况和未来计划

| 作者 Charles Humble 关注 798 他的粉丝 ,译者 黄玲艳 关注 0 他的粉丝 发布于 2011年4月20日. 估计阅读时间: 9 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

在去年的JavaOne大会上,Oracle宣布将继续投资JavaFX,在今年推出JavaFX 2.0​。但是,它同时也宣布将放弃支持JavaFX脚本,取而代之,用新的Java API来创建JavaFX应用。这个新的API也可以用于其他语言,如JRuby、Clojure、Scala和Groovy等。​

JavaFX 2.0​的测试已经启动,试用版只开放给JavaFX​的合作伙伴成员。beta版计划在​2011年上半年结束前发布。参与者可以通过多个渠道反馈,包括调查表,参与核心小组的讨论会议,​以及与JavaFX产品团队核心成员进行讨论等。

InfoQ对话Oracle的富客户端软件架构师Richard Bair​,探讨更多关于JavaFX的发布情况和未来的计划。​

InfoQ:​用版,你有些什么的期望?

对于发布试用版,我们最重要的目标是,在整个发布过程中,尽可能早地获取关于API和实现的反馈,这样我们可以在到达Beta版这个里程碑之前​进行调整。​如果我们在试用期间收集到​一定数量的反馈,我们的Beta版将会为广大的开发者社区提供更​好的初次体验。

另外一个目标是​给使用JavaFX旧版本​的公司提供良好的开始,这样他们就可以考虑将应用迁移​到JavaFX 2.0。​​

同时,​通过有节奏地发布版本,我们可以确保版本和发布机制都能够很好地运行,​这样​有助于以后的平滑发布。​

InfoQ时间表是怎的?你会多长时间更新版本?​

关于JavaFX 2.0的完整时间表可以在​ http://javafx.com/roadmap 看到。随着1月份首个试用版的发布,我们以后会每周发布新的版本。目前,发布的版本仅仅开放给JavaFX合作伙伴成员 ,还有Java开发者社区(如 Java Champions和Java User Group的负责人等)中活跃的个人开发者。当我们发布Beta版里程碑时,将会通过 Oracle Technology Network 开放给更多的用户群体。​

InfoQ:在用版中什么功能是没有的?​

目前在试用版中只有两个重要的功能没有:在标记中描述一个GUI声明,以及基于JavaFX的浏览器插件(它完全不需要Swing和AWT支持,就可以显示小应用程序)。

其他的基本都包含了,包括一个TableView的UI控件,将JavaFX嵌入Swing的能力,一个可以在JavaFX应用中渲染HTML内容的Web组件,绑定,可见列表,可​观测的地图等。

InfoQ:目前支持哪些平台?​

我们已经有支持Mac OS X和Windows(XP、Vista和7)的版本,尽管在我们初次发布时Windows将会是唯一官方支持的平台。我们会尽快支持Mac和Linux。​

InfoQ:JavaFX​常常因工具支持不够​遭受病——尤其是缺乏所需的集成境。JavaFX 2.0在方面有什么改进吗?​

从现在开始​依赖于Java APIs​的一个好处就是,开发者可以使用他们喜欢的Java IDE来开发JavaFX 2.0应用。比如调试、监测,以及代码自动填充等特性将被默认支持​,​我们也正与主要的IDE提供商合作,为平台提供一个紧密集成。​

在JavaFX 2.0中,我们初期会集中精力在提供富企业应用的APIs和必须​功能上​,还有富图形应用等。我们也将利用JavaFX 1.x中介绍过的设计师-开发者工作流概念,致力于互补工具解决方案。

InfoQ:以前的Java程序有两个共同的问题就是启动时间和性能。我相信​Prism(形硬件加速平台)应该有所不同。关于部分你可以多介一些?​

启动和运行环境性能​涉及到很多因素。Prism主要关注后者,意在充分利用最新的图形硬件的优势,以加速场景渲染(还有混合3D内容的能力)。​

通过Swing和AWT,事件调度线程同时负责事件调度和渲染。​通过Prism,​这些任务可以分为不同的线程,使我们能够充分利用现代多核系统,以便于在更短的时间内完成更多的工作。当然,针对不同目标设备也可以是单线程的架构,这是必须的,但是多数现代​机器单独的线程会提升帧率。

InfoQ:在Java 7或者Java 8中会有其他有益于JavaFX的具体功能?​

JavaFX​的设计符合在Java SE 8中会有​的“lambda”语言特性。lambdas目前的计划和目标是支持"单一抽象方法"接口。我们在JavaFX中设计新的Java APIs遵循这个原则,所以当lambdas有效时,他们自然都会使用JavaFX 2.0的APIs。

在Java SE 8​中会有的​模块化是另外一个有益于JavaFX的功能。模块化有助于部署(也许我们最终可以有一个网络部署的单一部署神器),有助于通过减少加载类的数量以提升启动​时间。​模块化也能在许多其他方面提升启动问题,例如​在“安装时间”执行一些工作​,缓存它,而不是每次应用程序启动时都重做工作。​

InfoQ:​放弃JavaFX脚本的支持意味着失去了言的某些好——如数据流式定和文字收集。通Java API些方面有多少支持呢?

JavaFX脚本最具创新的一个功能是它支持绑定,这是一个特别强大的概念。​更有甚者,在强大的表达式范围内,JavaFX脚本中的绑定支持是唯一的,以及​因惰性计算​而产生的高性能,这些都是有可能的。

我们将这些重要的功能都带到了JavaFX 2.0中,开发者应该很乐于学习这些。​它既有低级绑定APIs(非常有力但很复杂,尽管非常详细),也有高级绑定APIs,​这些都是采用接口模式。​另外,我们引入了观察收集(ObservableList和ObservableMap)。​

InfoQ:在JavaOne里提到的一些功能,既支持本地的Java 2D/OpenGL/HotSpot VM堆,也支持JavaScript/HTML5/web浏览器堆​通相同的API用​行渲染。在JavaFX 2中也有这样的支持?​

我们在探寻许多可能的途径,也在继续研究这个项目,这是相辅相成的,但不是JavaFX 2.0的一部分。

InfoQ:JavaFX2即将布的开源是怎的?​

在JavaOne我们已经宣布基于开源许可证书,我们会发布UI控件。我不能就具体计划发表评论,只是说我们致力于此计划。

InfoQ:将运行境作独立安装的一个部分布是有可能的?​

是的!这是最常被要求的功能之一,我非常高兴的说,展望未来,JavaFX许可证仍然希望沿袭JRE许可证,以允许基于特殊条件的一些发布。

InfoQ:JavaFX将作Java 7的一部分?​

JavaFX 2.0最初会提供Java SE 6和Java SE 7的​用户单独下载,但是我们计划在不久以后提供一个Java SE 7/JavaFX 2.0的合并版​。​

JavaFX网站​有更多关于测试发布的计划信息。

JavaFX脚本​也将通过开源项目​ Visage 独立于Oracle进行维护。去年我们曾经就这个项目采访了Stephen Chin​ ​。Chin现在正致力于随着发布试用版Visage的新版本,将​全面支持JavaFX 2 APIs。他也致力于Android版本的支持,希望能够在5月份发布一个可用测试版本。​

看英文原文:JavaFX 2.0 Will Bring Hardware Accelerated Graphics and Better Licensing Terms to the Platform

评价本文

专业度
风格

您好,朋友!

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

获得来自InfoQ的更多体验。

告诉我们您的想法

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

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

我想知道什么时候ios和android会支持javafx by yang yun

如题

Re: 我想知道什么时候ios和android会支持javafx by 霍 泰稳

Android支持JavaFX应该比iOS支持的快,毕竟他们是属于一个阵营的。

允许的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通知我

2 讨论

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


找回密码....

Follow

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

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

Like

内容自由定制

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

Notifications

获取更新

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

BT