6

anyone have any experience with lift and how it compares to more widely used frameworks like rails and django?

Chris Bolton
  • 2,878
  • 6
  • 38
  • 57

3 Answers3

8

There are really a myriad of differences between Rails and Lift. Lift was constructed by DPP as a reaction against Rails, so do not be surprised if you find a lot of differences:

  • Security: This is the biggest difference. Lift is probably the framework that focus the most on security. Lift is very secure out of the box. It can't handle every threat, but more than any other framework I know of.

  • Performance: Since Scala is statically typed (just as @Vadim said) and runs on the JVM, Lift runs faster (taken that everything else is equal). The JVM gives you extreme performance nowadays..

  • Not MVC: Lift is not an MVC framework.

Lastly I want to redirect you to this thread about comparing Lift: For my next project, a web-app, should use scala+wicket or scala+lift?

Community
  • 1
  • 1
olle kullberg
  • 6,249
  • 2
  • 20
  • 31
  • 1
    In regards to security, I challenge you to bring arguments. I know that Rails has **a lot** of **built in** security mechanisms to prevent XSS (h method), injection (on AR side), CSRF (origin token). – clyfe Sep 02 '10 at 12:28
  • 1
    Well @clyfe Lift has at least some automatic protection against SQL-injection, CRSF, XXS and replay attacks. Lift was constructed with a heavy focus on security and performance, and Lift web sites have scored very high security ratings. Foursquare was checked by Rasmus Lerdorf, and he could not find a single hole. http://www.grenadesandwich.com/blog/steven/2009/11/27/scala-lift-and-future – olle kullberg Sep 02 '10 at 17:48
  • 1
    @clyfe: But there is nothing which forces you to use the h method. So it is easily forgotten. – Debilski Nov 22 '10 at 13:34
  • @Debilski In Rails3 output is escaped by default, if you need to leave it unescaped you need to call html_safe as in `<%= @var.html_safe %>` – clyfe Nov 26 '10 at 10:11
3

Django has a greater community and more third-party extensions (so-called apps). Lift application will be faster (because of static nature of Scala and JVM) other things being equal.

Vadim Shender
  • 6,703
  • 1
  • 16
  • 10
2

Well designed Lift will be faster than poorly designed Django. The converse is also true.

Lift is supposed to scale more easily because it's built upon the JVM, was designed with scalability in mind and you have access to tested libraries that were developed for scalability. But that's about it. Really. Both Rails and Django will get you up to speed fast.

wheaties
  • 35,646
  • 15
  • 94
  • 131