We continue our series of interviews with Wicket community members. This time we flew to Rio de Janeiro to meet Bruno Borges. Bruno is a software engineer who has been active in our community for a while now and has contributed to the Wicket Stuff Hibernate Validator integration. I'm looking forward to meeting Bruno at ApacheCon US but you'll have to do with this interview.
Can you please give a short introduction to yourself?
Olá! I'm a brazilian developer living in Rio de Janeiro. Single, no kids, dogs or plants but a few bugs. When I'm not coding, I'm surfing or drinking beer with my friends. I also host foreigners through couch
surfing. I'm also a committer on Wicket Stuff and a contributor to Apache Wicket.
And for which company do you work, what does it do?
I work as Senior Consultant at Jawsys, a brazilian consulting company owned by me and a couple of friends – specialized in Java Web Systems (now you know why it has that name) – and for now I'm assisting a company called CETIP related with financial businesses.
What type of applications does your company build, in what industry?
Now I work for a financial company who trade, of course, financial papers. So we deal with online, back office and web services applications. Most of our task is to improve the current infra-structure and migrate old COBOL programs to Java. We also find ourselves developing new products that weren't available even in the Mainframe. Unfortunately this application is not public. But what I can tell is that we have online applications written with a proprietary web framework. But we are trying to push Wicket against new projects, specially now when the last one used GWT and the team didn't like it. :-) So there's hope.
How did you first find out about Wicket?
A friend of mine introduced me to it when he was yelling about how to integrate its framework Genesis with the Web layer.
How long have you been using Wicket?
I started coding for fun with Wicket version 1.2, when it got released on May 24th of 2006 and since then, I'm trying to push it into the Brazilian IT market. The first business project I worked with Wicket was on April 2007, with 1.2.6. I think that gives me almost 2 years of experience with Wicket. And because of that first project, I started to post on my blog about this great framework. I would consider myself as the first Brazilian Wicket user. :-)
What other web frameworks have you used and how do they stack up to Wicket?
I've been a web developer since Stone Age – Servlets and JSPs – but after that I also tried Struts 1.x, 2.x, Tapestry and Java Server Faces. And then Wicket came to rescue me. :-) I worked in a big project (80+ people) that envolved EJBs and Oracle products like BC4J, and the interface was developed with Struts 1.2. It was a nightmare working with so many XML files. And when I saw JSF for the first time I started to have bad dreams again. And that's why I always suggest Wicket as the Web Framework for any project I participate from now on.
How does your development environment look like (for example IDE, frameworks, servlet container, JDK version, etc)?
I do most of my projects with Eclipse and Maven. Whenever it is possible, I use the lastest version of JDK. I have a Dell laptop running Ubuntu since version 6 – actually the first thing I did when I got it was to format and replace Windows with a previous version of Slackware. :D
The architecture I usually suggest involves Spring with Hibernate as JPA provider. But depending on the customer, it is EJB 3. The JEE container has been JBoss for long time but now I'm considering Geronimo for future projects. And of course Apache Wicket when it is a web project. If it is for a Desktop, I consider using Genesis but this doesn't happen quite often (I mean about desktop projects).
How does this compare to the deployment environment?
Most of my customers have WebSphere and Weblogic running on their servers. Unfortunately, all of them are still running JSE 1.4 but 2009 will be a better year and (sarcasm on) they will move to JSE 6.0 (sarcasm off). :-)
What are Wicket's strongest points?
Definitely the lack of XML configuration for mapping page flows and forms. But I also like how easy is to create, and reuse components. I suddenly stopped having nightmares… (I wonder why).
But all of that wouldn't be possible if it wasn't for Wicket's main concept: code it like Swing, not like HTTP requests. I love that concept.
What are Wicket's weakest points?
Not being a standard. That's the only reason big companies are not using it. The market only cares about standards and it doesn't matter if JSF is more like Struts 2.x, full of XMLs and Taglibs.
If you could put one feature in Wicket, what would it be?
Turning it into a JEE standard.
Rich internet applications (RIAs) are hot now, what is your experience with them, and how does Wicket fit into this RIA future?
Silverlight, Flex and JavaFX have created a segment in the industry, but this doesn't mean it will replace plain HTML. People are still using IE6! So Wicket can definitely live in piece with RIA applications like that. By the way, it is totally reasonable to develop RIA applications with Wicket (hey, it has Ajax, right?) to compete with those hot technologies. So I believe Wicket will have its piece of this RIA cake.
Where would you take Wicket the next year?
Integration. That's the word. We've already seen it with Seam and I can't wait to find Wicket plugged with more products. I also hope to find better integration with IDEs and maybe an WYSIWYG editor like those for JSF.
Any closing thoughts or remarks?
To code with fun, code with Wicket. Wicket is funny. :-)
Thank you for taking the time to answer these questions!
It was a pleasure!