学习Grails的动手学习计划

学习Grails的动手学习计划,grails,Grails,我是一名试图学习Grails的Java开发人员,我希望尽可能多地接触Grails框架的各个部分。最好是通过使用“Grails方式”解决现实世界中的小问题(DRY、约定优于配置,等等)来实现 三个例子可以是: 通过创建几个类(比如电影、演员等)以及它们之间的关系/映射(1:1、1:N、N:N等),了解GORM 通过使用布局支持(sitemesh)生成站点上所有GSP:s通用的页眉和页脚,了解布局支持(sitemesh) 通过使用它来确保对某个控制器的所有访问都来自经过身份验证的用户,了解过滤器支

我是一名试图学习Grails的Java开发人员,我希望尽可能多地接触Grails框架的各个部分。最好是通过使用“Grails方式”解决现实世界中的小问题(DRY、约定优于配置,等等)来实现

三个例子可以是:

  • 通过创建几个类(比如电影、演员等)以及它们之间的关系/映射(1:1、1:N、N:N等),了解GORM
  • 通过使用布局支持(sitemesh)生成站点上所有GSP:s通用的页眉和页脚,了解布局支持(sitemesh)
  • 通过使用它来确保对某个控制器的所有访问都来自经过身份验证的用户,了解过滤器支持
我的问题是所有的Grails开发人员——在“Grails课程”中,您会包括什么内容?顺序是什么


感谢所有的意见

如果观众不熟悉Groovy中的编程,应该介绍一下。Java可以工作,但当您看到Groovy中的代码是多么的不冗长时,它就开始工作了。在讨论GORM时,包括约束条件以及它们如何影响验证脚手架在启动一个新项目时是一个实时节约工具,因此一定要包括它。Grails真正帮助我的一个特性是插件。选择一些,展示它们如何在节省开发时间的同时提供解决方案。安全性插件正好适合您提到的过滤器主题测试,有足够的测试吗?

这里有一些示例,但请注意,这些示例非常琐碎,不能真正向您展示系统如何协同工作。Grails的优点之一是,不同的部分结合在一起可以降低代码复杂度并加快开发速度。我建议你做一个中等规模的项目(比如博客软件或照片库),强迫你接触几乎所有的东西。我目前正在开发一个票证管理应用程序,我必须学习框架中的基本知识。事实上,这并不是很多材料

话虽如此,以下是我的“必须学习”清单,以及一些例子:

  • Groovy,尤其是闭包、映射和属性。如果您来自Java,闭包一开始可能看起来有点奇怪。然而,一旦你把你的头缠在他们身上,就很难回到一种不使用他们的语言。地图和属性使用的想法可能很熟悉,但语法和用法差异很大,值得仔细研究。Grails在整个框架中始终使用这三种东西。作为一个很好的例子,请检查“BeanBuilder”,它实例化了resources.groovy中定义的Springbean。另外,在Groovy.codehaus.org上运行Groovy文档。在那里呆上几个小时,你就可以省下几天的时间了

  • MVC编程。Grails中的“MVC”模型与Rails中使用的模型非常接近,但它与Java桌面应用程序中使用的“MVC”模型有很大的不同。基本上,所有传入的URL请求都是发送给控制器的消息,控制器返回一个视图。域对象是要通过视图和控制器存储、查看和操作的数据。执行一个输入表单,使用约束验证用户的输入,然后使用控制器以某种方式对其进行操作。类似于一个页面,它会记录你的生日,并返回你的生肖和中国的生肖动物。看看当输入错误时,是否可以让它将错误返回给用户

  • 戈姆。GORM非常重要,但实际上,你选择的任何项目都会迫使你学习GORM。对文档进行一次检查,以便了解其功能

  • 过滤器和服务。这些是“grails方式”来进行大量的干式编程。身份验证是一个典型的例子,它非常适合学习过滤器。对于服务,写一些可以发送电子邮件的东西。Grails网站上有一个很好的简单电子邮件服务示例

  • Groovy服务器页面。如果您以前使用过模板引擎,那么这应该很熟悉。了解GSP标签库,这是一个巨大的帮助。实际例子包括:几乎任何东西。每个应用程序都需要一个前端。试着把它弄得漂亮点。注意:这会涉及到很多与Grails无关的东西,比如JavaScript、CSS等。除非您已经掌握了这些知识,否则请准备一些学习曲线

  • 您的“conf”目录。了解其中的每个文件,尤其是UrlMappings.groovy。使用UrlMappings,这样你就有了一个从URL获取有意义信息的应用程序。类似于
    /myapp/calculate/36/times/145
    ,其中应用程序返回答案

  • 我想说这些是基础,但还有很多其他主题,比如webflows、i18n、测试、会话处理等等。学习这些知识的最好方法是建立一个相当大的项目。当你这么做的时候,你可能会发现自己在想,“天哪,我希望Grails能做到。”。阅读Grails.org上的优秀文档,您可能会发现一个内置功能或插件可以满足您的需求。参考PDF就在我的桌面上,在我的学习经历中,我发现它非常宝贵

    哦,看看Grails生成的脚手架代码。你可能最终会把它全部说出来,但它会让你对系统的工作原理有一个很好的了解


    祝你玩得开心,玩得开心

    我真的建议你读这本书。它涵盖了在Grails中编写应用程序所需的所有知识。它可能缺乏“引擎盖下发生了什么”的知识,但你应该掌握它的窍门。你可以按P价买