学习Grails的动手学习计划

时间:2009-02-03 15:46:31

标签: grails

我是一名尝试学习Grails的Java开发人员,我希望尽可能多地接触Grails框架。最好通过使用“Grails方法”来解决小的现实问题(DRY,约定配置等)。

三个例子可能是:

  • 通过创建一些类(比如电影,演员等)以及它们之间的关系/映射(1:1,1:N,N:N等)来了解GORM。
  • 了解布局支持(sitemesh),使用它来生成网站上所有GSP:s共有的页眉和页脚。
  • 了解有关过滤器支持的信息,以确保对某个控制器的所有访问都来自经过身份验证的用户。

我的问题是Grails的所有开发人员 - 你会在“Grails课程”中以及以什么顺序包含哪些内容?

所有输入都赞赏!

4 个答案:

答案 0 :(得分:14)

以下是一些示例,但要注意它们相当简单,并没有真正向您展示系统如何协同工作。 Grails的优势之一是所有不同的部分都可以降低代码复杂性并加快开发速度。我建议做一个中等规模的项目(如博客软件或照片库),这会迫使你触摸几乎所有东西。我目前正在开发一个票务管理应用程序,我必须基本上学习框架中的所有内容。实际上,实际上并没有太多的材料。

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

  1. Groovy,特别是闭包,地图和属性。如果你来自Java,一开始闭包可能看起来有点奇怪。但是,一旦你绕过它们,就很难回到不使用它们的语言。地图和属性使用可能熟悉的想法,但语法和用法不同,值得仔细研究它们。 Grails在整个框架中始终使用这三件事。举个好例子,检查实例化resources.groovy中定义的Spring bean的“BeanBuilder”。另外,在groovy.codehaus.org上运行Groovy文档。几个小时的路程将为您节省一天的时间。

  2. MVC编程。 Grails中的“MVC”模型与Rails中使用的模型非常匹配,但它与Java桌面应用程序中使用的“MVC”模型有很大不同。基本上,所有传入的URL请求都是到控制器的消息,控制器返回一个视图。域对象是您要通过视图和控制器存储,查看和操作的数据。使用约束来验证用户输入的输入表单,然后使用控制器以某种方式对其进行操作。像生日那样的页面,返回你的十二生肖和十二生肖动物。看看是否可以在给出错误输入时将错误返回给用户。

  3. GORM。 GORM非常重要,但您几乎可以选择任何项目来学习它。一次性提供文档,以便您知道其功能是什么。

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

  5. Groovy Server Pages。如果您之前使用过模板引擎,那么这应该是熟悉的。了解GSP标签库,这是一个巨大的帮助。实际例子包括:几乎任何东西。每个应用程序都需要一个前端。试着把它变得漂亮。注意:这会溢出很多特定于Grails的东西,比如JavaScript,CSS等。除非你已经掌握了这些知识,否则请准备一些学习曲线。

  6. 您的“conf”目录。了解那里的每个文件,尤其是UrlMappings.groovy。使用UrlMappings进行游戏,以便您拥有一个从URL中获取有意义信息的应用。像/myapp/calculate/36/times/145这样的应用程序返回答案。

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

    哦,看看Grails生成的脚手架代码。你最终可能会把它全部投入,但它会让你对系统的工作原理有所了解。

    玩得开心,快乐的黑客行为!

答案 1 :(得分:2)

第1步 - 学习Groovy

如果您已经了解Java,我强烈推荐Programming Groovy。它比其他优秀的Groovy in Action更简洁,更新。这些书都没有涵盖Groovy 1.6中重要的语言变化,因此您还应该阅读this page

第2步 - 学习Grails

The Definitive Guide to Grails可能是标准的Grails参考 - 请确保您获得第二版。 Grails in Action稍微有点近,但我还没读过,所以无法对此进行进一步评论。我发现TDGTG是一个小亮点GORM,所以你也可以考虑查看Grails Persistence with GORM and GSQL。这是一本非常的短篇小说,但值得用黄金来衡量。

第3步 - 潜入

尝试并修改Grails手册中的示例应用,或者从头开始构建自己的应用。 Groovy console是尝试使用Groovy代码片段的好方法。

答案 2 :(得分:0)

如果观众不熟悉 Groovy 中的编程,那么应该对其进行介绍。 Java会起作用,但是当你看到Groovy中代码的冗长程度时,它就会变得更好。在讨论 GORM 包括约束以及它们如何影响验证时。 脚手架在启动新项目时可以节省时间,因此请确保包含它。真正帮助我的Grails的一个功能是插件。选择一些并展示他们如何提供解决方案,同时节省开发时间。 安全插件适合您提到的过滤器主题。 测试,是否有足够的测试?

答案 3 :(得分:0)

我真的建议你阅读Definite Guide to Grails, Second Edition。它涵盖了您需要了解的有关在Grails中编写应用程序的所有内容。它可能缺乏“幕后发生的事情”的知识,但你应该掌握它。您可以将其作为PDF购买并立即开始阅读。

你还应该有一个可以使用的插件列表 - Grails有一些非常好的插件可以派上用场。我可以告诉你一些我使用的,但这也是一个很好的问题。 : - )