Reputation: 15615
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?
Upvotes: 8
Views: 1511
Reputation: 4320
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.
Upvotes: 2
Reputation: 1414
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.
Upvotes: 4
Reputation: 22914
I believe Lift is currently the leading web framework if you want to write your application in Scala.
Upvotes: 1
Reputation: 357
I've had success with Struts 2 and Scala. The @BeanInfo and @BeanProperty annotations in the scala.reflect package come in handy for property access.
Upvotes: 1
Reputation: 11292
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.Upvotes: 2