Qwicket 1.0

Qwicket 1.0 is finally here. Apart from being entirely too busy with work and sick children, I've been anxiously waiting along with everyone else for the 1.3 release to go final. This version features some streamlined build process improvements and a more interesting default UI. You'll likely end up building a new UI but at least there's enough there to work with while your design guys build something more customized. Part of the delay has come from some odd compiling and generation problems in my development environment but I appear to have ironed all those out. If you see something odd, please don't hesitate to let me know and I'll try to iron out any issues as quickly as possible. This release isn't entirely revolutionary but I hope to make some dramatic improvements over the next few months making Qwicket much more robust and to make it easier to base projects off of and track the changes as Qwicket evolves. I'd also like to add maven support and move to ant task and maven archetype based generation as that's a little lighter weight for something that (at least for the moment) you use to generate your project and then move on from.

Hopefully Qwicket will help you explore Wicket and get your projects running more quickly. If you have any requests, please feel free to file an RFE in the tracker.

Denver JUG Recap

Well, after months of trying to schedule and the last few frantic days of finishing up the slides, the Wicket presention is finally done. Overall, I'm pleased with how it went. There were no technical glitches to contend with which is always a concern going in to things like that. Once I finished writing the slides and going through the presentation it hit me how much info I was packing into it. Given that I only had an hour, next time I would change a few things about it. I'd drop a few of the slides so I could get to more code. There are slides with code on them but I think it's easier to understand in context. So I went longer in the slides than I wanted and didn't get to the code I was hoping to show. The presentation itself went swimmingly as far as that goes, but I really wanted to show some code. Maybe next time, though. I'm putting a PDF of the slides up for those interested in seeing them again. Check the main page or click here to download them.

The Echo2 presentation was fascinating. I'm going to have to play with that one but it looks pretty nice from where I'm sitting. I'm not sure it'll replace wicket (or struts or JSF) in my toolbox, but for certain types of applications it certainly looks appealing. We also had a special guest with us. There was a very nice lady visiting us from Microsoft who was, of course, pitching MS products over beer. So we call had a few chuckles over that and had some beers together. It was strange at first to hear that a MS was at a JUG but she's really friendly and bought the first round of beers so it's all good. Overall, it was a great night. If you missed this month's meeting, you really missed out.

Introducing Qwicket

I love wicket but like most frameworks, starting a new project can be a real hassle. You're either left to recode everything from scratch or, if you can, copying over an existing project and removing the vestiges of the old project and updating to the new one. This sort of works but tends to be tedious and error prone. So, taking a page from appfuse, I decided to create a quickstart application for wicket. Qwicket is a swing-based generator that will create the basic skeleton of a wicket+spring+hibernate application so you can get straight to application development. The code generated is based on what I've learned from the last few projects I've done in wicket. The generated code will continue to evolve as I receive feed back and fine tune the generation based on experience. The decision to use a swing based generator is very intentional. I could've gone the ant route like appfuse did but if you've looked at the gymnastics that ant requires in appfuse, you'll begin to understand why I chose to go this route. Right now, there aren't really many options to set. Eventually what I plan on having is choices for using ibatis rather than hibernate, for example. I'd also like to have a basic bean builder and CRUD pages generator. Once features like this come on line, the Swing GUI makes more sense. Also, I'd really like to have this run via webstart eventually so you don't need to check out a svn repository to run it.

As wicket and qwicket continue to evolve, hopefully it will be very easy to track those changes. I've also debated adding support for qwicket to be able to edit an existing qwicket-based project but I'm afraid that's going down a road I'd rather not travel. For now, I hope this project can help beginners and experienced wicket users alike in the wicket development.