随着富 Internet 应用(RIA)技术的不断成熟,开发者可选择的余地也越来越大了,这样他们就不可避免地会对已有的技术如 Java 造成冲击。最近,游戏开发公司 Sharendipitous Moments 发表了一篇名为“我们正转向 Flash,这就是原因”的博文,讨论了 Java 是否正在让位于 RIA 技术,如 Flex。
这篇博文首先说到 Java 技术依然很棒:
Java 语言要远远优于 ActionScript,Java 编译器也更加先进。Java 能做的事情更多。还有,尽管 Flex Builder 构建在 Eclipse 之上,而针对 Java 的 Eclipse 开发环境已经出来好几年了。但公正的说,我们只是将 800 个类和将近 60,000 行的 Java 代码转化为了 ActionScript。
Sharendipitous Moments 之所以转到基于 Flash 的开发(Flex),主要原因在于 Java 的品牌。该博文说到:
Java 的品牌太失败了。Sun 很早就鼓吹 JavaFX 是用来拯救 Java 的,但它的发布时间太长了。同时,Flash 继续占据着统治地位。Silverlight 也是一个竞争者,但它还需要很长一段时间才能达到 Flash 那样的市场占有率。
根据这篇博文所述,品牌失败导致的结果是:“如果你看到 Java applet 正在被加载,那么你就会在页面上随便点一个链接而转向其他页面。”
很多开发者并不认可 Sharendipitous Moments 的观点。正如一个开发者所说:
没人用 Flex 处理关键的事情。但是这篇博文的博主却不敢苟同。他们都在说 Java 有多么地差,Flash 是多么地好。具备即时编译 JavaScript 能力的浏览器即将面世。你认识到这一点了么?Flash 的目标不是 Java,而是完全基于浏览器的应用。同时,Java 既可以应用在服务器端,也可以应用在客户端。
然而另一些开发者与 Sharendipitous Moments 的立场是一样。例如,Artima Developer 的高级编辑 Frank Sommers 说到:“我刚刚将一个规模庞大的 Swing 应用移植到了 Flex 上,整个过程让我非常满意。我真正缺少的东西就是一个好的 IDE,如 IntelliJ。Flex Builder 3 要想达到 IntelliJ 那样的高度还有很长一段路要走”。
来自 Sun 的 Ken Russell 也加入了这场争论:
我对 Sharendipity(很有特点的 JOGL 应用之一)迁移到 Flash 感到很失望。我们刚在 Java SE 6 Update 10 中完成了对 Java Plug-In 的重写,这会使 Java applet 的部署更加可靠、强大且轻便。6u10 现在可以用在 Linux、Solaris 及 Windows 上,同时 Sun 也正在积极地与 Apple 合作以完成 Mac 版本。对于重新激起 Java 平台上的客户端开发来说,这是万里长征的第一步。
软件开发咨询师 Martin Wildam 的态度比较中立:
我觉得你的想法站不住脚。从一般用户的角度来看,我觉得你说的很对,因为他们很可能在看到 Java starting 之前就已经转到别的页面去了。但我记得 Flash 的加载时间更长。用户是不会认识到这一点的,因为出现在他们面前的只是不同的动画而已。如果总是看到相同的 Flex-loading 图标,他们很可能也不会再等了。
Java World说到:
与此同时,Java Lobby 上的一篇文章对于 Java 开发者转到 Adobe RIA 平台很有帮助。但这对于可怜的 JavaFX 来说还不是世界末日,Artima Developer 的 Frank Sommers 认为还在发展初期的 RIA 语言从 Swing 中借鉴了大量的东西。
该博文的作者 Dale Beermann 对以上讨论进行了总结,他说到:“我喜欢这种对话。这种讨论是没有限制的,我渴望不同的声音。来吧,朋友”。
查看英文原文: Is Java losing Ground to Flex?
评论