What are the advantages and disadvantages of frameworks Lift, Play and Wicket? What characteristics are best or only supported by each?
Thanks
What are the advantages and disadvantages of frameworks Lift, Play and Wicket? What characteristics are best or only supported by each?
Thanks
There are many threads that compares these web frameworks for Scala. See
http://stackoverflow.com/questions/3948067/which-is-better-framework-java-gwt-or-scala-lift
Lift / Wicket here: http://stackoverflow.com/questions/3948067/which-is-better-framework-java-gwt-or-scala-lift
Play:
Lightweight Java-based framework, with Scala support available as an extra.
very good for rapid prototyping, fast-feedback-loop kind of work. Embeds the compiler, so you just edit source code in place and pages get immediately updated. Learning curve is shallow.
Wicket:
Stateful Java-based framework, with Scala support available as an extra.
Shallower learning curve into Scala, especially if you already have wicket experience. Good separation of concerns, POJO-based model. Arguably one of the best Java web frameworks currently available.
Lift:
Stateful native-Scala framework. Deep Scala integration, so no need to generate bean setter/getter methods or worry about interop between Java/Scala collections. Fully embraces functional-programming concepts, such as immutability and closures.
Also the steepest learning-curve of the three. One common piece of advice is therefore to learn the Scala language before getting started with Lift, especially if you come from a Java background.
Others:
There are also other Scala-based frameworks available (such as Scalatra and Pinky) for web development, though not as well-known as Lift. It wouldn't hurt to check these out as well!
For more information, see this question: http://stackoverflow.com/questions/1488412/what-scala-web-frameworks-are-available