The cons and pros of smartGWT

24,220

Solution 1

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).

Solution 2

We used SmartGWT in our last project (duration: 6 months). The following is my personal opinion:

The widgets are really great! The documentation and API is verbose. We would use client-side again.

The server-side integration works, but did not save any development time. Instead we had a lot of problems where we had to find workarounds. Also, because of the new API, no other developer can maintain the project within investing a lot of time to learn the SmartGWT API.

Some Cons:

  • You have to learn a totally new API instead of using Hibernate and GWT-RPC or REST.

  • The data integration is done automatically, that is true. But if you need some (also little) changes, you have to write XML mapping files as with Hibernate or JDO. So the benefit is gone.

  • The forum support is bad: You get an answer to almost every posted question. But that answer often does not help. They ask you things such as “why do you want to do that”. Or they say: “use our tool and do XYZ with it” three times, although again and again I told them this suggestion does not work. After a few answers to a question the final answer is: “you need training, buy our support”.

  • The commercial support is way to expensive (costs approximately as much as the SmartGWT license).

We will probably not use the server-side integration of SmartGWT again.

You can read all my "lessons learned" with Pros and Cons at my blog:

http://www.kai-waehner.de/blog/2010/12/11/lessons-learned-smartgwt-2-3-component-library-for-google-web-toolkit-gwt/

Best regards, Kai Wähner

Solution 3

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.

Solution 4

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.

Share:
24,220
pmr
Author by

pmr

Updated on January 29, 2020

Comments

  • pmr
    pmr over 4 years

    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.