专访 Java Champion Johan Vos

作者:Janice J. Heiss

Java Champion Johan Vos 讲述 Java 技术领域的动态以及为 JavaOne 2013 所做的准备。

2013 年 9 月发布

Johan Vos
Johan Vos

Johan Vos 不仅是 Java 的资深专家,而且还是 Java 的多面手。他第一次研究 Java 是在 1995 年,那时他正在攻读应用物理学博士学位,随后不久便加入了 Blackdown 团队,并将 Java 1.2 移植到了 Linux/SPARC。他随后担任了多家公司的 Java 顾问,2000 年与人共同创办了 LodgON。该公司主要帮助组织通过特别注重高交互性从互联网项目中获得最大价值。LodgON 为托管网站提供基于开源 DaliCMS 平台的社区功能,以及基于 DaliCommunity 平台的高度互动社区。

此外,Vos 还是制定了 OSGi 平台规范的 OSGi 核心平台专家组的成员。他涉足包括 Java ME 和 Java EE 在内的多种 Java 环境。

Vos 的主要工作领域是基于 Java 的社交网络软件解决方案,因为正如他所说,他无法在嵌入式与企业开发之间做出选择。他的主要重点是端到端的 Java,结合后端系统和嵌入式设备的优势。他目前最喜欢的技术是后端的 Java EE/GlassFish 和前端的 JavaFX。

他还拥有采矿专业的土木工程硕士学位。

Vos 是一名 Java Champion,同时还是 BeJUG 督导小组、Devoxx 督导小组和 JCP 的成员。他与人合著了《Pro JavaFX 2》一书,并在多个 Java 专题会议(包括 JavaOne 和 Devoxx)上发表演讲。他的博客是 http://blogs.lodgon.com/johan,Twitter 主页是 http://twitter.com/johanvos

他将在 2013 年的 JavaOne 中作两次专题讲座:

  • CON4103,“使用 DaliCore 基于 Java EE 7 构建社交软件”
  • CON3202,“DataFX:向 JavaFX 应用程序注入实际数据的最佳方法”

Oracle 技术网:请谈谈您 JavaOne 大会专题讲座的情况。

Vos:在“使用 DaliCore 基于 Java EE 7 构建社交软件”中,我将介绍如何将社交软件功能集成到 Java EE 7 应用程序中。许多企业应用程序可以在一定程度上与 Facebook、LinkedIn 和 Twitter 等集成,并在不危及用户隐私的情况下拥有数据。DaliCore 框架将用户和网上帐户的概念带到 Java EE 世界,并且提供了与现有社交网络整合的能力。这可以节省大量项目特定的样板代码。这种方法对 Web 应用程序和桌面应用程序都适用。

在“DataFX:向 JavaFX 应用程序注入实际数据的最佳方法”中,我将和 Hendrik Ebbers 介绍 DataFX 2,这是一个可以帮助 JavaFX 开发人员用实际数据填充 JavaFX 控件的框架。现在 JavaFX 已经过了演示和 POC(概念证明)阶段,所以将演示用的假数据替换为通常来自后端服务器和数据库的实际数据变得至关重要。除了查询 JDBC 源或 RESTful Web 服务等常规情况外,我们还将演示如何将逻辑数据的更改再次传播到后端,同时我们可能还会演示如果通过 WebSocket 检索和显示实时数据。

Oracle 技术网:除了您的专题讲座,您的 JavaOne 2013 之旅还有什么安排呢?

Vos:这将是繁忙的一周。有很多有趣的专题讲座,还有很多有趣的社交机会。我会着重去寻找一些令人惊奇的东西,无论是有关技术,还是有关商业。从技术的角度,我将寻找一些你们意想不到的 Java 部署和案例。我很可能会花时间听一些有关嵌入式 Java 和科学 Java 的专题讲座,希望能找到 Java 在火星机器人、飞行汽车等方面的应用案例。

此外,作为一名技术人员,我想我知道可以用 Java 做什么,但我一直在找具有独特经营理念的人。技术本身是改变世界的助推器,但如果没有伟大的想法和理念,技术始终只是技术。在 JavaOne 上,开发人员和创新者有机会相互切磋,我真的很期待。

社交媒体的未来

 

“很多公司和广告媒体仍然无法最大程度地利用企业与社交网络之间的协同作用。问题通常是‘谁是用户数据的拥有者:社交网络还是公司?’大多数情况下,最佳答案是‘都是’。”

Johan Vos

Oracle 技术网:您如何看待社交媒体的未来?

Vos:对社交媒体的看法一直都在变。几年前,许多人和公司都忽略了 Facebook、LinkedIn 以及 Twitter,因为当时的社交媒体只是被视为儿戏。今天,我们看到大多数公司都在这些社交媒体上安营扎寨,甚至许多公司用社交媒体来拓展业务。然而,很多公司和广告媒体仍然无法最大程度地利用企业与社交网络之间的协同作用问题通常是“谁是用户数据的拥有者:社交网络还是公司?”在大多数情况下,最佳答案是“都是”。我们看到大多数社交网络都提供了优秀的 API,允许公司构建应用程序,使它们不仅可以利用社交网络,而且还是额外数据的拥有者。然而,许多公司对社交网络的使用仍然仅限于“喜欢”按钮或“与朋友分享”。

除了社交网络 API 被越来越多地使用以外,我认为移动 API 和应用程序的作用将不可小视。我们看到绝大多数社交网络在移动客户端上都有较大的投入,我希望应用程序也能够顺势而为。对于后端,至于用户使用的是 Web 浏览器、桌面客户端还是移动客户端来访问功能,实际上并不重要。通过在移动客户端上提供业务功能,后端的潜在价值将显著提高。

JavaFX 的未来

