GWT Tools, Geez and GStyle.

July 12, 2008

I’m loving developing web applications in GWT at the moment – it’s great being back in the Java world, rather than XML / HTML / Javascript / whatever.

There’s a few things that annoy me, the widgets in GWT don’t easily allow you set an id on them, which means when it comes to testing, Selenium etc. has difficulty. So I’ve started a project called Geez that aims to add a bit more of a fluent way of building GWT apps… find it here:

Another thing that annoys me is still having to write style sheets for the application, and having to integrate these using string names as per defined in the style sheet. Browser incompatibilities annoy me, as GWT has abstracted away all the Javascript incompatibilities, I do wonder why they didn’t do CSS at the same time. Anyway, here’s another project I’ve started to address this:

Please note, they are very young, and I haven’t spent lots of time on them yet – so don’t whinge too much! That said, I’m more than happy for people to contribute ideas, code, tea – anything, just ping me.

Good cop, bad cop… in the pairing world

July 8, 2008

I had an interesting discussion with someone I work with over pairing sessions today, and I was very impressed with his conclusion. This was, albeit subtle – ‘there are some people that you pair with, where the best of both of you come out in the code, and there are others, where the worst of both of you come out in the code’.

Too true… there are definite boundaries when pairing, and allowing your pair to explore the code within those boundaries, before reeling them in, is a good thing. However it is definitely down to the pair as to where those boundaries lie. Sometimes there may be no scope for allowing debt / poor quality code in, and in others, it may be acceptable as the pair trusts itself to go back and fix the poor quality code before (or immediately after) checking in.

GWT and P.A.C.

June 14, 2008

I’m currently having the pleasure of developing a system using GWT, and it’s truly a step beyond typical Java web apps. The application is written in Java and hence you can use all your favourite IDEs, and it compiles to browser compatible Javascript which builds the page using the DOM directly. Meaning there’s no need to write any Javascript, or browser specific hacks.

I’ve learned a lot in the few months I’ve been working with it, but I thought I’d share a application design pattern that a previous team I was on used to develop Swing applications.

It’s called PAC (Presentation-Abstraction-Control), and it lends itself remarkably well to GWT applications.

I’m working on an example screencast which runs through the basics – hopefully this will be followed by some more in depth stuff.

Jedi : Use lots of force.

May 2, 2008

This is another toolset which I’ve been meaning to blog about for a long time. Currently we’re using JEDI throughout my current projects code base to remove the need to write a lot of annoying boiler plate code. We’ve also found when used in the right places, it actually improves the overall readability and power of the code base – enabling the developers to produce better code faster.

It works by doing code generation based on annotations added to the model classes themselves – producing Commands, Functors and Filters.

To give you some idea about when and how to use JEDI – there are some good examples on their website, that explain how to use the annotations.

I’ve come from JRoller…

March 5, 2008

Having been a long standing blogger on JRoller – I’ve decided to move my blog to here. The simple fact is JRoller is a pain in the ass to use when it comes to formatting text in a nice way, and I’m fed up with the restrictions on the file types you can upload.

For looking at my previous posts, I’ve left the other one up at The Saturday morning hangover on JRoller.

More to come shortly…