GWT vs Flex vs? [closed] GWT vs Flex vs? [closed] ajax ajax

GWT vs Flex vs? [closed]


I'm only mildly familiar with Flex, but have worked with GWT for many years. We had to make a very similar decision some years ago (Flash vs GWT), but for different reasons. In the end we saw the many advantages of GWT over Flash (Many of which apply to Flex):

  • Not all our customers have flash, penetration numbers from Adobe are useless, you need your own (which we have) to see what your customers actually have. In corporate and education markets the penetration is actually far lower than the high 90s that Adobe quotes.

  • GWT is truly cross-browser and platform compatible (Linux, Mac, Windows, Android, iPhone, etc, etc) whereas flash will never be. You may not care about that, but we did.

  • Flex is proprietry Adobe Technology, whereas GWT is fully open source and customisable

  • GWT integrates with the DOM, and everything else on your page far easier than flash and Flex do.

  • GWT is coded in Java, and we all know Java extremely well

To Address your specific points:

*  futureproof

Nothing is truly future proof, but I feel that both GWT and Flex would be fairly future proof. Maybe GWT a tiny bit more so because it's open source.

* works on all major browsers

GWT works in Firefox(and all gecko browser), Safari (and all Webkit browsers), IE and Opera. Flex works in all browsers, but only if Flash is supported, so I would say GWT comes out on top there.

* fast & responsive user experience

On platforms where it's supported, Flex is going to kill GWT dead for user experience. You just can't compete with flash when it comes to smoothness and slickness.

* code should be unit testable

Both are easily unit testable

* code must be maintainable

When coded well both are maintainable

* speed & ease of development

As long as your familiar with them, I'd say it's much of a muchness.

* supports vector graphics of some sort (SVG a plus)

I can't speak for Flex, but GWT supports vector graphics via SVG, through third-party libraries.


I'm not familiar with GWT, but I'm very familiar with Flex. Even though GWT is Java-based (and it sounds like you're largely a Java shop), I'd recommend Flex based on your listed interests:

  • Futureproof - Flash powers YouTube and a huge percentage of multimedia on the web... they've built it into video game consoles and Intel is building it into settop boxes. It's going to be here for a long, long time, and Adobe has always maintained 100% backwards compatibility with their Flash players.

  • Works on all major browsers - yes. And with Flash Player 10, that includes Linux systems as well. And with very minimal admin headaches (way less than Java, in my opinion).

  • Fast & responsive user experience - yes, though Java can be faster in some scenarios. Flash is optimized for vector rendering, so since that's your target, it may be give you better performance than Java.

  • Code should be unit testable - yes, see FlexUnit.

  • Code must be maintainable - definitely. AS3 is a serious language, not a toy scripting language. It will be very familiar to users of C# or Java.

  • Speed & ease of development - for what you're doing, you'll be able to find dozens of examples of exactly what you described: zooming and panning Google Maps -like vector images. The core of the runtime is a well-designed graphics engine, so building an interactive graphics app is its natural chore.

  • Supports vector graphics of some sort (SVG a plus) - obviously, Flash does this natively. SVG is supported at the compilation stage (you can compile in SVG but you can't parse SVG at run-time). There are toolchains available that'll convert SVG to SWF for you at runtime.

The only reason I'd see for using GWT would be to keep your shop Java on server and client... but then again, you're looking for the best tech for the job, right? In that case, I'd say Flash (and in particular, the Flex framework) is best suited for what you're wanting to accomplish.


One other point to note is that neither the iPhone nor Android currently support Flash. A lot more people are expecting to access web apps on their phones.