views:

462

answers:

2

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

Thanks

+5  A: 

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

http://stackoverflow.com/questions/3231998/for-my-next-project-a-web-app-should-use-scalawicket-or-scalalift

http://stackoverflow.com/questions/3164071/how-do-the-scala-based-frameworks-stack-up-for-a-complete-scala-newbie-lift-pl

olle kullberg
You do not have to follow these links. Actually, Kevins answer saiz it all.
olle kullberg
These links were very helpful, especially the first. Thanks
adelarsq
No, please, *do* follow the links! My summary was very broad - there's a lot more to learn in the fine print. **I** certainly upvoted this answer.
Kevin Wright
+19  A: 

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

Kevin Wright
Clear as crystal, as always when coming from you @Kevin
olle kullberg
Hey, thanks! But you do know this'll probably send me on some sort of ego-trip right?
Kevin Wright
Thanks @Kevin for the reply, very useful and complete.
adelarsq
Wicket is actually a stateful framework.
Eelco
@eelco: You can tell which one I haven't used then? I've updated the answer
Kevin Wright