Hilla – Un nouveau Framework Frontend pour SpringBoot

hilla-framework-web

Hilla est un nouveau framework pour la création d’applications web réactives avec un backend en Java. Il intègre de manière transparente un frontend réactif Lit TypeScript avec un backend Spring Boot. Hilla est construit et soutenu par Vaadin.

Hilla est conçu pour être suffisamment simple pour les petits services publics, mais suffisamment robuste pour créer des applications complexes de niveau entreprises.

Génération automatique de code Java vers TypeScript

La génération automatique de code TypeScript permet de garantir que le frontend reste toujours synchronisé avec le backend, afin que vous puissiez créer des applications plus rapidement et avec plus de confiance, même lorsque votre équipe s’agrandit. Vous pouvez explorer les méthodes « serveur end point » et leurs types d’entrée et de retour directement depuis votre IDE au fur et à mesure que vous tapez.

Serveur endpoint :

@Endpoint
@AnonymousAllowed
public class PersonEndpoint {
    private PersonRepository repository;

    public PersonEndpoint(PersonRepository repository) {
        this.repository = repository;
    }

    public @Nonnull List<@Nonnull Person> findAll() {
        return repository.findAll();
    }
}

TypeScript View :

import { PersonEndpoint } from 'Frontend/generated/endpoints';
import Person from 'Frontend/generated/com/example/application/Person';

export class PersonView extends View {
  @state() people: Person[] = [];

  async firstUpdated() {
    this.people = await PersonEndpoint.findAll();
  }

  render() {
    return html`
      <vaadin-grid .items=${this.people}>
        <vaadin-grid-column path="firstName"></vaadin-grid-column>
        <vaadin-grid-column path="lastName"></vaadin-grid-column>
      </vaadin-grid>`;
  }
}

Vous pouvez en savoir plus sur https://hilla.dev/

J’espère que cet article vous a été utile. Merci de l’avoir lu.

Retrouvez nos vidéos #autourducode sur notre chaîne YouTube : https://bit.ly/3IwIK04

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.