我过去几个月一直在使用Grails,我非常喜欢它,特别是GORM.但是,我对Scala的Lift感兴趣.因此,我想知道您对哪种Web应用程序更适合这两个框架中的哪一个或者仅仅是品味问题,使用哪种框架?
最后,您认为哪些框架将来会更多使用?我觉得Grails远未达到临界质量而且仍然非常模糊(在过去的几个月里,我有机会与中型公司和IT初创公司合作,主要使用JVM堆栈,只有一个人知道并且使用Grails)我甚至不确定它是否可以成为Java世界的"RoR"(事实上,即使其他框架具有正增长率,过去几个月也会出现增长下降).而且我喜欢Groovy,这很容易学习,但我注意到它对于某些任务来说有多慢.
另一方面,Scala似乎更受欢迎(Tiobe Index),Twitter现在使用它的事实使它在博客圈中的存在更多,有很多爱好者和仇恨者嗡嗡作响.它以快速和可扩展而闻名.然而,对于许多开发人员而言,这种语言似乎有点难以理解和学习(所以它可能永远不会获得主流地位).Lift鲜为人知,我已经阅读了一些报告,它更适合小型应用程序(少于20个域类).
通过看看Groovy-Grails现在主导的书籍数量,但许多出版商都有Scala书籍,所以我认为这种优势不会持续很长时间.
最后,我们遇到的问题是,这两种语言和框架的IDE支持都很差(它在白天变得越来越好,但远远超出了Java商店所期望的效率).
我不想发动火焰战争,但我会非常有兴趣听取其他用户的意见.
这里接受的答案对Groovy采取了一种非常无知的观点 - 它是一种现代的,动态的语言(动态与静态本身就是一场巨大的争论,而且在这里并不特别重要).这是设计上的,因此不是缺点,只是差别.它有许多Java没有的现代语言功能,如闭包,本机正则表达式,多态迭代,一些可选的静态类型(辩论的问题,但也看看groovy ++),列表和地图的原生语法等等.-你可以看到这里的比较http://groovy.codehaus.org/Differences+from+Java
为了解决Grails vs. Lift的实际问题,我会说Grails是为了解决问题.它背后有SpringSource,只需查看插件页面http://www.grails.org/plugin/category/all - 我甚至找不到Lift可用的插件或等效插件.Grails还采用了最新的云友好技术,具有本机RabbitMQ消息支持以及MongoDB和Redis的交钥匙GORM支持等功能.