Java正在让位于Flex吗?
作者 Moxie Zhang译者 张龙 发布于 2008年11月15日 上午8时14分
随着富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对以上讨论进行了总结,他说到:“我喜欢这种对话。这种讨论是没有限制的,我渴望不同的声音。来吧,朋友”。