Aquí hay algunos ejemplos, pero tenga en cuenta que son bastante triviales y realmente no muestran cómo funciona el sistema en conjunto. Uno de los puntos fuertes de Grails es que las diferentes partes se combinan para reducir la complejidad de su código y el desarrollo de velocidad. Recomiendo hacer un solo proyecto de tamaño moderado (como software de blogs o una galería de fotos) que te obligue a tocar prácticamente todo. Actualmente estoy trabajando en una aplicación de gestión de tickets, y he tenido que aprender básicamente todo en el marco. Realmente no es tanto material, en realidad.
Dicho esto, aquí está mi lista de "debe estudiar", junto con algunos ejemplos:
maravilloso, especialmente los cierres, los mapas, y las propiedades. Si vienes de Java, los cierres pueden parecer un poco extraños al principio. Sin embargo, una vez que los encierres, será difícil volver a un idioma que no los use. Los mapas y las propiedades usan ideas que pueden ser familiares, pero la sintaxis y el uso son lo suficientemente diferentes como para que valga la pena estudiarlos de cerca. Grails usa estas tres cosas TODO EL TIEMPO, en todo el marco. Para un buen ejemplo, examine el "BeanBuilder" que ejemplifica los beans Spring definidos en resources.groovy. Además, revise la documentación de Groovy en groovy.codehaus.org. Un par de horas allí le ahorrará DÍAS en el camino.
programación de MVC.El modelo "MVC" en Grails coincide bastante con el utilizado en Rails, pero es significativamente diferente que el modelo "MVC" utilizado en las aplicaciones de escritorio de Java. Básicamente, todas las solicitudes de URL entrantes son un mensaje para un controlador, que devuelve una vista. Los objetos de dominio son los datos que desea almacenar, ver y manipular a través de vistas y controladores. Haga un formulario de entrada que valide la entrada del usuario usando restricciones, y luego manipúlelo de alguna manera usando un controlador. Algo así como una página que incluye tu cumpleaños y devuelve tu signo del zodíaco y tu animal del zodíaco chino. Vea si puede hacer que devuelva errores al usuario cuando se da una mala entrada.
GORM. GORM es muy importante, pero te verás obligado a aprenderlo prácticamente con cualquier proyecto que elijas. Dale una vez más a la documentación, para que sepas cuáles son sus capacidades.
Filtros y servicios. Estos son "el camino de los griales" para hacer una gran cantidad de programación DRY. La autenticación es un ejemplo canónico, y es perfecto para aprender a filtrar. Para los servicios, escriba algo que envíe un correo electrónico. Hay un gran ejemplo de un servicio de correo electrónico simple en el sitio web de Grails.
Groovy Server Pages. Si trabajó anteriormente con un motor de plantillas, esto debería resultarle familiar. Conozca la biblioteca de etiquetas GSP, es una gran ayuda. Los ejemplos prácticos incluyen: prácticamente cualquier cosa. Cada aplicación necesita un front-end. Intenta hacerlo bonito. NOTA: Esto se extiende a muchas cosas que no son específicas de Grails, como JavaScript, CSS, etc. A menos que ya tenga ese conocimiento, prepárese para un poco de una curva de aprendizaje.
Su directorio "conf". Conozca cada archivo allí, especialmente UrlMappings.groovy. Juega con UrlMappings para que tengas una aplicación que tome información significativa de la URL. Algo como /myapp/calculate/36/times/145
, donde la aplicación devuelve una respuesta.
diría que esos son los fundamentos, pero hay un montón de otros temas como webflows, i18n, pruebas, manejo de sesión, y así sucesivamente. La mejor forma de aprenderlos es creando un proyecto de tamaño decente. Mientras haces eso, probablemente te encuentres pensando: "Dios, me gustaría que Grails lo hiciera ____". Lea la excelente documentación en Grails.org, y probablemente encontrará una capacidad integrada o un complemento que hace lo que quiere. El PDF de referencia vive en mi escritorio, y lo encontré muy valioso durante mi experiencia de aprendizaje.
Ah, y mira el código de andamios que genera Grails. Probablemente terminarás lanzándolo todo, pero te dará una buena idea de cómo funciona el sistema.
¡Diviértete y feliz piratería!