views:

2928

answers:

2

Just wondering if anyone has experience with the three. I have used read through some RoR and used Django. They seem fairly easy to use. Is lift "easy" like these two are? I know easy is subjective and has no context here. I mean in a very high level and general sense.

+36  A: 

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.

Matt
Thank you for this explanation.
johnny
+3  A: 

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.

Alex JL