[Flex]再谈Flash Builder、Flash Catalyst与Flash Platform

之前写了一篇叫做《为什么国内的公司都不敢使用Flex作为产品的平台与主要开发语言》的文章,其中有一个观点:名称混淆,其中描述了Flash、Flex Builder、Flex SDK、Flash IDE(CS4)等产品的名称非常的模糊,不利于初学者掌握和使用。举个最简单的例子,我跟其他人称呼我是Flex开发人人员?ActionScript开发人员的时候,不懂的朋友都会反问我,你是搞Flash的吗?(-.-)=3

okay,就在本周六(5月16日)Adobe发布了一个重磅级的消息,下一代Flex Builder,即Flex Builder 4.0(是IDE,而非SDK),将改名为Flash Builder,详情请看这篇文章:http://www.k-zone.cn/zblog/post/flex-builder-will-be-named-flash-builder-4.html

截止到现在基本上已经时隔将近一周的时间,那么我来谈谈我对这次改名事件的看法。

我们得知Flex BuilderFlash Builder,但是不变的是Flex SDK的名称,仍旧叫做Flex SDK。相对与Adobe来说,这只是一个技术层面的修正。
而从更高的层面看待Adobe的产品,不难可以发现如下的一些信息。

Adobe CS(4) 套装:包含了Photoshop、Dreamweaver、Fireworks、Flash IDE等一些常用的设计工具,而这些工具基本上是面向设计人员的,可以称之为设计工具。
Flex SDK、MXML、ActionScript 3.0AIR:这些产品无须质疑,全部都是面向开发人员的,可以称之为编程语言、框架。
BlazeDSLCDSFMS等:同样无须质疑的是,这些产品都是面向服务器端的产品,可以称之为服务器端。

okay,让我们看一下下面这个例图:


从上图可以看到,目前来说Adobe有了设计工具、有了自己的编程语言、框架类、也有了服务端的产品,但是似乎它们之间的产品联系少了一些,尤其是工具类的使用之与服务器端、框架类的使用人员的联系少了一些。

因此Adobe提出了Flash Catalyst的概念,而Flash Catalyst是针对于交互设计师的工具。

Adobe的想法:
1、让Flash Catalyst来读取Photoshop、Fireworks等设计工具的设计资源,然后在其中完成交互部分的工作。
2、Flash Catalyst可以导出为Flash Builder 4可以理解和解析的内容。
3、最终由开发人员使用Flash Builder 4等工具来完成主要的逻辑功能部分。
4、最终也可以搭载Adobe的服务器端产品:BlazeDSLCDSFMS
因此Flash Catalyst的作用不仅仅在于交互设计,而是将Adobe的这三种相对于孤立的产品形成一个体系。

请看下图: 

通过上图,很容易可以看出Flash CatalystAdobe产品更像是一个整体。而这一切,其实已经被Adobe定义成了一个平台级别的产品:Flash Platform
让我们再回头看一下Flash Builder的真正含义。
 
这次改名事件可以让Flash Platform的产品更加的明确化。例如一提到CS系列,则会让人马上想到的是Photoshop等设计工具,提到Flash Catalyst则让人想到的是交互工具。提到BlazeDSLCDSFMS则会想到服务器端产品。
 
未改名前的话,会出现什么情况呢?提到Flex,那么它到底代表的是SDK、还是IDE呢?因为SDK、IDE都叫做Flex XXXX,更莫名其妙的是AIR的IDE也称之为Flex XXXX,这就真的让人头大了。而无论是 Flex SDK(Framework)、XMML、ActionScript 3.0、AIR其实本质上都是swf,也就是都是Flash。
因此如果我们把Flex Builder改名为Flash Builder的话,这个系列的产品则更加的清晰。
 
例如:提到Flex,则指的就是Flex SDK(Framework)、提到MXML、ActionScript 3.0则指代的就是编程语言、提到AIR,则指代就是AIR Framwork。而提到Flash Builder,则会马上知道它是IDE,即可以编写、编译、运行、MXML、ActionScript 3.0。同时也是Flex、AIR的编写IDE。
也就是说,Flex被定义成了框架的名字,这样一来,就与AIR的概念是一样的。那么大家记住,Flex是一个框架,是什么框架呢?就是Flash的一种框架,看这样是不是很清晰了呢!
 
改名的另外一个好处则是:
1、当有人问我的时候,我可以说自己是Flash开发人员,那么这些人就会知道我会使用FlexAIR、MXML、ActionScript 3.0这些内容。
2、如果使用Flash CS(4)的朋友可以称之为Flash设计人员。
3、如果使用Flash Catalyst的朋友,则可以称之为产品交互人员。
 
看,这样多清晰:)你说对吗?
 
最后一图(Flash Platform):


最后再猜测一点:
Flash Platform战略慢慢浮出水面,是与MicrosoftWPFSilverlight战略是息息相关的。:)