Grails - Lift: Which framework is better suited for which kind of applications? [closed]
Asked Answered
H

5

14

I have been using Grails for the past few months and I really like it, specially GORM. However, I am getting interested into Scala's Lift. Therefore, I would like to know your opinion about which kind of web apps are better suited for which of those two frameworks or it is just a matter of taste, which framework to use?

Finally, which of those frameworks do you think will be more used in the future? I have the feeling that Grails is far from reaching a critical mass and it still remains very obscure (in the past few months I had the opportunity to work with middle size companies and IT startups working mostly with the JVM stack and only one person knew and used Grails) and I am not even sure if it can become the "RoR" of the Java world (Indeed reports a drop of growth in the last few months even if other frameworks have a positive growing rate). And I love Groovy, it is really easy to learn but I have noticed how slow it can be for some tasks.

On the other hand, Scala seems to be more popular (Tiobe Index) and the fact that Twitter is using it now gave it even more presence in the blogosphere with lots of lovers and haters making buzz. It is famous for being fast and scalable. However, the language seems somewhat hard to understand and learn for lots of developers (so maybe it will never gain mainstream status). Lift is little known and I have read some reports that it is better suited for small apps (less than 20 domain classes).

By seeing the number of books published Groovy-Grails dominate right now, but many publishers have Scala books on the works, so I think this advantage will not last long.

Finally, we have the problem that both languages and frameworks still have poor IDE support (it is getting better by the day but far away from what Java shops expect to be productive).

I do not want to start a flame wars, but I would be very interested to hear other users' opinions.

Harar answered 8/7, 2009 at 10:24 Comment(3)
Grails does not have poor IDE support - in fact, it has excellent IDE support compared to most RAD web frameworks - Intellij IDEA has unrivaled grails support. The only downside is its commercial (and it isnt really a downside, i mean come on! its time to pay for your software, cant always expect free, yet high quality software...but thats another debate all together...)Plasmagel
The SpringSource Tool Suite (based on Eclipse) is now free and includes decent Grails support.Excoriate
Support for grails is good with GGTS : grails.org/products/ggtsRegistrar
L
1

Grails is a nice idea(but only "stolen" from rails) but the fact that the groovy guys are not interested in getting proper Eclipse support is hindering it's success a lot. I've even seen Eclipse questions not being answered at all on the grails lists.

I agree with Tim that Netbeans 6.7 finally delivers the first half way usable Open Source IDE support for groovy/grails - and eventually, SpringIDE will also feature better groovy/grails support.

The reason many Java folks love Java is the static typing, which enables tools to help you a lot with many things. This is lost with a language as groovy. Yes, I could write every really important piece of Code in Java and still use Grails - but then, why should I, just to save a bunch of lines of glue code, do that instead of learning to use a Java framework highly effectively?

To come to an end: I did not yet look at scala, but built some simple apps with grails - and I tend to go back to java, even reimplementing every app that needs further development in a plain Java framework - I think wicket and Seam.

I'll also look at Scala/Lift, I heard many good things about it!

BTW: I'd compare communities and look at mailing lists - how many peope are there, do they get good answers on their important questions?

Grails seems to have a non-answered rate from nearly 50%, which I feel is bad.

Library answered 17/7, 2009 at 19:34 Comment(2)
"Grails seems to have a non-answered rate from nearly 50%" - 5783 questions tagged, unanswered 1225 == 22% unanswered.Frap
Lauri, good news, thanks! If you read my post, I wasn't talking about Stack Overflow, but about the Mailing list of the framework. And it's 3 years ago ;)Library
L
9

The accepted answer here takes a really ignorant view on Groovy - it is a modern, dynamic language (dynamic vs. static is a huge debate in and of itself, and not particularly relevant here). This is by design, and therefore not a disadvantage, just a difference. It has a lot of modern language features that Java does not have such as closures, native regexp, polymorphic iteration, some optional static typing (matter of debate, but also look at groovy++), native syntax for lists and maps, etc.- you can see a comparison here http://groovy.codehaus.org/Differences+from+Java

