This content has been marked as final. Show 3 replies
CRITERIA 01: Flash Player Plug-in
Being a plug-in, Flash/Flex gives you more power: playing sounds and videos (can be done with flash objects with GWT, see GWT-Incubator), dealing with ByteArrays, non-HTTP sockets, access to webcam and/or microphone, or even filesystem (with v9 of the player), etc. Being a plug-in, Flash/Flex gives you cross-browser support "without compromise" (no CSS hacks, etc.), but, being a plug-in, it first has to be installed (with a minimum required version) on the client and, being a plug-in, cross-browser is at the detriment of cross-platform. For an *enterprise* app, it depend on the company's internal rules, might weight more or less in the balance depending on the company. It all depends on: Who you (your team) are, what you need/want to do, Where you want to deploy it.
So this is a major choice to take from the beginning.
? How important is it to have the capabilities of a Flash-Player and what would be the major shortcoming of GWT when developing a Enterprise RIA that has to be OpenSource and has to be as easy to use as possible (Working with large sets of data, Usability, User Experience, Accessibility, Collaboration) ?
CRITERIA 02: Developer Skills
Most of the developers are experienced JavaEE developers (UI-Technology Knowledge is poor).
? Goal is to have a browser based Application, that still remains flexible (Integration into a Portal)?
We just spent a few months working with GWT and found that to get a slick and responsive API we resorted to using various libraries for interactive charting and other things. Most of these are already written in flex/flash and wrapped in .js - however once you get a number of libraries in the mix you start getting exposed to inconsitencies between browsers. For example on IE one of the components would spike the CPU to 100%, on firefox we had .js failures to update the underlying flash component. We reached a point of being too exposed to these problems and not a hope of solving them ourselves - all a bit to scary especially when a new browser is released.
If you can stick to native GWT then you will be fine. Its fast to develop in (we have java bgs) although setting up unit tests that execute quickly is not a reality.
We have endedup rewritting in flex - so far so good and found that the mxml components mvc style works really well leading to less code.... less code than GWT. It also executes and compiles fairly quickly.
For server side technology,I'd use Grails [ http://grails.org/ its based on a nice app model and your can use Java or Groovy for mixed coding, for client side id'd propose Flex, because it's fully crosss-pltform