Smart GWT or ext GWT or Vaadin for Google app engine?
I have my back end on the Google app engine. Now I need a RIA on top of it. What should be my option? Smart GWT? Ex开发者_运维问答t GWT? or Vaadin?
or if any of you know any other RIA UI tecnology other than JSF and Flex, pls let me know.
I have the same need: evaluating SmartGWT and Vaadin for RIA application hosted on GAE.
Comparing them so far I think SmartGWT is really faster and richer, because all GUI logic is compiled to javascript and they request server-side very lazily, only if client needs new data which were not loaded to browser before +some flexible caching stuff and so on. And richer as SmartGWT ships more widgets.
But you have to implement all server-side stuff by yourself (or buy licence), it's a main disadvantage as you have to reimplement their proprietary DataSource protocols which most data-binding gui elements are build on.
Another disadvantage - first page loading takes a long time as there are a lot of static resources and compiled javascript stuff.
Vaadin uses quite an opposite way - you write all your business code on server-side with fully functional java and compose your GUI from predefined elements (with javascript already compiled for them).
The main difference is that it generated GUI and process most of browser events on a server side! So any action in browser that changes GUI state, like clicking to grid cell, button or tab - generates special request to the server-side and getting an aswer like that:
for(;;);[{"changes":[["change",{"format": "uidl","pid": "PID168"},["14",{"id": "PID168","width": "100.0%"},"Selected: [AS]"]]], "meta" : {}, "resources" : {}, "locales":[]}]
that indicates how GUI should be updated. So Vaadin gives you a full java support for your GUI logic, but you pay for that by processing all gui events on the server-side.
Thus I think Vaadin is more suitable for Intranet and takes less time to develop your app while SmartGWT is better for more complex GUI or unstable connections where additional roundtrips matter.
p.s. for GAE I'd choose SmartGWT as GAE has limits with server request number, bandwidth etc.
You tagged this question with GAE (Google App Engine). Vaadin has a terrible drawback there: it pretty much requires sticky sessions for adequate performance, background here:
http://dev.vaadin.com/ticket/6349
.. but GAE does not support sticky sessions and never will. Bug closed WontFix here:
https://code.google.com/p/googleappengine/issues/detail?id=1320
Neither GXT nor SmartGWT require sticky sessions and neither suffers from the issue discussed on Vaadin.com. Full disclosure: I'm the CTO of the company that makes SmartGWT.
Or maybe just plain GWT. Or maybe just HTML ;-) What are your needs? What does your application do?
I have been using plain GWT and I like very much the flexibility and the performance. On the other side, I miss a bit of organization of the information. Much of the topics are covered in scattered post in several forums and a lot of hacking is needed. IMHO there is not a clear concept to where this framework is going, and for what use.
On the other side, Vaadin , which I have tested, has very interesting features, works very well righ out of the box, and is free, but the supporting community is much smaller.
Flex looks very oriented to content display, while GWT, and its heirs (SmartGWT, Vaadin, ..) seems to preval for business-like applications.
精彩评论