我对Flex只有一点点熟悉,但已经与GWT合作了很多年。几年前,我们不得不做出一个非常相似的决定(Flash vs GWT),但原因不同。最后,我们看到了GWT相对于Flash的许多优势(其中许多适用于Flex):
并非所有客户都有闪存,Adobe的渗透率数据毫无用处,您需要自己的(我们拥有的)来查看客户实际拥有的内容。在企业和教育市场,渗透率实际上远低于Adobe引用的90年代的高点。
GWT是真正的跨浏览器和平台兼容(Linux,Mac,Windows,Android,iPhone等),而Flash永远不会。你可能不在乎这一点,但我们做到了。
Flex是Adobe技术专有的,而GWT是完全开源和可定制的。
GWT与DOM集成,页面上的其他所有内容都比flash和Flex容易得多。
GWT是用Java编码的,我们都知道Java。
要解决您的具体问题:
* futureproof
没有什么是真正面向未来的,但我觉得GWT和Flex都将是面向未来的。也许GWT更是如此,因为它是开源的。
* works on all major browsers
GWT适用于Firefox(和所有壁虎浏览器),Safari(和所有Webkit浏览器),IE和Opera。Flex适用于所有浏览器,但前提是Flash受支持,所以我会说GWT在那里名列前茅。
* fast & responsive user experience
在支持它的平台上,Flex将扼杀GWT的用户体验。在平滑度和光滑度方面,您无法与闪光灯竞争。
* code should be unit testable
两者都很容易进行单元测试
* code must be maintainable
当编码良好时,两者都是可维护的
* speed & ease of development
只要你熟悉它们,我会说这很重要。
* supports vector graphics of some sort (SVG a plus)
我不能代表Flex,但GWT通过SVG,通过第三方库支持矢量图形。