En aquest tema, explorarem com utilitzar Groovy per al desenvolupament web. Groovy és un llenguatge de programació dinàmic que s'executa sobre la màquina virtual de Java (JVM) i ofereix una sintaxi concisa i poderosa. És especialment útil per al desenvolupament web gràcies a la seva integració amb frameworks com Grails.

Continguts

  1. Introducció al Desenvolupament Web amb Groovy
  2. Configuració de l'Entorn
  3. Introducció a Grails
  4. Creació d'una Aplicació Web Bàsica amb Grails
  5. Controladors, Vistes i Models (MVC)
  6. Persistència de Dades amb GORM
  7. Exercicis Pràctics

  1. Introducció al Desenvolupament Web amb Groovy

Groovy facilita el desenvolupament web gràcies a la seva sintaxi simplificada i la seva capacitat per integrar-se amb Java. Un dels frameworks més populars per al desenvolupament web amb Groovy és Grails, que proporciona una estructura robusta i escalable per a la creació d'aplicacions web.

Característiques Clau de Groovy per al Desenvolupament Web

  • Sintaxi Concisa: Groovy permet escriure menys codi per aconseguir el mateix resultat que en Java.
  • Integració amb Java: Pots utilitzar qualsevol llibreria Java dins del teu codi Groovy.
  • Frameworks Potents: Grails és un framework complet que simplifica el desenvolupament web.

  1. Configuració de l'Entorn

Abans de començar a desenvolupar aplicacions web amb Groovy, necessitem configurar l'entorn de desenvolupament.

Instal·lació de Groovy

  1. Descarrega i instal·la Groovy des del lloc oficial: Groovy Downloads.
  2. Configura les variables d'entorn:
    • GROOVY_HOME: Apunta al directori d'instal·lació de Groovy.
    • PATH: Afegeix $GROOVY_HOME/bin al teu PATH.

Instal·lació de Grails

  1. Descarrega i instal·la Grails des del lloc oficial: Grails Downloads.
  2. Configura les variables d'entorn:
    • GRAILS_HOME: Apunta al directori d'instal·lació de Grails.
    • PATH: Afegeix $GRAILS_HOME/bin al teu PATH.

  1. Introducció a Grails

Grails és un framework de desenvolupament web que segueix el patró Model-View-Controller (MVC). Està construït sobre Spring Boot i proporciona una manera ràpida i eficient de crear aplicacions web.

Característiques de Grails

  • Productivitat: Grails permet crear aplicacions ràpidament gràcies a la seva configuració per convenció.
  • Integració: Grails s'integra fàcilment amb altres tecnologies com Spring, Hibernate, i Quartz.
  • Extensibilitat: Grails és altament extensible gràcies als seus plugins.

  1. Creació d'una Aplicació Web Bàsica amb Grails

Pas 1: Crear un Nou Projecte Grails

grails create-app myapp
cd myapp

Pas 2: Executar l'Aplicació

grails run-app

Això iniciarà un servidor web integrat i podràs accedir a l'aplicació a http://localhost:8080.

  1. Controladors, Vistes i Models (MVC)

Controladors

Els controladors gestionen les sol·licituds HTTP i determinen quina vista mostrar.

class HelloController {
    def index() {
        render "Hello, World!"
    }
}

Vistes

Les vistes són responsables de la presentació de les dades. Utilitzen GSP (Groovy Server Pages).

<!DOCTYPE html>
<html>
<head>
    <title>Hello</title>
</head>
<body>
    <h1>Hello, ${name}!</h1>
</body>
</html>

Models

Els models representen les dades de l'aplicació i la seva lògica de negoci.

class Person {
    String name
    int age
}

  1. Persistència de Dades amb GORM

GORM (Grails Object Relational Mapping) és una implementació de l'ORM que facilita la interacció amb bases de dades.

Definició d'un Domini

class Book {
    String title
    String author
}

Operacions CRUD

// Crear
def book = new Book(title: "Groovy in Action", author: "Dierk König")
book.save()

// Llegir
def books = Book.list()

// Actualitzar
book.title = "Groovy in Action 2nd Edition"
book.save()

// Esborrar
book.delete()

  1. Exercicis Pràctics

Exercici 1: Crear una Aplicació Web Simple

  1. Crea un nou projecte Grails.
  2. Defineix un domini per a una entitat Product amb camps name i price.
  3. Crea un controlador per gestionar les operacions CRUD per a Product.
  4. Crea vistes per mostrar la llista de productes i un formulari per afegir nous productes.

Solució

// Domini
class Product {
    String name
    BigDecimal price
}

// Controlador
class ProductController {
    def index() {
        [products: Product.list()]
    }

    def create() {
        [product: new Product()]
    }

    def save(Product product) {
        product.save()
        redirect(action: "index")
    }
}

// Vistes
// grails-app/views/product/index.gsp
<g:each in="${products}" var="product">
    <p>${product.name} - ${product.price}</p>
</g:each>
<a href="${createLink(action: 'create')}">Add Product</a>

// grails-app/views/product/create.gsp
<g:form action="save">
    <label for="name">Name:</label>
    <g:textField name="name"/>
    <label for="price">Price:</label>
    <g:textField name="price"/>
    <g:submitButton name="create" value="Create"/>
</g:form>

Conclusió

En aquest tema, hem après com configurar l'entorn per al desenvolupament web amb Groovy, hem explorat el framework Grails i hem creat una aplicació web bàsica. També hem vist com utilitzar el patró MVC i com gestionar la persistència de dades amb GORM. Els exercicis pràctics proporcionats t'ajudaran a consolidar els coneixements adquirits. En el proper mòdul, aprofundirem en altres aspectes pràctics de Groovy.

© Copyright 2024. Tots els drets reservats