Flex编译器的速度非常慢已经不是什么秘密。这个弱点影响了开发者在编写和调试代码时需要反复进行的编辑/编译/调试过程。对于一个大型程序来说,进行一次修改、编译和部署软件,然后运行该程序到需要调试的状态,可能需要花费5分钟时间。开发者每天可能要无数次重复这一过程。当使用Eclipse进行Java开发时,一个叫做热代码替换(Hot Code Replace)的功能允许Java程序在一个断点处暂停,在重新从栈帧(stack frame)开始执行程序前,可以对其进行细微修改。热代码替换省去了编辑/编译/调试的循环过程,因此大大提高了开发效率。增加热代码替换功能到Flex/Flash Builder中,可能是有效提升开发效率的单一功能。当然,一个提速数倍的编译器同样也可以带来开发效率的提高。Flash Builder 4中的编译器明显比以前版本快了很多,但是还不能与今天任何一个Java编译器或任何微软编译器的速度相提并论。
Flex和其它RIA技术之间的一个关键区别是其跨平台支持。与Java的“一次编写,随处运行”类似,Adobe将Flex的Flash运行环境作为RIA平台选择,以解决那些需要尽可能满足更多用户的需求。但是这种说法禁不住仔细推敲。举例来说,Linux下64位版本的Flash播放器还处于测试阶段,仅仅的一次更新是在今年2月10日。Linux开发者骨干非常多,其中包含许多有经验的Java开发者。他们在开发者社区的地位比较高、影响比较大。Adobe缺乏可靠的Linux支持,已经成为这些关键技术精英不接受这个技术的重要原因之一。Flex和Flash不能简单高效的运行在他们的主要开发环境中。
Adobe最初借助于OEM销售的力量,最近几年以来才通过Dreamweaver和Illustrator等产品面向图形设计者。PDF销售业务仍然保持良好,主要针对企业用户。在Macromedia与Adobe合并之前,它们的产品线与Adobe的产品线在很多方面类似,某些产品甚至是直接竞争。 但是从历史角度来看,无论是Macromedia还是Adobe都未能以一个有效的方式获得开发者市场。直到最近,Adobe才做出了明智的决策。
设计者和开发者有很大不同。在技能培训、世界观、兴趣和购买模式方面两者都不相同。设计者往往更感性,通常是半技术性人员,喜欢定期购买和升级软件产品。而开发者则更理性,是纯技术性人员;卖给他们工具非常困难。和多数工程师一样,开发者通常更喜欢自己创建工具,或者使用免费提供的工具。开发者之所以更能接受开源,是因为开源可以让他们控制自己使用的工具。设计者和企业用户对开源一般持另外观点。
开发软件工具一般需要大量的投入,但是却不太可能产生直接的投资回报。今天市场上多数成功的软件工具一般支持其它业务种类。
•微软在自己的软件工具中进行了大量投资,并且很好的将它们的工具与其它产品集成在一起。如果一个人需要为微软平台开发软件,微软的软件工具通常是首选。与Windows和Office相比,微软的软件工具并没有给微软带来更多净收入,但是它们通过系统集成商和独立软件厂商推动了其他盈利性产品的销售,例如其操作系统。
•Eclipse也是一个投入大量时间和金钱的产品,最初由IBM推出。自从Eclipse诞生以来,就被投入了数百万美元的开发资金。Eclipse和大部分Eclipse插件都是免费的。结果Eclipse成为开发者热情用户的一个强大、稳定和现代开发平台。IBM的营销战略与微软略有不同,但是IBM通过Eclipse给开发者社区带来重大影响,已经通过建立在Eclipse上的产品和服务获得收益。
•其它曾经伟大的软件工具公司,诸如Borland和赛门铁克,或者倒闭或者终止了它们的软件工具产品线,因为它们没有通过这些开发者工具来推动盈利性更强产品的销售。