文档详情

Flex开发者请慎用Spark组件.doc

发布:2016-07-05约字共3页下载文档
文本预览下载声明
Flex开发者请慎用Spark组件 骚年们,在你们看这篇贴子时一定要淡定,因为它也许会让你很痛苦,也许会让你很激动。我不仅要说慎用Spark组件,还要说最好禁用Spark组件。不管怎么样,Spark真的曾经让我不淡定过,但我现在淡定了,原因我将写在最后。 Adobe官方在Flex4(现在也该叫Flash Builder)发布之后,一直在推荐使用Spark组件,但本人要说的是Flex开发者应该慎用Spark组件。Adobe官方推荐Spark组件的原因很简单,因为Spark比旧的MX组件更轻量级,并且组件与皮肤分离(这里的组件与皮肤分离事实上是指组件的内容和业务,与皮肤文件分离)——之于Spark组件是否真的轻量级以及性能是否真的比MX高,我会在稍后继续写出。 Adobe的程序员们曾经有一个“非常好的初衷”,一个非常棒的想法,就是纯粹的将组件与皮肤分离,那绝对是类似W3C CSS标准对Web网页类似的大跃进。所以——事实上Flex4几乎与Adobe平面设计套装工具的CS5差不多时间发布,而CS5的套装中包含了一个叫Flash Catalyst的软件工具,这款工具是一款设计师使用的工具。 为什么要扯出Flash Catalyst这款工具?这款工具是本人写这篇贴子的理由——也是它最终导致Adobe的工程师们Spark组件推广失败最主要的原因,并且也是最终让Spark组件在Adobe公司只开发了部份对应的MX版本的组件,并且最终停止了更新 Flash Catalyst,最后还将Flex4送给开源组织的等等的全部原因——而归根结缔这些原因在于前一段中“那个非常好的初衷”只是Adobe的工程师们的一厢情愿,为什么说他们一厢情愿了,又要在后面写出(- -,淡定、淡定)。 Flex的程序员们可能只有听过Flash Catalyst这款工具,但从来没有使用过这款工具(除非你既做PhotoShop、Illustrator、FireWorks 以下可能会用PS、AI、FW等来简称它们等平面设计,又做FLEX程序开发)——没错,它就是Adobe开发用来将平面设计软件工具生成Flex皮肤的工具,它的最佳兼容工具是AI CS5(全称Adobe Illustrator CS5),有一个词叫“软件接力”,从PS到Flash Catalyst是单向的软件接力,因为一旦PS的文件导入到Flash Catalyst后,如果再想修改,就无法再从Flash Catalyst返回到PS了,但AI CS5就可以双向软件接力,一旦在Flash Catalyst中发现平面有需要修改的地方,仍然可以返回到AI中去修改,但必须是CS5以上的版本。 那么我就先在这里回答一下,为什么说Adobe的工程师们一厢情愿了。好吧,我承认我很啰嗦了,让我们再回想一下第三段中那个“非常好的初衷”吧,真的是非常棒——可是我要说的是在Flex开发过程中,这个非常棒的初衷实现不了,既便能实现,中小型的公司也实现不了,只有在一个非常大型的IT公司,并且具有一名非常优秀的项目经理人的情况下才能实现。原因主要有如下两个: CSS对于Web是非编译性的,流程短,并且网页美工是专门学过DIV+CSS的,既便没有学过,个人站长对元素布局、样式设置等都可以按着项目的标准文档说明通过CSS来实现;而Spark皮肤文件对于Flex而言是编译性的,流程长(从PS、AI导出FXG,再导入到Flash Catalyst生成FXP,再导入到Flex),流程长就意义着中间契约的约束就越多,并且大多的平面或动画美工都没有学过Flex,所以在这个中间契约的过程中,他们根本不知道AS逻辑类中外观和部件分别是什么意思,MXML皮肤文件中的那些元标签和属性ID又是什么意思。有人有很长的文章去描述这些中间契约,也有专门的书籍用一整章的资料去介绍这个中间契约,好吧,我整理过了,已是把人家上万字的资料缩短到上百个字而已了,就在这个贴子中/post/196.html,所以美工们制作的皮肤文件,对于Flex的程序员们来说,看起来很漂亮,可是那本就是个没法用的玩意儿;那么Flex程序们,你们懂PS、AI、Flash Catalyst这样为美工而开发的软件吗?那么这个艰巨的任务就落实在了项目经理身上了,必须得由项目经理来写一个完整的标准文档来约束(从项目的组织结构到每个软件的约定)这个工作流程了,而这种即懂设计类软件,又懂程序的项目经理多么?好吧,就当你们是个大公司有这样的项目经理,可每次皮肤的修改,项目都是要重新编译并且发布,你们不觉的蛋痛吗?至少我觉的比起CSS对于WEB的来说,它是非常蛋痛的(虽然从功能上来说FXG相对于CSS来说的无限制性的)。另外你也许会想说,你的皮肤文件FXG一旦创建了就可以共享到其它项目中直接可以使用,骚年,Flex CSS
显示全部
相似文档