Oracle 技术网:您如何看待 JavaFX 的未来?

Vos:虽然事实证明 HTML5 可用于创建漂亮、华丽的网站,但我相信世界上不止一种前端技术。对许多开发人员而言,相比于为用户界面编写标记语言,创建用户界面更为直观。如果关注点不仅是可视化,还有业务功能以及与其他(后端)系统的通信,那么编程语言(如 Java,JavaFX 是 Java 的一部分)更可靠。即便如此,单凭 JavaFX 出色的可视化功能就足以让许多公司在实现某些功能时选择 JavaFX,而不是 HTML5。

JavaFX 可以成为优秀前端平台的一个主要原因是它是纯 Java。您只需编写一次应用程序,便可随处运行(从台式机到平板电脑,再到智能手机),可以显著节省成本和时间。我们还没有到那一步,但这是 JavaFX 的前进方向,我希望在 JavaOne 能找到更多的证据。

 

“Lambda 的出现是 Java 平台的一场革命”。

Johan Vos

Oracle 技术网:您最近在忙什么呢?

Vos:我经常试着将 Java EE 7 和 JavaFX 结合起来。我相信,这两种技术是互补的,虽然它们完全没有关系,但将它们结合起来可以产生神奇的端到端项目。

作为 POC,为了得到对 DaliCore 和 DataFX 都有用的真实用例,我已经开始编写提供社区功能的 JavaFX 应用程序。应用程序的前端用 JavaFX 编写,后端使用 DaliCore 基于 Java EE 7 开发。在该应用程序中,前端与后端之间要传输大量数据。在开发该应用程序的过程中,我感觉 DataFX 真的改善了很多。

这个项目的目的不是用 JavaFX 重写 Facebook,而是演示如何编写可结合额外应用程序特定数据,与社交网络进行整合的 JavaFX 应用程序。

对 Java EE 7 和 Java SE 8 的期望

Oracle 技术网:您对 Java EE 7 和 Java SE 8 有什么期望?

Vos:Java EE 7 是在 Java EE 世界中迈出的一大步。Java EE 7 给企业开发人员的生活带来了更多便利和乐趣。过去,编写企业应用程序通常很枯燥,因为您要写大量样板代码和配置。现在,使用 Java EE 7,您可以真正只关注应用程序特定的代码。

我没发现有多少完全不向后兼容的变化,所以我相信开发人员可以很快适应 Java EE 7。此外,市面上有大量有关 Java EE 7 的书籍(例如 Arun Gupta、Antonio Goncalves 和 Josh Juneau 的著作),而且互联网上也有许多在线教程,所以开发人员可以很快上手。

 

“我深信,一旦 Java 运行时和 JavaFX 可视化库支持大多数常见设备、平板电脑和手机,开发人员定将开始为这些新兴市场编写最酷的应用程序。”

Johan Vos

Java EE 7 属于 Java EE 世界中可预期的正常演变,而 Java SE 8 则有所不同。Lambda 的出现是 Java 平台的一场革命。我读过众多专家就如何使用 Lambda 展开的一些讨论,我认为模式还不够明晰。一旦 Java SE 8 得到大多数 Java 用户的采用,我们将看到如何真正在实践中使用 Lambda。

我使用 Java SE 8 已经有些时间了,在服务器(作为 GlassFish 4 背后的 JVM)和嵌入式平台(使用基于 ARM 的设备 Raspberry Pi 上 Java 8 的预览版)上都用过,其性能和稳定性都令我满意。各版本修复的缺陷数量也令人印象深刻。(我今天从 b101 升级到了 b104,之前遇到的一些问题现已修复。)

JavaFX 作为 Java 8 的一部分,我又看到了另一个机会。过去几个月,我们看到了一些关于“Java 漏洞”的报告。大多数这些与安全相关的问题都跟 Java 在浏览器环境中提供的沙盒模型有关 — 我知道修复这些问题需要耗费大量资源。使用 JavaFX 8 和 Java(FX) 打包器工具,现在可以更轻松地创建可通过第三方应用程序商店分发的独立 Java 应用程序。我希望这会成为分发 Java 应用程序的主要方式,而不是将 Java 应用程序推入沙盒。

Oracle 技术网:您觉得 Java 的总体情况怎么样?

Vos:Java 平台很大,Java 的情况很难一概而论。企业部分很稳定;Java EE 7 规范符合行业和开发人员的需求,从事 Java EE 规范的专家组对行业动态了如指掌。这方面的一个证据是,我知道人们现在正转向云、PaaS [平台即服务]、NoSQL 以及变得越来越能为行业所用的其他技术。只要专家组能密切关注这些发展,并尝试提供一种方法在 Java EE 应用程序中加以实现,我对未来就充满信心。

Java 的客户端部分则完全不同。包含 MIDP、KVM、CVM、Swing、JavaFX Script、JavaFX、Java ME 等的时间表有点像过山车。这很正常,因为客户端行业(包括移动和嵌入式)本身也很动荡。在这个市场细分,要为 Java 制定长期的路线图并不容易,因为在这个领域,很多外部因素都能左右技术的成败。不过,我觉得这是一个极为重要且增长旺盛的市场细分。所有报告都表明移动和嵌入式领域在增长,我希望绝大部分设备都支持 Java 平台。由于移动和嵌入式设备的多样化,要实现这个目标并不容易。但我深信,一旦 Java 运行时和 JavaFX 可视化库支持大多数常见设备、平板电脑和手机,开发人员定将开始为这些新兴市场编写最酷的应用程序。

另请参见

关于作者

Janice J. Heiss 是 Oracle 的 Java 策划编辑,并且还是 Java Magazine 的技术编辑。

分享交流

请在 FacebookTwitterOracle Java 博客上加入 Java 社区对话!