Wicket In Action: Best fit for small web applications?
Johannes Fahrenkrug
Greenhorn
Joined: Mar 07, 2007
Posts: 6
posted
Hi Eelco and Martin,
you might still remember me, I was active on the Wicket mailing list about 1,5 years ago: I developed a booking application at https://www.gebeco.de/?rnr=2630024 back then. It was great working with Wicket and with you guys on the mailing list but all my latest projects I've done with Rails now. What would you name as the top three reasons to reconsider Wicket even for smaller web apps?
Don't get me wrong, I'm not a "Java sucks and Ruby/Rails rulez" kind of guy. Both have their place without a doubt!
If you are happier with rails why should anyone try to convert you? It's just a framework, not religion.
Alaa Nassef
Ranch Hand
Joined: Jan 28, 2008
Posts: 415
posted
Originally posted by Maris Orbidans: If you are happier with rails why should anyone try to convert you? It's just a framework, not religion.
Well, I actually like questions like these, since it gives people an idea about the best features of each framework. I think Johannes wants to know what are the new features introduced during the previous 1.5 years that compete with what's present in rails, to make him consider it for smaller applications.
Originally posted by Johannes Fahrenkrug: Hi Eelco and Martin,
you might still remember me, I was active on the Wicket mailing list about 1,5 years ago: I developed a booking application at https://www.gebeco.de/?rnr=2630024 back then. It was great working with Wicket and with you guys on the mailing list but all my latest projects I've done with Rails now. What would you name as the top three reasons to reconsider Wicket even for smaller web apps?
- Johannes
Hi Johannes,
Personally, I would consider RoR only for small projects tbh. I would expect that using it in a complex project with a large team leads to a code base that is hard to maintain. And I'm very regularly reading experiences from RoR users who got themselves in a mess and are back with Java frameworks again. Anyway, YMMV, and I can imagine that if you're really diciplined, RoR might work for you. I like certain parts of Ruby and use it sometimes for sysadmin kind of programs.
Anyway, if you want a top three: 1) Wicket takes full advantage of static typed Java, which is great for refactoring and code navigation. 2) Working with and creating reusable components with Wicket is a breeze. That really helps avoiding code duplication and breaking up tasks in your team, and because you have more means to abstract your problem domain, it often leads to more elegant code. 3) Making use of the other Java frameworks.
Regards,
Eelco
Johannes Fahrenkrug
Greenhorn
Joined: Mar 07, 2007
Posts: 6
posted
Hi Eelco,
Thank you for your reply. I fully agree that you have to be disciplined in order to write beautiful rails applications, but that's true for every framework and every language imho and for that matter RoR makes it harder to write messy code than - say - PHP without a framework.
About the top three:
1) True, although the convention over configuration paradigm of RoR makes intelligent code navigation possible too (move from view to controller action to test case etc). 2) Yes, I really like Wicket's reusable components. Rails partials and helpers offer similar functionality and the Don't Repeat Yourself principle is a very important one there, too. 3) That is true too. There are a lot more of those for Java than for Ruby, that's for sure, but the number of Ruby gems is growing, too. And if I'm not mistaken, you can even use the Java frameworks if you run Rails on top of JRuby, but I haven't tried that yet.
Thank you to Eelco and the whole Wicket team for creating such a great web framework. I just have one more question: Do you think you could provide some more pro-Wicket points that are not applicable to all Java frameworks (points 1 and 3)? I'm looking for things that would make me reconsider Wicket even for small CRUD projects.
Thank you so much!
- Johannes
Eelco Hillenius
author
Ranch Hand
Joined: Apr 23, 2008
Posts: 37
posted
Originally posted by Johannes Fahrenkrug:
Thank you to Eelco and the whole Wicket team for creating such a great web framework. I just have one more question: Do you think you could provide some more pro-Wicket points that are not applicable to all Java frameworks (points 1 and 3)? I'm looking for things that would make me reconsider Wicket even for small CRUD projects. - Johannes
Well, 1) and 2) are - unfortunately - really points that only a few frameworks in Java land support. In my opinion only Wicket, GWT and Echo support it to the extend that I like it. Most frameworks hardly take advantage of static typing or any of the constructs that make OO programming great (encapsulation and state, which in turn is what makes Wicket components work so well).
3) I guess could be the clean separation of markup and code. This has the root in supporting 1) to the fullest extend, but has the nice by product that it allows you to stay close to your designs (and even hire a web designer to work on templates directly if you want). Again, YMMV and this point is a question of taste for people as well.
Johannes Fahrenkrug
Greenhorn
Joined: Mar 07, 2007
Posts: 6
posted
Eelco,
Thank you for your reply. You know, I think the wonderful feature of being able to have have clean and valid HTML that you can give to a web designer is something I almost forgot about. That is a big advantage over Rails for sure. That was one point that drew me to Wicket in the first place, along with the fact that Wicket doesn't have a zoo of XML config files.
Keep up the good work and I'll get the book for sure!
Originally posted by Johannes Fahrenkrug: Do you think you could provide some more pro-Wicket points that are not applicable to all Java frameworks (points 1 and 3)? I'm looking for things that would make me reconsider Wicket even for small CRUD projects.
I made a presentation recently comparing Wicket with a few other frameworks which I think you will find very interesting. You can find the slides here: