Is the Lift framework as "easy" as Ruby on Rails or Django? Is the Lift framework as "easy" as Ruby on Rails or Django? ruby-on-rails ruby-on-rails

Is the Lift framework as "easy" as Ruby on Rails or Django?


I'm currently working on a series of projects in lift, so I'll give my personal experiences.

Its a very capable framework - and I find it makes lighter work of application development than the equivalent in rails or django. However, you will need a reasonable understanding of scala in order to get started on sophisticated app development as documentation is existent but limited, and not centralised.

Lift itself has cherry-picked a lot of features from existent frameworks - rails and django included - to form, imho, a best of breed framework. It also uses some novel techniques of its own that truly mean you can take a frontend and build an application around it relatively quickly.

Following the tutorials, you can create the classic "todo" application demonstrated by many frameworks with little to no experience within 2-3 minutes. But I would say that you need to have a reasonable knowledge of Java, and an understanding of scala in order to get the most out of lift.

Setting up a comfortable development environment isn't exactly painless, due to spotty scala support in the mainstream IDEs.

If you have a weekend you can dedicate to getting started and reading the book I would highly recommend taking the plunge.

As a more direct answer to your question, in terms of "ease", I would say that if you are unfamiliar with Java, scala, ruby and python, then of the three, your best bet would be rails - as ruby is a beautiful language, nigh on self-explanatory, well documented, introduces the majority of OO concepts, and is very easy to learn. Additionally, I know of many people that have actually learned ruby solely through developing in rails.


I have to disagree with the other answers that support Lift over RoR and Django. Lift is incredibly capable, and it is very flexible. But anyone who thinks it is easier to grok and get rolling with than Django and RoR isn't being pragmatic.

For one there is a lot more documentation on Django and RoR. Their are training classes, way more books, lots of web entries on solving common problems. Django has a huge number of plug-ins,etc. I know it might not seem like these things matter but they do. When it's hard to hire, hard to train, you have to solve common problems over again, etc it's a real drain.

I'm a fan of lift, and I think one day my recommendation might not be true. But if your life is dependent on it you might want to take the safe course and go RoR/Django.


I'd have to say it's a bit more difficult to get started with, due to the complexities of the Java/Scala ecosystem (maven? gradle? .war files? Tomcat? Jetty? what??) and the necessity of compilation. The exception is if you have Java development experience, or especially Java web development experience, in which case I'm sure all of this stuff is an old hat to you.

Once you've gotten past that and have a workflow, it's great. Scala is a fantastic language, and lift is an engaging framework.