title: Comparing Lift with Play2
body: <p>I used play2 before with java. It felt a little bit like boilerplate especially if you used akka with java. But that is not the fault of the framework.</p>
  
  <p>Yesterday I read "Scala for the impatient" and I really enjoy the language.</p>
  
  <p>Now I looked at both frameworks Lift 2.5 and Play 2.0.3. I think lift has a higher learning curve and I could not just do something with lift. This is not a con for me. From what I saw, Lift has a very nice and clean design. </p>
  
  <p>But for me it is hard to tell what the main differences are. I think both frameworks are great.</p>
  
  <ul>
  <li><p>The Views First approach doesn't allow you to code in your templates, instead you have to code in snippets. I like this a lot because it looks more organized to me. It also lets you use a normal html editor.
  <em>(I have not much experience, this is just my first impression)</em></p></li>
  <li><p>For the security I don't think that is the job of the framework. </p></li>
  <li><p>Stateless/Stateful : It is hard to tell where the main differences are. I only know that play has also a state if you use web sockets.</p></li>
  <li><p>Both frameworks are able to compile after you press F5. I like this feature a lot.</p></li>
  <li><p>Both frameworks are using sbt</p></li>
  <li><p>Lift comes with authorization but I think there is a play2 scala plugin that does the same thing</p></li>
  <li><p>Lift has a ORM mapper for mongoDB. Because I want to use noSQL, this looks cleaner to me.<em>(Again not much experience)</em> <strong>Edit</strong> There is a ORM mapper for scala mongodb in play2 <a href="https://github.com/leon/play-salat">https://github.com/leon/play-salat</a></p></li>
  <li><p>Async - Play 2 uses Akka. Don't know what lift uses but they also have something similar.</p></li>
  <li><p>Lift ships with CSRF support. Play2 has a modul for CSRF but this adds a boilerplate to your code.</p></li>
  <li><p>Stateless authentication seems to have some security vulnerabilities. Both frameworks have the stateful authentication. (play2 stateful/stateless , lift stateful)</p></li>
  </ul>
  
  <hr>
  
  <hr>
  
  <ul>
  <li>What are the strengths of each framework?  </li>
  </ul>