我正在使用Grails开始一个新项目,目前没有经验。 Grails 3.0.9是最新版本,但我读过一些插件还没有与Grails 3兼容,这是真的吗?如果这是真的,我应该考虑以前版本的Grails吗?
由于缺乏网络开发经验,我不确定我需要哪些插件,因此无法正确评估我对那些不可用的插件的需求。使用3.0版的优点是否超过缺点?或者使用最新版本,你认为避免将来升级插件的麻烦是值得考虑的事情吗?
答案 0 :(得分:2)
对Which version of Grails should be used
的回答可能因人而异,并且基于意见,但有一些因素可以使决策更容易。
特别是我会谈论grails 2.5和grails 3.x版本。
选择2.5版本的原因:
与较低版本相比,2.5版本中存在较少数量的错误,但重量较大且开发时间性能较低。
与IntelliJ理念的良好集成适用于较新版本。
选择grails 3.x的原因
虽然尚未提供良好的插件支持,但我会说你毕竟可能会使用java库而且无法阻止。大多数插件只是提供了一种更简单的方法来设置库环境和一些有用的标签等我们也可以自己创建。因此,在安装过程中可能会耗费一些时间,但在开发过程中会更快,特别是当您覆盖插件功能时。
grails 3.x在gradle上,与grails 2.5相比,强烈建议使用grails。 Gradle是最终的构建工具,它已经解决了旧构建工具的许多问题或缺点。
它支持弹簧靴和弹簧在它的核心,但更加努力使用它。它像任何Java项目一样提供巨大的力量,可能性和灵活性。
它现在变得轻巧,并且配置最少,这使其成为性能方面的不错选择。
最后但并非最不重要的是它带有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是任何弹簧应用程序的快速启动帮助程序,仅用于帮助您开始使用弹簧,仅此而已。换句话说,它减少了maven或build.gradle中依赖项的数量。
grails 3.x提供public static void main(String ..args){}
方法作为运行Web应用程序的入口点,使其更具弹性。同时,您可以集成任何所需的自定义。您可以像普通的java / groovy主应用程序一样运行Web应用程序。通过努力,我的意思是这次事情已经仔细整合,而不是像旧的越野车版本。在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 :(得分:0)
我也是Grails的新手。刚刚开始学习并完成过去5-6周的项目。我正在使用2.4并且仍然发现一些有用的插件不兼容。 2.3还完成了很多书籍和文档。我正在考虑在2.3中重做我的项目,让我的生活更轻松一些。
是的,正如@vahid所说,有益于学习。我首先需要弄清楚Grails如何使用好的例子。