The Difference Between SmartClient and Smart GWT
We often get asked about the difference between SmartClient and Smart GWT. The answer is: ‘not much‘.
When you’re running SmartGWT, you’re also running SmartClient
When you are running SmartGWT, you are also running SmartClient. You are using SmartClient’s widgets, data binding, browser compatibility, etc. See the SmartClient vs SmartGWT architecture diagrams below:
As you can see, we only use the tiniest sliver of GWT – just the GWT compiler. The GWT compiler translates your application code to JavaScript, and your translated application code then calls SmartClient APIs.
With the management of GWT transferred from Google to a “Steering Committee”, and the lack of a GWT release in the past couple of years, we get asked a bunch of questions about the long term impact of GWT on Smart GWT. Will we keep developing Smart GWT? Will Smart GWT continue to support the latest browsers? etc.
What happens with GWT is irrelevant to Smart GWT
The fact of the matter is that what happens with GWT is irrelevant to Smart GWT. The problems that people anticipate from core GWT development slowing down do not apply to people using SmartGWT:
- if the pace of widget development in GWT slows down, doesn’t matter: SmartGWT’s widgets will continue to be rapidly improved
- if GWT widgets stop supporting the latest browsers, doesn’t matter: SmartGWT’s widgets will continue to support the latest browsers
- if GWT’s recommend data binding approach continues to change radically with new releases, doesn’t matter: you’re using SmartGWT’s data binding
We literally cannot help but continue to improve SmartGWT
We also get asked: will Isomorphic stop emphasizing SmartGWT, and focus more on SmartClient? This also is a non-issue, because, the way we develop new SmartGWT features is that we develop new features for SmartClient, and then an automated process takes the new SmartClient documentation and generates new SmartGWT APIs from it. So we literally cannot help but continue to improve SmartGWT, as we build more SmartClient features.