Tuesday, 12 December 2006

It's all about the kitchen sink...

Well I came home to find that our friends over at Google have made public their "Web Toolkit". Very exciting news, well so I thought. Now I'm very big on Ajax and I want to see it used more wide spread, infact at the moment im developing 2 Ajax powered applications, one in ASP.Net 2 and one in PHP using the SAJAX. More on those when I get time, the point I'm trying to make is that making the development of such applications easier is almost a God send. So far I have explored the Web Toolkit using the demo's provided over at http://code.google.com/webtoolkit/ and taking a peak at some of the source code. Before I highlight some of the features of the toolkit I need to first and foremost state something that has bothered me since I first read the Official Google Blog.... "Google Web Toolkit (GWT) is an open source Java software development framework". Now with out trying to put a dampener on things does anyone else thing that developing web applications in Java and then compiling it into HTML and JavaScript seem insane to anyone?? I've written many an application in Java but never have i conceived or even given a second thought to writing a website/application in it and then compile it to HTML and JavaScript. However before I give up on Google's Toolkit its probably worth looking into it further and seeing what it can actually do. Enter our Kitchen Sink, the first demo I tried out was the Kitchen Sink which shows off everything. Now I won't bore everyone by going into every aspect in great detail but to give an overview the Google Toolkit does do some cool bits and pieces, I personally liked the way it implements tabs, funky popups that look more like something that should be in a desktop application and the tree structure. Now you may be thinking haven't I seen alot of this before else where, and in the Yahoo YUI library. It's true you probably have but Google has at least in the demo's made it look good and shows how easy it is to do, thus provoking alot of thoughts and ideas from this simple web developer anyway. Now the secret of the Google Toolkit is that it wraps everything up for you, all you will have to do is develop these Web 2.0 apps in Java, all the hard work and headaches to do with browser compatibility is handled by the toolkit's compiler. You can write in classes and be as object oriented as you like. This does sound great, as well as being able to use Eclipse and having a full debugger on hand but I some how feel code ownership and knowing exactly whats going on with ones code is being taken away. Maybe this isn't such a bad thing, if we all start developing better and compliant code maybe our support teams will have an easier job, who knows. As I mentioned earlier at present I have only dabbled with the toolkit. So far I have mixed feelings, learning to develop in Java again will frustrate some but will excite others, a lot of its features many will have seen else where, but the fact remains it appears to be wrapped up very nicely and with the Google machine backing it and it being Open source and all that should mean its kept up to date and any issues that crop up should be resolved swiftly. Before I make my final judgement on this latest offering from the Google machine I intend to spend some time using it, getting to grips with it and developing with it. I'm hoping to be pleasantly surprised and enjoy developing in Java again ...

1 comment:

Thom said...

It's not that far away from the AJAX framework for ASP.Net 2. You can write your javascript in c# and it gets compiled into js by script#. I'm not too fussed about getting into the code generated as long as I can be confident it will work and do what I want. Same as I'm not really to fussed how the C# compiler works, I just know that it does!

That's the real question though, will GWT work? Will it do what we want reliably and with all the browsers we need it too, it'll be a big challenge for google and critical for the development of their own applications.

Anyway, I don't wanna use Java :)