I’ve been developing with Wicket for quite a few years so I’m perhaps a bit biased but I’ve found it a nice platform for reuse and refactoring and can be adapted to do pretty complex AJAX/JS activities. However, I’d agree that the learning curve is pretty steep; I’m still finding out about new stuff after 10 years which I’ve just found a need for. One big plus for Wicket is the number of third party products it can integrate with – I use JQuery, Highcharts, Logback, EJBs, Hibernate, Jamon, Paypal, BouncyCastle, OAuth and more.

Having said that, syntax aside, complex stuff in a large scale system is never going to be easy – I’d be amazed if my latest project was any easier in node.js than Wicket.

My conclusion after about 30 years in software development is that there is no silver bullet, folks – small scale solutions can always be hacked out quickly but large scale, maintainable systems need structure, reusability and performance applied at the crucial points, plus obviously, providing the functionality for the development in question. The choice of framework or platform to use is a function of these.