Java Web“混合酒调制术”
很快,我逐渐喜欢这种语法。最大的好处就是所有的东西都在一个文件。布局对象、风格、动画效果都混个在一起。不需要区分CSS、HTML、JavaScript文件。实际上将所有的文件混合成一个文件并不是提倡的,许多机制鼓励程序员将项目细分成模块化。
混合是不是一件坏事?一些喜欢严格划分功能(如模型、视图、控制)的程序员就觉得此举简直不可理喻。将文件分成不同部分管理起来更加容易。将所有的文件混合在一起,放在一个JavaFX文件中就不容易将CSS文件给设计人员,不容易将JavaScript文件给AJAX程序员。没错,这么认为是对的。但是集成度这么高,利于不同文件的页面调度,给一些div一个id,接着赋予这个id一些风格,设置id如何动作。如果代码不是那么复杂,为什么不将他们混合起来呢?对于设计人员来说可以绕开程序员剪切和粘贴足够的代码。这么一来进行文件的分离并不是什么问题。
这种争论是不必要的,如果希望的语言有自己的方式来完成分离的工作。程序的皮肤由美工设计人员放到CSS文件中,而与此同时程序员可以专注于脚本的编写。对于美工设计人员来说,我猜想JavaFX比JavaScript和其它的一些语言更加容易上手。我也肯定有许多关于如何正确组织应用程序的争论。
Sun花了很大的精力将JavaFX工具加入到NetBean集成开发环境中。想要调查这些平台有没有增加JavaFX最简单的方法就是下载NetBean源代码看看。NetBean集成开发环境中也有来自Adobe的Illustrator、Photoshop和 Flash的插件,这些插件能制作图形。我认为存在这么一种可能:某个勇于尝试的美工设计人员在NetBeans中随心所欲选用自己喜欢的工具进行创作,在NetBeans创建出一件形态优美的作品来。但是对于一般的美工设计人员来说,他们还是需要一些帮助的,因为JavaFX的语法中有许多的选项,这些选项无处不在,还是有些令人费解。只有程序员才能想出将if-then语句加入到一个字符串的定义,如:
var s="The world is {if (date>1492) "round" else "flat"}.";
令人满意的结果是我们能够丢掉打括弧中Java的if-then语法,因为我们能够将其用到其它地方。
美工设计人员不需要面对这些复杂的语法,因为用那些简单的语法就能足够做许多的事情了。他们不需要思考字符串定义中的这些令人费解的事情。
Param Singh,JavaFX的高级市场经理,告诉我说Sun希望JavaFX的早期使用者是那些Java开发者和一些娴熟的美工设计人员。
Singh 说为美工设计人员准备的可视化工具,以及为移动手机开发JavaFX应用程序的工具不久将会一起发布,之后接着说某种IDE里肯定会有那些工具,因此也需要熟悉这种IDE。”
我在想这些工具也将是免费的,或者至少比Adobe的工具便宜很多。程序员将从开源革命中收益,并且有大量的免费工具可供使用。如果JavaFX比Adobe的工具便宜很多,那么有可能够吸年轻的开发者。
我不知道这是否能足以让JavaFX从Flash,AIR和其它的工具中争取到大的市场份额。程序员有他们自己的嗜好。无论如何,但是此举可以让Java程序开发者做一些新的任务,因此就能让Java有更大的使用范围。有编写大量Java代码的程序开发者将能够更轻松的掌握JavaFX.