December 20, 2011
Posted by on
I’ve been using GWT (http://code.google.com/webtoolkit/) for the past 2 years. Since a week ago, I started to try a new tool called Witty (http://www.webtoolkit.eu/wt/). I first heard of it a year ago I think but didn’t try it out at that time. Now, I’ve completed a small project with Witty and I feel good. Much like the GWT, Witty uses C++ as the programming language. The main difference between Witty and GWT (besides the programming language) is the way browser and server communicate. In GWT, I need to specifically initiate a call to the server, get the response and process
it, before displaying the result on the page. In Witty, I do not create any calls to the servers. I just need to code in the same way like coding a normal GUI application. Witty takes care of making calls to the server when needed. This can be a pros or cons depending on how you see it. In GWT, client and server are clearly separated. I can replace the server side Java classes with PHP/CGI if needed, as long as the PHP code can encode/decode the messages sent to/received from the browser. Not sure if Witty can do that. Anyway, for all my GWT projects, I’ve never used other languages for the server side processing. This advantage in GWT may not be really useful (for me at least).
One advantage for using Witty (besides C++ being my favourite programming language) is the built-in support for creating charts. Witty comes with classes for building simple and beautiful charts. Charting support is missing in GWT. I’ve been using the clientsidegchart or gchart (http://code.google.com/p/clientsidegchart/) for my GWT projects. It’s a very powerful library that allows you to create very sophisticated charts. Unfortunately, the latest release (v2.7) was in June 2010 and the last SVN activity was in the August 2010.
So far, I’m happy with Witty. Although my small Witty project is far less complex then the GWT’s, I think I’m ready to switch. Finally, back to the land of C++. Oops, I forgot to delete pointers in my source codes! Ughhh… It’s all Java’s fault. 😛