Skip to main content

Wicket + Swing == hmmm...interesting...

Posted by timboudreau on February 1, 2006 at 8:05 PM PST

My grade-school friend Jonathan Locke, who is the creator of Wicket sent me a fascinating brainstorm the other day. Particularly in light of all of the hoo-hah around AJAX these days, I asked him for the OK to blog it. Here's what he had to say:

it hit me today like a ton of bricks that a wicket app should be able to seamlessly fuse with swing so that there is no code boundary between the two.  then people can build wicket, (wicket + ajax) or (wicket + swing) applications where all of the model interactions and code are completely seamless. you can, of course, do this already.  but it's way too much work by hand.  by getting rid of the seam between wicket code and swing client code, you could make it all into one simple thing... something that would kick some .NET ass.  where you can literally just in-line a bunch of swing code into your wicket app and have it all work out.  essentially this is just a very fancy wicket component that auto-creates an applet (jars the referenced classes as a dynamic wicket resource) that instantiates a JPanel on the client side, but transparently proxies the JPanel's model back and forth when significant actions occur.  the possibilities here are really enormous...
what i need now is a really buzz-worthy name.  i was thinking
taglets or swinglets, but i think that's too heavy and retro sounding.  also both are being used... need something more nifty more memetic.

Good idea? Bad? I was chatting with Hans Muller the other day, and we were both musing - how much of people's objection to applets is reasoned, and how much of it is just that using applets is like "wearing bermuda shorts and hawaiian shirts"? There's so much fashion-victim stuff that goes on in the software industry that it's not a bad question.

Take AJAX as an example. Now, I've been paid to write very complex applications in Javascript, both client-side and server-side, and I'd frankly rather have an iron spike driven through my head than do it again. Javascript code always ends up as a sort of Rube Goldberg Machine. One of these things where - oh no, don't touch that spring over there - poof the whole thing explodes. If it's cross-browser, you get multiple Rube Goldberg Machines, one or more per-browser.

So the AJAX answer seems to be, well we'll package up those Rube Goldberg Machines in tight little libraries, and once they work they'll keep working, so we'll never have to worry about it again, we can just use them (now, I remember writing code branches just to make the same thing work in different versions of one web browser - aren't we forgetting our history here?).

On the one hand, it's a tribute to pragmatism. Javascript is there, it works inasmuch as it ever did. It's a recognition of reality to use it. It's kind of like we're all living in a lovely house that comes with a strange hot-pink concrete garage in the shape of a mushroom attached to it. It's an eyesore, but it costs too much to tear it down, so eventually you start storing stuff in it.

Anyway, it's a lousy metaphor, and my point wasn't to rant about AJAX, but to showcase Jon's very interesting idea (he's even already got some working code). Is it an interesting one, or one that makes you want to run for the hills? Got any cool name ideas for Jon? Leave a comment below!


James Gosling shoots t-shirts at Sun Tech Days Bangkok


A bit of the Bangkok skyline, seen from the hotel room where I'm writing this blog

BTW, I would be remiss if I did not note that NetBeans 5.0 was released today - congratulations to my friends and colleagues who pulled it together!

Related Topics >>