Sun 在客户端的回归会成功吗?

  • 霍泰稳

2007 年 6 月 19 日

话题:JavaJavaScript语言 & 开发

Elliotte Rusty harold 昨天在developerWorks 中国网站上发表了一篇回顾今年 JavaOne 大会的文章,对 Sun 在客户端方面的动作对基于富 Internet 应用的程序开发意义进行了分析。

今年的 JavaOne 大会是成功的,约有 10000 到 15000 人在一周的时间内聆听了这次大会。大会之后,Elliotte 得出的结论是服务器端已经发展到巅峰,至少在 Java 平台是这个样子的,像前两年异常火爆的HibernateSpring和 Servlet 等都已经是明日黄花。虽然仍然有很多人在使用它们,但基本可以将它们列入落伍者这一阵营中了。在 Java 领域,Sun 将关注点重新放在了客户端。

在 InfoQ 以前的报道中对 JavaFX Script 已经做了介绍,Sun 的 CTO 曾表示这一技术在桌面浏览器端会非常有竞争力,能完成许多 Flash 所不能完成的功能。但 Elliotte 却不这样认为:

每人可能都会产生这样的疑问,即 JavaFX Script 是否能代替或至少能够挑战 Flash。我认为答案是否定的。Java 语言一直 都能实现 Flash 所有的功能。只不过编写的时间会比较长。一个资深的 Flash 专业人士创建一个 applet 只需花三小时,而同样的工作如果用 Java 语言完成则要花上三星期的时间。JavaFX Script 缩短了二者之间的这种差距,所以现在 Java 程序员只需三天的时间就可以做出 Flash 专业人士三个小时做出来的东西。虽然提高了很多,但还远远不够。

另外 JavaFX Script 面临的尴尬问题是缺少工具的支持,没有和 Adobe Flash 完备的开发环境相抗衡的产品。也许只有等 Sun 推出杀手级的开发工具时,再谈 JavaFX Script 的流行才有现实意义。

用 Swing 来开发客户端应用程序是辛苦的,这次 Sun 不再强调 Swing 了,虽然也对 Swing 进行了修修补补。对于要定制基于 Swing 的 GUI,Sun 建议使用 Matisse GUI Builder,因为这可以将组件拖放到窗口并可视化地设置属性,就像在 Delphi 或者 VB 中那么简单。但是 Matisse 同样也有缺点:

(Matisse)所生成的代码应该被放置于单独的一个文件且不能和应用程序代码混淆。此外,选择使用 Matisse 会让您必须使用 NetBeans 作为 IDE。可以将这些代码放入其他的 IDE,比如 Eclipse,但如果日后要想将其放回到 NetBeans,Matisse 就会无所适从。这对于单个的开发人员或者是独立的团队来说可能不算什么,但对于开源团队项目而言却是个大问题,在这样的团队中,不同的开发人员使用不同的工具。

关于 Sun 在服务器端的竞争,社区内流传的一种说法是,Sun 创造了 Java,但风头却被 IBM 和 BEA 抢了个干净。现在 Sun 将注意力转移到客户端,希望能凭借 Java FX 等新玩意儿的推出重整江湖,但在微软推出 Silverlight、Adobe推出 Apllo 和 Flex的夹击之下,它能获得成功吗?你的观点是什么?

JavaJavaScript语言 & 开发