2015-12-03 42 views
1

我开始使用Grails开发一个新项目,目前没有经验。 Grails 3.0.9是最新版本,但我读过一些插件与Grails 3不兼容,这是真的吗?如果这是真的,我应该考虑以前的Grails版本吗?我应该使用哪个版本的Grails?

由于对Web开发没有经验,我不确定我会需要哪些插件,因此无法正确评估对那些不可用的插件的需求。 3.0版本的优点是否超过了缺点?或者通过使用最新版本,您认为避免未来升级插件的麻烦是值得考虑的事情吗?

+0

它看起来像Grails 3开发几乎完全移动到IntelliJ,与GGTS支持结束 - 也想一想。 – tylerwal

+3

这是一个很好的问题,但不完全适用于SO。它主要基于意见。这完全取决于你的目标是什么。如果要开发和维护一个应用程序几年,那么从3.x开始是一个更好的选择。如果它想要尽可能多地实现尽可能多的功能,那么2.x系列将是一个不错的选择。无论哪种方式都取决于很多因素。如果您刚开始学习,并且想要学习,最好在3.x分支上这么做,因为它在很多方面与2.x非常不同。只是我对这个问题的看法。 –

+0

是的,我也这么认为,但不知道问这种问题的适当位置在哪里? 我想这个应用程序将在未来几年内开发和维护,但最初它是一个项目,需要在4个月内完成作为我的研究的一部分。因此,我需要立即启动并运行大量的功能(以及大量的文档来帮助我学习),但是不会在接下来的4个月过去之后将项目推向前进。 – Alexjjsmith

回答

2

Which version of Grails should be used的回答可能因人而异,并且基于高度的意见,但有一些因素可能会使决策更容易。

特别是我会谈论grails 2.5和grails 3.x版本。

理由去选择2.5版本:

  1. 精心打造的插件支持,并提供广泛的社区的帮助。
  2. 较之低版本,2.5版本中存在较少数量的错误,但重量较轻,开发时间表现较低。

  3. 与IntelliJ思想很好的整合是有更新的版本。

    1. 由于可用的文档很好,您可以快速移动2.5。
    2. 如果您以后没有计划升级grails版本并且项目规模较小。

理由选择的Grails 3.X

  1. 虽好插件的支持尚不可用,我会说你可能终究没有办法阻止使用的Java库。大多数插件只是提供了一个更简单的方式来设置库环境和一些有用的标签等,我们也可以自己创建。因此,在安装过程中可能会花费一些时间,但在开发后期会更快,尤其是在您覆盖插件功能时。

  2. grails 3.x在Gradle上,与Grails 2.5相比,它强烈推荐使用。 Gradle是最终的构建工具,它已经解决了以前的构建工具的许多问题或弱点。

  3. 它支持弹簧引导和弹簧在它的核心,但更加勤奋使用它。它像任何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,而不仅限于此。换句话说,它减少了你在maven或build.gradle中的依赖关系的数量。

grails 3.x提供public static void main(String ..args){}方法作为运行您的web应用程序的入口点,使它更具弹性。在同一时刻,您可以集成任何所需的定制。您可以像普通的java/groovy主应用程序一样运行Web应用程序。通过勤奋,我的意思是这些事情已经被仔细整合了,而不是像老版本的grails版本。在3.x中也可能存在一些错误,但它比2.x要好。

所以,当你开始使用grails 3.x时,你会觉得在春天有相同的人造水平感觉,即领域,控制器和服务的行为都与以前相同,但你会注意到配置级别的变化,如yaml文件,库等

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

+1

好帖子,但没有任何与Java安全性和Java 8成为标准要求相关,其中可能3最好。 2.4+支持Java 8,但ggts只支持jdk 8.25 8.31,你不能用最新的jdk版本运行它。 – Vahid

+0

不要说这是因为根据我的知识,在将java8与groovy集成时存在问题。但是,我仍然建议在使用java8和groovy之前做适当的RnD,这可能会导致关闭问题。 –

+0

感谢这篇文章,请您在第一点选择grails的理由,请问如何在插件的位置轻松使用java库? 另外,你说什么“它支持弹簧启动和弹簧的核心,但更加勤奋使用它”,这与2.5有什么不同? – Alexjjsmith

0

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

是的,正如@vahid提到的,对学习很有帮助。我首先需要了解Grails如何以良好的例子工作。

+0

为了学习是好的。就我个人而言,我会去看看2.4中发生了什么变化,这是很多关于groovy 2.3的介绍,它与jdk8在进行更改之前有一个开始。关注密码漏洞,专门研究jdk7的安全问题。如果这些都不重要,请按照您的要求 – Vahid

+0

@monty_bean请在答案中发布答案。你在这里提到的可能在评论中很好,因为它不能解决问题作者的问题,即“使用哪个版本的grails”。 –

相关问题