Computer programming
Rich Internet Applications and Web 2.0 with GWT-Ext, GXT and SmartGWT!

Finally I get a minute to write my first blog entry.
Anyways, enough ranting and let's get down to some business. You may not be aware but we are intending to build our front-end using some cutting edge, actually, bleeding edge technology! I won't disclose too many secrets for the time being as we are strictly in stealth / undercover mode in terms of development (this might be because we haven't got anything done... or maybe because what we are doing is going to be unique!).
We initially started building our front end using the GWT-Ext library based on the ExtJS library. Unfortunately Ext decided to change their licensing model to an "Open Source for non-commericals only" model which really annoyed Sanjiv Jivan (creator of the GWT-Ext library) who in turn went off to develop an alternative called SmartGWT which is based on the SmartClient JavaScript library. You can read more about these trials and tribulations by searching Google and reading Sanjiv's blog (http://www.jroller.com/sjivan/). In the mean time, or better, just before changing their licensing model, Ext took on board a small project called GXT. Some may ask: "What is the difference between GWT-Ext and GXT" and the answer is: "There are a few". I'm sure that wasn't at all vague or unfulfilling in terms of answering your questions, so let me expand, in fact, I'll take this opportunity to expand also on SmartGWT:
- GWT-Ext (http://www.gwt-ext.com): This GWT Java library is based on the ExtJS JavaScript library (http://www.extjs.com). The ExtJS JavaScript library is very stylish, functionality rich and most of all performant. The way the GWT-Ext works is by manually placing the ExtJS libraries on your web page and then transforming your Java into JavaScript which in turn makes use of the ExtJS libraries. The GWT-Ext library was quite advanced and included large number of features from ExtJS. The main issue with this library is that it currently isn't being brought forward but merely patched due to Ext's license change and Sanjiv's subsequent switch to SmartGWT.
- SmartGWT (http://www.smartclient.com/smartgwt/): This GWT Java library is based on the SmartClient JavaScript library (http://www.smartclient.com) and is Sanjiv's new brain child. This library works in a similar way to GWT-Ext i.e. you link in the SmartClient libraries and then the auto-generated JavaScript will make the relevant calls. This library has been completed very quickly and the first stable release is ready to be used. Sanjiv once again suceeded to impress and deliver a second library in no time at all. However, we found the SmartClient library lacked a sense of sexyness and style but most of all was not as performant as ExtJS. This can be quite clearly seen when comparing the showcase for ExtJS and the showcase for GXT/GWT-Ext.
- GXT (http://www.extjs.com/products/gxt/): The output of this library is identical to that of GWT-Ext as it is also based on the ExtJS library. The one fundamental and core difference between this library and the GWT-Ext library is that the GWT-Ext library requires you to include the ExtJS JavaScript libraries whereas GXT does not. GXT is built with the original GWT concepts in mind. It will generate, optimise and include into your page only the required JavaScript code in pure GWT style! So if you compiled two identical applications, one in GWT-Ext and one in GXT, the GXT application would be lighter and faster than it's GWT-Ext counter-part. The only thing that sucks about this library is that it still lacks maturity when compared to GWT-Ext (although it's leaping forward and will soon overtake and leave GWT-Ext far behind) and the fact that you need to pay for commercial use.
So, you may be asking yourselves, what have we chosen at SambaStream? The answer is GXT.
We initially developed version 1 of our application in GWT-Ext but once the licensing troubles came to light and the fact that this library was pretty much going to remain stagnant for all eternity, we decided to port everything onto another library. The library of choice was GXT for some very simple reasons: a) it is more performant than SmartClient, b) it looks a lot better (although SmartClient are releasing a new skin in v7.0 which is much nicer, but still not quite there), c) it uses pure GWT principles making applications more efficient/compact and d) we expected porting this across to be a walk in the park and trust me, it wasn't!
Note that the cost factor was not weighted highly as the GXT licenses are affordable and the overall product is good and established.
Now, I had set out to write a technical blog explaining point (d) above with all the differences we encountered so far between GWT-Ext and GXT but I got side tracked with the History of our library choices. Watch this space though because the next blog will be geekness in words and will highlight a number of differences between GWT-Ext and GXT!
Peace out!
Ale
We chose GXT as our strategy and it has finally paid off. The Collaboration spaces we created are working nicely and it is fully developed using GXT and GWT. Feel free to join the free Beta program. All your feedback is welcome.
We are not going to distribute the information you provide when joining the Beta, but SambaJam works on an invite only basis, so we use your details to invite you into SambaJam. You can then use it as much as you like and as often as you like to share documents, organise your calendar, create wiki's, discussion forums and easily invite other people to work with you.
You should see a box with the form on the right hand side which you can fill in.
If the form is not there, click here to see the form:
http://www.sambastream.com/form/sambajam-private-betaLatest Tweets
Blog
- Product Update: Release 1.1
- Adding Enterprise Content Management to your Drupal site using CMIS
- How to add your Google Calendar to your SambaJAM Dashboard
- 10 Essential Ways to Work from Home in Style
- The Future Workplace & The End of The World
- SambaJAM helps Business Owners and Employees Benefit from Flexible working.
- SambaJAM Open For Signups
- Implementing revolving backups on AWS EC2
- Google phases out support for IE6
- The end of the recession (nearly!)