技术开发 频道

Java和Flash之间的战争

  Java重装上阵

  Sun现在对这场战斗准备得更好些。Sun现在有丰富的程序库供动画制作使用,包括很受看中的Java 2D, Java 2D是与Adobe公司一起开发的,模仿PostScript的计算结构。有人说在Web动画方面,Flash之所以胜过Java applet是因为Flash提供了平滑的反混叠算法。如果Java 2D API不够的话,会有大量的开源程序库开发出来,供开发者使用。
        

  现在看来,Sun跟以前相比,对这场战斗确实准备得好一些,但留给Sun的问题是如何解决新瓶装旧酒。虽然工具已经给Web美工设计人员准备好了,但是Web美工设计人员对如何使用工具却没有准备好。一些Web美工设计人员能写Flash的脚本,但是使用纯粹的Java还欠功力。因此Sun需要创建一个新的语言,并且希望Web开发者能够喜欢并且使用新的编译器将之变成字节码,运行在Java虚拟机上。

  Sun确实也推出了新的语言JavaFX,我已经花了几天来试验新的语言,我得出的结论是JavaFX的成功或者失败主要取决于用户的体验。新的语法隐藏了一些Java中讨厌的语法限制,最大范围了满足需求,让用户使用起来更加自由,忽略了一些标点符号。关于颜色和布局的设计细节混合在代码中,写出来的代码有些像CSS、HTML和JavaScript的混合体。新的语言有许多内置的功能来处理最为常见的任务,例如加载远程文件。

  使用的这个语言的便利是要付出代价的:需要学习一个新的语言,记住另一套方式来构成一个Web应用程序。老的关键字“void”重新规定为“Void”,V要大写,但是这些关键字的定义会自动从函数中得来,不用显式的敲出来,这还是很方便的。除此之外,还有一些好的语法。

  经过一些实验,我发现对有些方面受不了。开始问自己为什么Sun不使用Groovy,使用一些简洁语言来进行Java富Web客户端程序设计?或者使用JavaScript?在浏览器中的JavaScript层和JavaFX applet之间有许多灵巧的钩子。或者使用原始的Java?我曾经想对于Java程序员来说,一些本可以拿Java本身表达的XML或者Properties文件不去表达,而非要掌握一个新的语言是否是一件明智的事情。

0