我应该使用哪个版本的 Grails?

Which version of Grails should i use?

我正在使用 Grails 开始一个新项目,目前没有这方面的经验。 Grails 3.0.9 是最新版本,但我听说有些插件还不兼容 Grails 3,这是真的吗?如果这是真的,我应该考虑使用以前版本的 Grails 吗?

由于没有网络开发经验,我还不确定我需要哪些插件,因此无法正确评估我对那些不可用的插件的需求。使用 3.0 版的利大于弊吗?或者您认为通过使用最新版本避免将来升级插件的麻烦是最值得考虑的事情吗?

Which version of Grails should be used 的答案可能因人而异,并且很大程度上基于意见,但有一些因素可以使决策更容易。

我特别想谈谈 grails 2.5 和 grails 3.x 版本。

选择 2.5 版本的原因:

  1. 完善的插件支持和广泛的社区帮助。
  2. 与较低版本相比,2.5 版本中存在的错误数量较少,但很重且开发时间性能较低。

  3. 较新版本与 IntelliJ idea 的良好集成。

    1. 由于可用的良好文档,您可以快速使用 2.5。
    2. 如果以后没有升级grails版本的打算,而且项目规模较小。

选择 grails 的原因3.x

  1. 虽然目前还没有很好的插件支持,但我想说你毕竟可以使用 java 库,而且不会被阻止。大多数插件只是提供了一种更简单的方法来设置库环境和一些有用的标签等,我们也可以自己创建这些标签。因此,它在设置中可能会有点耗时,但在以后的开发中会更快,尤其是当您覆盖插件功能时。

  2. grails 3.x 在 gradle 上,与 grails 2.5 相比,强烈建议使用它。 Gradle 是终极构建工具,克服了旧构建工具的许多问题或弱点。

  3. 核心支持spring-boot和spring,但使用起来更勤奋。就像任何 java 项目一样,它提供了巨大的力量、可能性和灵活性。

  4. 现在已经轻量化,配置最少,性能上是不错的选择。

  5. 最后但并非最不重要的一点是,它带有 spring 4.1、groovy 2.4 并支持特征和增强的 IDE 集成。

在选择 grails 框架时,这些似乎是一些值得考虑的好点。

最后这可能有专家的一些意见,但最终选择应该是最新的,但只有好评。

编辑:对某些可能不是所有人都显而易见的要点进行了阐述。

supports spring-boot and spring at it's core but is more diligent in using it : spring-boot 是任何 spring 应用程序的快速启动助手,仅用于让您开始使用 spring,仅此而已。换句话说,它减少了 Maven 或 build.gradle.

中的依赖项数量

grails 3.x 提供 public static void main(String ..args){} 方法作为 运行 您的 Web 应用程序的入口点,这使得它更 springy。同时,您可以集成所需的任何定制。您可以 运行 像普通 java/groovy 主应用程序一样的 Web 应用程序。勤奋,我的意思是这次已经仔细地集成了东西,而不是像旧的 buggy grails 版本。 3.x 中也可能存在错误,但它比 2.x 好得多。

因此,当您开始使用 grails 3.x 时,您会觉得在 spring 上工作具有相同的人工制品级别感觉,即域、控制器和服务的行为都与之前相同,但您会注意到配置级别yaml 文件、使用的库等更改

一句话,after all it's spring / hibernate used inside, you know spring/hibernate you know grails more than anyone else knows

我也是 Grails 新手。刚开始学习和做一个项目过去5-6周。我正在使用 2.4,但仍然发现一些有用的插件不兼容。还有很多书籍和文档都是用 2.3 完成的。我正在考虑在 2.3 中重做我的项目以使我的生活更轻松一些。

是的,正如@vahid 提到的,对学习很有帮助。我首先需要弄清楚 Grails 如何使用好的示例。