Frameworks comparation: Lift, Play and Wicket

adelarsq picture adelarsq · Oct 17, 2010 · Viewed 8.3k times · Source

What are the advantages and dis­advantages of frameworks Lift, Play and Wicket? What characteristics are best or only supported by each?

Thanks

Answer

Kevin Wright picture Kevin Wright · Oct 17, 2010

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: What Scala web-frameworks are available?