views:

9361

answers:

6

I'm starting work on a smartGWT project in a few days and I'd like to know what kind of experiences you had. To avoid making this a bashing of smartGWT or GWT or a freestyle discussion, I'm going to provide some pointers for the discussion:

  • Do you feel that the provided widgets are integrated well? Is there any widget you miss in particular?
  • Have you encountered any problems when designing your application that were caused by the framework?
  • Is the datasource integration as usefull as the smartClient team claims?
  • What methods do you use to make your smartGWT application persistent? e.g. How well do Hibernate and smartGWT play with each other?

Feel free to add anything you feel is worth pointing out.

+4  A: 

Do you feel that the provided widgets are integrated well? Is there any widget you miss in particular?

You could create any missed widgets, there is no single framework that can provide everything you want. The widgets are pretty extendable.

Is the datasource integration as usefull as the smartClient team claims?

The data (JSON/XML) can be provided by servlet services, and they are understood by the widgets.

What methods do you use to make your smartGWT application persistent? e.g. How well do Hibernate and smartGWT play with each other?

In the backend servlet services of GWT, you can persist your data in the store by using any persistent layer in Java. Hibernate can be just used as same as normal java app.

codemeit
+3  A: 
Do you feel that the provided widgets are integrated well? Is there any widget you miss in particular?

Yes. The widgets have a consistent API and work well together.

Is the datasource integration as usefull as the smartClient team claims?

This IMO is one of their strongest feature. Once you start using their Datasource API you realize how little code is required to get a fully functional CRUD screen

What methods do you use to make your smartGWT application persistent? e.g. How well do Hibernate and smartGWT play with each other?

Hibernate works out of the box with the SmartGWT EE version. With the LGPL version using Glead works wells

He means Gilead - http://sourceforge.net/projects/gilead/
Mark Stahler
+2  A: 
  • Have you encountered any problems when designing your application that were caused by the framework?

Yes. When I combined Google Eclipse plugin, SmartGWT, GWT 1.6.4, and Wicket the gwt compiler would emit bad javascript. By bad javascript, I mean javascrip that would not work in webkit, or firefox. I was not able to get good javascript until I removed it completely from the Eclipse project and restarted Eclipse. So, this combination would not work and I ended up building the SmartGWT piece separately in another project. The other issue is that the Smart client seems to want control of the whole page in a css sense. So, the integrated SmartGWT module was all messed up, because styles were not isolated properly. Your mileage may vary.

Personally if you use SmartGWT only and for everything then all will most likely be fine, but if you try and mix it, well my results were disastrous. So, I no longer use it.

Johnny P
This sounds like 1) a GWT bug causing bad JavaScript, probably fixed by now, and 2) CSS naming conflicts between SmartGWT and Wicket, probably neither framework's fault, so not sure why this would be blamed on SmartGWT. SmartGWT can play nice with any library's CSS - all of SmartGWT's style names can be renamed via the skinning system to resolve any such conflict.
Charles Kendrick
+7  A: 

I guess you already have your answers, but I would like to add a few more comments that may affect your decision:

Pros:

  • SmartGWT is the most compreensive LGPL GWT-based widgetery library you can find. So if you care for GPL pain, this is your thing
  • Comprehensive Showcase.
  • Really good performance (just check the Showcase).
  • Very active community in the forums.
  • SmartGWT extensions is another important project. For example, it has support for GWT-RPC based communication, which is not possible only with SmartGWT (unless you implement your own integration).
  • Rapid pace of development from the SmartGWT guys. Just count the number of releases since the SmartGWT project appeared.

Cons:

  • Besides the Showcase, I sometimes feel the only way to figure out how something works is by asking in the forums. This leads to a spread knowledge base. A community based wiki would be preferable.
  • Large amount of static files you have to use with your application (the famous 'sc' directory) which might lead to problems if your back-end is in GAE (because of the 1000 files limit).
ivo
Add missing documentation (although it is improving) and weak support on the forums to the cons list.
Mark Stahler
A: 

Just as a counterpoint to the poster above who mentioned troubles with Wicket, the SmartClient forums (forums.smartclient.com) have reports of success integrating SmartGWT with a wide variety of other technologies. This poster's problems sound like 1) a GWT bug causing bad JavaScript and 2) CSS naming conflicts between SmartGWT and Wicket, probably neither framework's fault. All of SmartGWT's style names can be renamed via the skinning system to resolve any such conflict.

A: 

I think SmartGWT has a ton of great widgets, but but but there is a HUGE price. Create a simple SmartGWT based project and watch how many files get loaded by your page. That, I think, is totally against the ideals of something like GWT. While SmartGWT may be a pretty good option for people on a deadline, if you want raw performance, stay away from it. The number of HTTP requests will simply kill your application.

yesudeep
Incorrect. SmartGWT is for web applications that people use for an extended session and/or on a repeat basis. In this context HTTP requests for cacheable resources happen once ever, and dynamic requests for data is what performance tuning needs to focus on. And here, SmartGWT has a giant lead because of features like Adaptive Filtering: http://www.smartclient.com/index.jsp#adaptiveFilterBecause of features like these, for applications that fit the usage profile described above, SmartGWT is the fastest solution available.
Charles Kendrick