写点什么

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:543556

评论

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

使用 async_hooks 模块进行请求追踪

智联大前端

node.js 大前端 koa async_hooks

自动化测试现状趋势解读,附带近年自动化测试常用工具

程序员阿沐

程序员 软件测试 自动化测试 测试工程师

产品利益相关者分析

LT_product_elearning

滴滴开源Logi-KafkaManager 一站式Kafka监控与管控平台

滴滴云

kafak 滴滴开源 监控告警 运维平台

一周信创舆情观察(1.18~1.24)

统小信uos

Redis核心剖析:为什么这么“快”的秘密

Java架构师迁哥

【并发编程的艺术】内存语义分析:volatile、锁与CAS

程序员架构进阶

Java 架构 Java内存模型 28天写作

JDK源码深度学习!阿里P9架构师终于总结出了这份“源码级”的笔记了

Java架构追梦

Java 源码 架构 jdk 面试

听说隔壁班的程序员给女友做了个智能风扇

智能物联实验室

物联网

【Skeleton】按钮

德育处主任

CSS 大前端 CSS小技巧 28天写作 纯CSS

毫不留情地揭开负载均衡的真面目~

田维常

负载均衡

kotlin下载!我们究竟还要学习哪些Android知识?Android岗

欢喜学安卓

android 程序员 面试 移动开发

免费ETL批量调度,任务调度,作业调度自动化运维工具Taskctl Web

敏捷调度TASKCTL

大数据 kettle 海豚调度 自动化部署 ETL

互斥锁 vs 自旋锁

行者AI

互斥

LeetCode题解:389. 找不同,位运算,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

不可忽视的PHP数据精度损失问题

架构精进之路

php 七日更 28天写作

2021分享三面阿里:Java面试核心手册+Java电子书+技术笔记+学习视频

比伯

Java 编程 架构 面试 程序人生

面试官:一年跳槽三次,你是怎么做到的?

程序员阿沐

程序员 面试 软件测试 测试工程师

软件测试在不同应用场景中,我们该如何进行测试呢?

程序员阿沐

编程 程序员 软件测试 教程 测试环境

内存数据库解析与主流产品对比(二)

星环科技

数据库

阿里P8大牛亲自教你!实战讲述Flutter跨平台框架应用,安卓系列学习进阶视频

欢喜学安卓

android 程序员 面试 移动开发

图解分析:Kafka 生产者客户端工作原理

李尚智

kafka 中间件 消息队列 消息中间件

内存数据库解析与主流产品对比(一)

星环科技

数据库 大数据

云原生架构下复杂工作负载混合调度的思考与实践

星环科技

云计算

一文读懂HTTP协议的昨天,今天与明天

后台技术汇

28天写作

同事有话说:ThreadPoolExecutor是怎么回收线程的

Java 程序员 面试

Alibaba最新产物手册宝典:分布式核心原理解析,简直是Java程序员福音!

996小迁

Java 架构 面试 分布式

关注直播 走近滴滴夜莺K8S监控组件

滴滴云

k8s 滴滴技术 监控告警 滴滴夜莺

PostgreSQL使用clickhousedb_fdw访问ClickHouse

PostgreSQLChina

数据库 postgresql 开源 软件

一文告诉你Java日期时间API到底有多烂

YourBatman

LocalDateTime Date JSR310 Calendar

nacos 配置中心自动化运维之namespace坑

Sky彬

nacos

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