PeakLab
Retour au glossaire

Lit

Bibliothèque JavaScript légère pour créer des Web Components rapides et réactifs avec une syntaxe moderne basée sur les standards du web.

Mis à jour le 6 février 2026

Lit est une bibliothèque JavaScript minimaliste développée par Google pour créer des composants web natifs performants. Avec seulement 5 Ko gzippé, elle combine la puissance des Web Components standards avec une syntaxe déclarative moderne, offrant une alternative légère aux frameworks plus volumineux tout en maintenant une excellente performance et une interopérabilité maximale.

Fondements

  • Architecture basée sur les Custom Elements et Shadow DOM natifs du navigateur
  • Système de templating déclaratif utilisant les tagged template literals JavaScript
  • Réactivité fine avec mise à jour ciblée du DOM pour des performances optimales
  • Approche component-first avec encapsulation complète et style scopé

Avantages

  • Empreinte minimale de 5 Ko permettant des temps de chargement ultra-rapides
  • Interopérabilité totale avec n'importe quel framework ou JavaScript vanilla
  • Courbe d'apprentissage douce grâce à l'utilisation des standards web existants
  • Performance native exceptionnelle sans Virtual DOM ni runtime lourd
  • Support TypeScript intégré avec décorateurs et typage fort
  • Écosystème mature avec outils de développement dédiés et large adoption

Exemple concret

my-counter.ts
import { LitElement, html, css } from 'lit';
import { customElement, property } from 'lit/decorators.js';

@customElement('my-counter')
export class MyCounter extends LitElement {
  static styles = css`
    :host {
      display: block;
      padding: 1rem;
      font-family: sans-serif;
    }
    button {
      padding: 0.5rem 1rem;
      font-size: 1rem;
      margin: 0.5rem;
      cursor: pointer;
    }
    .count {
      font-size: 2rem;
      font-weight: bold;
      color: #1976d2;
    }
  `;

  @property({ type: Number })
  count = 0;

  @property({ type: Number })
  step = 1;

  render() {
    return html`
      <div>
        <p class="count">Count: ${this.count}</p>
        <button @click=${this._increment}>+${this.step}</button>
        <button @click=${this._decrement}>-${this.step}</button>
        <button @click=${this._reset}>Reset</button>
      </div>
    `;
  }

  private _increment() {
    this.count += this.step;
    this.dispatchEvent(new CustomEvent('count-changed', {
      detail: { count: this.count },
      bubbles: true,
      composed: true
    }));
  }

  private _decrement() {
    this.count -= this.step;
  }

  private _reset() {
    this.count = 0;
  }
}

Ce composant démontre les concepts clés de Lit : décorateurs TypeScript pour les propriétés réactives, templating avec html tagged template, gestion d'événements, styles scopés avec Shadow DOM, et communication entre composants via Custom Events. Le composant peut être utilisé dans n'importe quelle application web avec la balise <my-counter step="5"></my-counter>.

Mise en œuvre

  1. Installer Lit via npm ou yarn : npm install lit
  2. Créer une classe de composant héritant de LitElement avec décorateur @customElement
  3. Définir les propriétés réactives avec le décorateur @property et leurs types
  4. Implémenter la méthode render() retournant un template html`` avec binding de données
  5. Ajouter les styles scopés via la propriété statique styles avec css``
  6. Gérer les événements utilisateur avec la syntaxe @event dans les templates
  7. Compiler avec TypeScript et bundler (Vite, Rollup, esbuild) pour la production
  8. Tester avec @web/test-runner ou les outils de test de votre choix

Conseil Pro

Utilisez les directives Lit (classMap, styleMap, repeat, when) pour optimiser le rendu conditionnel et les listes dynamiques. Exploitez également les lifecycle callbacks comme willUpdate() et updated() pour la logique métier complexe, et considérez l'utilisation de @lit-labs/context pour le state management au-delà des props simples.

Outils associés

  • Lit Devtools - Extension Chrome pour déboguer les composants Lit
  • Web Components DevTools - Inspecteur de Shadow DOM et Custom Elements
  • @web/dev-server - Serveur de développement optimisé pour les Web Components
  • @web/test-runner - Framework de test moderne pour Web Components
  • Rollup/Vite - Bundlers recommandés pour la compilation de composants Lit
  • Storybook - Documentation interactive de composants avec support Lit natif
  • Open Web Components - Générateurs et outils pour accélérer le développement

Lit représente une approche pragmatique du développement frontend moderne, combinant la légèreté et les standards web avec une expérience développeur de qualité. Son adoption par Google et de nombreuses entreprises pour leurs design systems témoigne de sa maturité. Pour les équipes recherchant performance, interopérabilité et pérennité sans compromis sur la productivité, Lit constitue un choix stratégique qui s'intègre harmonieusement dans des architectures micro-frontends et des écosystèmes technologiques hétérogènes.

L'argentestdéjàsurlatable.

En 1 heure, découvrez exactement combien vous perdez et comment le récupérer.

Agence de développement web, automatisation & IA

contact@peaklab.fr
Newsletter

Recevez nos conseils tech et business directement dans votre boîte mail.

Suivez-nous
Crédit d'Impôt Innovation - PeakLab agréé CII