写点什么

Oracle 为客户端 Java 制定两年计划

  • 2011-10-25
  • 本文字数:1560 字

    阅读完需:约 5 分钟

Oracle 以往主要关注企业级软件,这使人们误以为 Oracle 在很大程度上忽略了 Java 客户端软件。然而在今年的 JavaOne 大会上,Oracle 明确表示他们正在重新推动桌面端的开发,主要代表就是 JavaFX 。而且 JavaFX 也将通过 OpenJDK 使整个 JavaFX 平台开源。

其实 JavaFX 早在 2008 年就已经提出来了,然而只获得了有限的推动。因为很多开发者抱怨,在使用这种 GUI 开发框架的时候,他们不得不学习一种新的编程语言( JavaFX Script )。在去年的 JavaOne 大会上,Oracle 宣布,JavaFX 2.0 将摒弃 JavaFX Script,代替它的是一套完全基于 Java 的 API。JavaFX 2.0 基于上述说法发布,这意味着开发者可使用任何基于 JVM 的编程语言(Java、Clojure、 Scala、Groovy 等等)和在 JVM 运行的任何平台来开发 JavaFX 应用程序。这种改变同时带来一些新特性,像基于 XML 的 UI 表述语言( FXML ),并且支持包括微软的 Kinect 在内等新设备。

为了帮助开发者们更好地使用 FXML 语言,Oracle 正在开发一套图形编辑器—— JavaFX Scene Builder ,且已在大会上展示过。该编辑器是一款独立的编译工具,并将集成在 NetBeans 中。目前它还只处于内部的 beta 版,预计公共版本最早会在 2012 年与大家见面。

同时,Oracle 关注 HTML5 和 JavaScript。JavaFX 2.0 让我们可以在 JavaFX 应用程序中嵌入 HTML5 的内容,这些内容会通过 WebKit 渲染。在 JavaOne 大会上,Oracle 还宣布了另一项名叫 Avatar 的工程,它的主要任务是:让基于 HTML5 UIs 的混合应用程序,无论是在数据中心还是云里,都可以共享 Java 客户端和 Java EE 服务器上的内容。

与此同时,Oracle 将在一定程度上继续支持 Swing。很明显,Oracle 相信,JavaFX 将是构建 Java UI 应用程序的最好途径,因为在 InfoQ 参与和组织的各种相关会议中,人们都表现出对 JavaFX 极大的兴趣。然而作为 GUI 开发系统,无论 JavaFX 怎么好,如果不能在期望的目标设备上运行,那么就毫无意义。

在移动开发领域,这个问题尤为突出。Java ME 是 Sun 和移动电话设备之类平台的成功先驱者,然而 Java ME 技术在近些年来一直徘徊不前。正在进行中的相关研究也被基于 Java 的、在 QNX real-time OS 系统上运行的黑莓(BlackBerry)所替代;Nokia 所依赖的 Java ME 也正因向 Windows Mobile 平台转变而面临褪色,甚至基于 Java 的 Android 平台也在使用非标准化的 Java 实现。

前景可期, 在今年的 JavaOne 大会上,Oracle 宣布了“统一 Java ME 和最新版本的 Java SE”的计划。这个聚合的平台具有重大意义,因为各种相关技术,例如 JavaFX,将会在更多的设备上使用。在与 Oracle 融合中间件团队中的客户端开发副主席 Nandini Ramani 的一次交流中,她说她可以让同一款 JavaFX 游戏既运行在 Android 平板电脑上,又运行在 iPad 上——这会受到大家的热烈欢迎。然而这并不意味苹果公司终于后悔了,并让 JVM 运行在 iOS 系统中。这个实例只是说明这样的理念:并不是要求每个人在启动程序中连接私有的 JVM 资源,而只是证明了存在这样的可能性。在后来的一次交谈中,Ramani 证实,是否在实践中应用运行这种技术,Oracle 不会与苹果公司再进行讨论。她同时指出,这已有先例,例如苹果为了规避类似的限制,已经允许相同的技术在 OS X app store 和 Cyberduck 使用,而且他们确实这么做了。

