我在寻找Java中是否有类似于Django/RoR的框架。
我发现了以下两个框架:
有人试用过这些框架吗?或者你知道其他的框架吗? 它们比Django/RoR更快吗?
我在寻找Java中是否有类似于Django/RoR的框架。
我发现了以下两个框架:
有人试用过这些框架吗?或者你知道其他的框架吗? 它们比Django/RoR更快吗?
大约一年前我发现了Grails,从此不再回头。它汲取了很多Ruby on Rails的思想(最初是被称为Groovy on Rails),并且有着丰富的插件/扩展生态系统。Grails和其底层语言(Java的超集)让编程变得非常愉快 - 你可以真正专注于核心功能。
它的GORM功能(基于Hibernate的一层)也非常强大,并且除了插件系统之外,是检查它的两个巨大原因之一(你也可以在你的Java应用程序中使用它)。
随着1.2版本即将发布,我认为它具备了足够的特性和成熟度,成为任何开发者必备的工具之一。
就性能而言,它肯定不及纯Java,但你可以利用Spring / Hibernate / J2EE等优化所有部分,并且对于一些关键代码块,你总是可以切换至纯Java。最近进行了一些实验,允许使用静态方法解析来运行部分Groovy代码,结合invokedynamic支持,应该能提供巨大的性能提升。
Java中还有其他值得关注的项目,比如Spring Roo和AribaWeb。
基于其他标准的更新
可扩展性、生产力、文档和合理利用资源
我曾经用Grails做过一个项目,发现它在某些任务上非常快,但是它在幕后做了很多“魔法”,这使得调试变得困难。
此外,我发现自己一遍又一遍地阅读文档,因为我觉得它不够自然。一个简单的例子是控制器,其中操作被定义为字段(对我来说,将操作视为方法是很自然的...)。关于GORM,你需要知道一些特殊的词语,当放置在静态字段中时,会执行一些魔法,比如使字段瞬态化...没有注释,没有自动完成...只有手动。
至于Play!,我发现它非常简单和快速,易于学习和记忆。社区似乎比Grail's小,但更活跃,回答更快。唯一的缺点是它不依赖于servlet的api,因此一些第三方过滤器或其他东西很难集成,但并非不可能。重要的是要注意,您可以将Play应用程序部署在任何传统的Web服务器上,将其打包为war文件。
我认为Grails很棒,但你需要有很多经验才能提高生产力,否则你会花费很多时间在手册上。因此,如果你不是这种情况,我应该推荐Play!特别是如果你不熟悉Groovy。
关于JRoR怎么样?