Now, I am familiar with Scala language and ready to do web development. The only framework I came across is Lift and don't know anything about it. How do you approach web development using Scala?
There are at least 2 scala frameworks for web development. One, as you mentioned, is Lift.
There's also Step, which is a micro-framework in the vein of Sinatra for ruby. It seems pretty cool and has a nice DSL.
Slightly more experimental, the latest scalaz trunk has a package for dealing with web applications. It's somewhat lacking in documentation and examples though, and is likely to undergo some heavy changes over the next few months (I'm a committer). If you'd like to follow the bleeding edge ways that I'm thinking of using it, you could check out scapps. I hope to have an example app up soon.
I've used both Wicket and Tapestry to build Web applications in Scala.
The main reason why I didn't go with, say, Lift is because our developers are quite experienced with the two frameworks and thus the conversion to Scala would be easier for them.
Of course, there are some things to keep in mind when using a Java web framework with Scala:
$tag()
to every class. This will cause Tapestry to reject the class.Using Lift for web development in Scala has some positives:
The negatives:
As Nick Partridge pointed out in his answer, there are other frameworks. As I don't know what you want or expect of a framework I can only point you at some Lift resources which may help you make up your mind:
You may also want to take a look at motivation and influences of Lift ("Seaside's highly granular sessions and security, Rails fast flash-to-bang, Django's 'more than just CRUD is included', Wicket's designer-friendly templating....") listed on http://liftweb.net/ to see if they match what you want.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With