Oracle 同时注重 JavaFX 在更多的桌面操作系统使用,预期明年发布在 OS X 和 Linux 操作系统上运行的 GA 版本。在 2013 年,Java 8 SDK 版本将会包含 JavaFX 3(可能在各种平台上运行)产品。届时,Oracle 会通过 JCP 对该项技术实施标准化。

最后,在 2010 年苹果公司宣布放弃自己的 Java 实现平台后,目前 Oracle 已经拥有可在 Mac OS X 平台上用的 JDK 7 预览版本,预计将于 2012 年发布 GA 版本。

查看英文原文: Oracle Sets Out Two Year Plan for Client-side Java

2011-10-25 22:543391

评论

发布
暂无评论
发现更多内容

Libra教程之:运行自定义move modules

程序那些事

比特币 区块链 以太坊 libra blockchain

架构师训练营-第二周-作业1

狂奔嘀兔纸

极客大学架构师训练营

第二周总结

changtai

[Redis源码阅读]redis持久化

老胡爱分享

数据库 redis 缓存 持久化

Spring BeanPostProcessor 你不能不知道的事

CoderLi

Java spring 程序员 源码分析 后端

【架构师训练营】第2周总结

花生无翼

极客大学架构师训练营

BAT面试题汇总:分布式+Dubbo +JVM+微服务+多线程+Spring附答案(建议收藏)

程序员生活志

Java spring 面试 分布式 mybatis

架构师训练营第二周总结

极客大学架构师训练营

学习一下:我的学习之道

非著名程序员

学习 程序员 程序人生 提升认知

为什么 Vue 更符合这个时代的大势所趋

葡萄城技术团队

Vue SpreadJS

依赖倒置原则理解

Thrine

架构师训练营第二周总结:软件开发简史和框架设计的方法

hifly

设计模式 极客大学架构师训练营

面向对象设计原则

陈皮

「架构师训练营」第2周作业 - 设计原则

guoguo 👻

极客大学架构师训练营

「架构师训练营」第 2周作业

旭东(Frank)

架构 极客大学架构师训练营

Redis系列之扫盲篇(一)

z小赵

Java 分布式 高并发系统设计

【架构师第二周】总结

浪浪

第二周作业

大雄

依赖倒置

Libra教程之:Libra testnet使用指南

程序那些事

比特币 区块链 以太坊 libra blockchain

基于 Docker 实现 MySQL 主从复制

ytao

MySQL Dockerfile

2020年6月17日 MySQL基准测试

瑞克与莫迪

架构师训练营作业 --Week2

吴炳华

极客大学架构师训练营

原创 | TDD工具集:JUnit、AssertJ和Mockito (二十二)编写测试-超时

编程道与术

Java 编程 TDD 单元测试 JUnit

听说你 ping 用的很 6 ?给我图解一下 ping 的工作原理

小林coding

面试 计算机网络 计算机基础

Libra教程之:来了,你最爱的Move语言

程序那些事

比特币 区块链 以太坊 libra blockchain

重学 Java 设计模式:实战代理模式「模拟mybatis-spring中定义DAO接口,使用代理类方式操作数据库原理实现场景」

小傅哥

设计模式 小傅哥 重构 代码优化

0616作业2

Geek_10

程序员开发色情游戏,赴日寻找AV女优真人拍摄,结果...

程序员生活志

程序员 游戏开发

一款开源的Diffy自动化对比测试框架:超详细实战讲解

狂师

开源 测试 测试驱动开发实战营 自动化测试

如何高效开会?

石云升

高效工作 时间管理 高效 开会

架构师训练营-week2命题作业

J.Smile

极客大学架构师训练营

Oracle为客户端Java制定两年计划_Java_Charles Humble_InfoQ精选文章