To address the actual question of Grails vs. Lift, I'd say Grails hands-down. It has the SpringSource behind it, and just look at the plugins page http://www.grails.org/plugin/category/all - I can't even find what plugins or equivalent are available for Lift. Grails is also on top of the latest cloud-friendly technologies, with features like native RabbitMQ messaging support, and turnkey GORM support for MongoDB and Redis.

Lonnielonny answered 15/3, 2011 at 5:41 Comment(1)
Not liking something is arrogant? Interesting point of view. And then, I don't say being not-static is bad in general. But if you like it static, well, then non-static things are not your cup of tea by nature. If you like red, using blue paint for your house might just not fit your taste...Library
T
1

Grails support in netbeans 6.7 is really good, as well as the idea intellij support in Maia.

Eclipse is still pretty sucky.

I looked at lift, but was concerned about the resources available now; this will change in the future, but my projects can't wait.

Toni answered 13/7, 2009 at 22:0 Comment(0)
L
1

Grails is a nice idea(but only "stolen" from rails) but the fact that the groovy guys are not interested in getting proper Eclipse support is hindering it's success a lot. I've even seen Eclipse questions not being answered at all on the grails lists.

I agree with Tim that Netbeans 6.7 finally delivers the first half way usable Open Source IDE support for groovy/grails - and eventually, SpringIDE will also feature better groovy/grails support.

The reason many Java folks love Java is the static typing, which enables tools to help you a lot with many things. This is lost with a language as groovy. Yes, I could write every really important piece of Code in Java and still use Grails - but then, why should I, just to save a bunch of lines of glue code, do that instead of learning to use a Java framework highly effectively?

To come to an end: I did not yet look at scala, but built some simple apps with grails - and I tend to go back to java, even reimplementing every app that needs further development in a plain Java framework - I think wicket and Seam.

I'll also look at Scala/Lift, I heard many good things about it!

BTW: I'd compare communities and look at mailing lists - how many peope are there, do they get good answers on their important questions?

Grails seems to have a non-answered rate from nearly 50%, which I feel is bad.

Library answered 17/7, 2009 at 19:34 Comment(2)
"Grails seems to have a non-answered rate from nearly 50%" - 5783 questions tagged, unanswered 1225 == 22% unanswered.Frap
Lauri, good news, thanks! If you read my post, I wasn't talking about Stack Overflow, but about the Mailing list of the framework. And it's 3 years ago ;)Library
F
1

I would like to specifically answer the question "for which kind of applications". The main difference between the philosophies of Grails and Lift seems to be that Grails enforces MVC whereas Lift seems to be more liberal i.e. it doesn't enforce MVC but provides enough avenues to use MVC if you want to.

Also Lift seems to be excellent for 'Single-Page Applications', especially if you need to implement a server-push functionality using technology like Comet (which obviously doesn't imply it's not good for other types of applications). On the other hand, Grails seems to be better for the 'Enterprisy' applications, especially if you are already familiar with Spring and Hibernate but want your app to be much more concise (using Convention over Configuration) than what a non-Grails app would be using these technologies.


References:

  1. Simply Lift, chapter 13
  2. Single-Page Application

Disclaimer:
I have just started exploring Lift and built some simple apps using Grails.

Following answered 3/4, 2011 at 16:58 Comment(0)
N
1

With all the performance improvements and advancements of Grails2.0, with great support provided by IntelliJ 11 for the framework, an ability to plugin pretty much any advanced web technology into your grails app., and yes - VMware weight behind it - I really don't see how Lift could be an advantage or a good choice. Just think of using two different languages in the same application, need for double expertise in the team, etc.

The original question has been posted like 2+ years ago and I think time showed on which side is the choice of the dev community ;)

Nyasaland answered 26/1, 2012 at 6:12 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.