FOSDEM is the biggest free and non-commercial event organized by and for the community. Its goal is to provide Free and Open Source developers a place to meet. No registration necessary.


Interview: Martijn Dashorst

Martijn Dashorst will talk about Apache Wicket on FOSDEM 2011 in the Web Frameworks Track.

Please introduce yourself

I'm Martijn Dashorst, author of Wicket in Action, committer for the Apache Wicket project. I'm a happy, albeit sleep deprived, father of Liam, currently 1.5 years old, and try to balance with my wife who gets the most sleep at night. During office hours I work in the historical center of Deventer for Topicus building Wicket-based web applications.

What will your talk be about, exactly?

I'll be speaking about Apache Wicket, a component oriented Java web framework. The framework has been around since 2004, so it is not exactly new, but it remains a hidden gem in the Java community. In the talk I'll give a short introduction to the framework and its concepts catering to those that haven't heard of Wicket or never took a closer look at it. I'll also take a look at the future of the framework and the upcoming 1.5 release (which should be interesting for current Wicket users).

What do you hope people will take home from your talk?

I hope that more people will take a closer look at Wicket and try it out for themselves. I find working with Wicket enables me to get better at OO programming and design.

Do you expect to meet many existing Wicket users or developers to be at FOSDEM?

There are several companies that use Wicket in Belgium, Germany and the Netherlands. I hope to see many come out of the closet :). As for core committers, I think I'll be the only one attending, but I'll ask around. Several committers are located in Germany and the Netherlands so perhaps some will join me there.

What other frameworks and tools are often used together with Wicket?

Spring, Guice, Hibernate, Maven, Eclipse, IntelliJ, Quartz, JQuery (the wiquery project is pretty awesome).

Wicket attempts to separate logic and presentation (markup). Is this a 'solved' problem now, or is it more of a continuous fight?

When you use Wicket, it is a solved fight as we don't have any scripting in our HTML templates. All view logic that acts on markup is in Java code. This works quite well when you have a software development process where you first create a HTML mockup and then start slicing and dicing that mockup into pages and reusable components —- a process that is used at my current company.

The fact that JSF now finally has support for HTML templates baked into the standard (and not as an add-on library) is a boon to all developers, and shows that Wicket took the right path in 2004.

What are the plans for Wicket going forward?

[We'll] release Wicket 1.5 with revamped internals. Wicket's dependency on inheritance has diminished, making it easier to combine frameworks and libraries that build on top of Wicket. We will also continue to make our API easier to understand for novices and experts. Igor Vaynberg has proposed a Scala-like feature that explicitly marks a parameter as optional.

We'll also expand our support for HTML 5 (the new markup). In Wicket versions prior to Wicket 1.5 we validate markup for basic mistakes (misspellings of attribute values for example) but that validation is now becoming problematic when you want to use new HTML 5 constructs such as email, URL and number fields. In 1.5 we provide basic support, and with future versions we'll expand that support as the standard matures.

Another item that is on our wishlist is to revamp our Ajax support and client side story. Currently we use our own custom Ajax library, and we already have a prototype replacement for our client side javascript based on YUI3. In 1.6 we'll see where we can take this.

You've written a book about wicket (Wicket in Action, 2008). How was this experience? Can we expect more in the future?

Writing a book is hard -— especially if you do it next to your day-to-day job. There are 24 hours in a day, but you can only effectively use 8 or perhaps 6 hours of intense mental exercise. The rest is filled with sleeping, eating and other things you need to do to stay clean, alive and employed. I was lucky if I was able to get 1 hour of writing done, completing 1-3 pages.

While I have pledged that I won't be writing a book anymore I do want to be involved in a second edition, if that should happen. The current edition of Wicket in Action still is relevant as we tried to provide concrete examples and explain them on a conceptual level. That said, Wicket has moved on since we wrote the book, and some API's have changed. The concepts are still there and writing the Hello World example hasn't changed that much.

How's the Java development experience these days on Mac OS X? Is it similar to other platforms?

With regards to Wicket it is (as long as you instruct your scm client and IDE to use the correct encoding). At my company we have developers working with Windows XP, Windows Vista, Windows 7, Linux (Ubuntu, Fedora) and OS X on the same projects, without problems. The only issues we run into are compiler incompatibilities between Eclipse and javac in what is allowed with generics.

With Java in general, working on OS X used to be a challenge when Apple didn't provide a Java 6. Soylatte was a nice way to be able to keep on working. Fortunately those pioneering days are over and OS X users can work again without feeling like a 2nd class citizen.

Sound like a nice way to work. How is it like to work in the Wicket community?

[It's] one of the most active, vibrant, helpful and friendly communities out there. If there were awards for communities, Wicket's would be in the top 10.

We hope FOSDEM 2011 makes into your conference top-10 too. See you there!

Creative Commons License
This interview is licensed under a Creative Commons Attribution 2.0 Belgium License.