example - grails html
Plan de estudio práctico para aprender Grails (4)
Soy un desarrollador de Java que intenta aprender Grails, y me gustaría exponerme a tantas partes del framework de Grails como sea posible. Preferiblemente, al hacerlo, resuelve pequeños problemas del mundo real utilizando la "forma de hacerlo de Grails" (DRY, convención sobre configuración, etc.).
Tres ejemplos podrían ser:
- Aprenda sobre GORM creando algunas clases (por ejemplo, Película, Actor, etc.) y relaciones / mapeos entre ellas (1: 1, 1: N, N: N, etc.).
- Obtenga información acerca del soporte de diseño (sitemesh) al usarlo para generar encabezados y pies de página comunes a todos los GSP: s en el sitio.
- Obtenga información acerca del soporte de filtro al usarlo para asegurarse de que todos los accesos a un determinado controlador provengan de usuarios autenticados.
Mi pregunta va dirigida a todos los desarrolladores de Grails, ¿qué incluirías en un "currículum de Grails" y en qué orden?
¡Toda entrada apreciada!
Si el público no está familiarizado con la programación en Groovy , debería haber una introducción a eso. Java funcionará pero activará los jugos cuando vea cuán menos detallado es el código en Groovy. Cuando se habla de GORM, incluya restricciones y cómo influyen en la validación . El andamiaje es un ahorro de tiempo real al comenzar un nuevo proyecto, así que asegúrese de incluirlo. Una de las características de Grails que realmente me ha ayudado es Plug-ins . Elija algunos y muestre cómo proporcionan soluciones al tiempo que ahorran tiempo de desarrollo. Un complemento de seguridad cabría directamente en el tema del filtro que mencionas. Probando , ¿puede haber suficientes pruebas?
Aquí hay algunos ejemplos, pero tenga en cuenta que son bastante triviales y realmente no le 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 "debo estudiar", junto con algunos ejemplos:
Groovy, especialmente cierres, mapas y 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 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 filtros. 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.
Páginas de servidor Groovy. 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 conceptos básicos, pero hay muchos otros temas, como webflows, i18n, testing, manejo de sesión, etc. 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!
Realmente recomendaría leer la Guía definitiva de Grails, segunda edición . Cubre todo lo que necesita saber sobre cómo escribir aplicaciones en Grails. Probablemente le falte el conocimiento de "lo que sucede bajo el capó", pero debe entenderlo. Puede comprarlo en formato PDF y comenzar a leerlo de inmediato.
También debe tener una lista de complementos para usar: Grails tiene algunos realmente agradables que son útiles. Puedo decirte algunas de las que uso, pero esa también puede ser una buena pregunta aquí. :-)
Paso 1 - Aprende Groovy
Si ya conoces Java, te recomiendo programar Groovy . Es mucho más conciso y actualizado que el otrora excelente Groovy en acción . Ninguno de estos libros cubre los cambios de lenguaje significativos en Groovy 1.6, por lo que también debe leer esta página .
Paso 2 - Aprende los Grails
La Guía definitiva de Grails es probablemente la referencia estándar de Grails; asegúrese de obtener la segunda edición. Grails in Action es un poco más reciente, pero no lo he leído, así que no puedo comentar más sobre él. Encontré TDGTG un poco lightORM GORM, así que también podrías considerar revisar Grails Persistence con GORM y GSQL . Es un libro muy corto, pero vale la pena su peso en oro.
Paso 3: Inmersión
Pruebe y modifique la aplicación de muestra en el libro de Grails, o cree la suya propia desde cero. La consola Groovy es una excelente forma de experimentar con fragmentos de código Groovy.