Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

grails

lift

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.

like image 938
Rodrigo Rivera Avatar asked Jul 08 '09 10:07

Rodrigo Rivera


3 Answers

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.

like image 62
user445994 Avatar answered Nov 16 '22 13:11

user445994


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.

like image 35
Henning Avatar answered Nov 16 '22 14:11

Henning


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.

like image 1
Tim Howland Avatar answered Nov 16 '22 15:11

Tim Howland