Skip to main content

Introduction

Welcome to the Lithium Documentation đź‘‹

1. Qu'est-ce que Lithium ?​

Lithium est un framework JavaScript moderne qui se concentre sur la création d'interfaces utilisateur performantes et réactives en combinant les avantages des Web Components et du noyau FAST. Il se distingue par sa légèreté, ses performances accrues, et son interopérabilité avec divers frameworks JavaScript comme Angular, React, et Vue. Lithium est conçu pour offrir une solution simple pour le développement d'interfaces, sans la complexité de configurations lourdes.

2. Qu'est-ce que sont les Web Components ?​

Les Web Components sont une suite de technologies standard du Web qui permettent de créer des éléments réutilisables et encapsulés dans les applications web. Ils sont conçus pour offrir une meilleure modularité et réutilisabilité du code tout en améliorant les performances et la gestion des styles. Voici un aperçu détaillé de ces technologies :

  1. Custom Elements : Permettent de définir de nouveaux éléments HTML avec un comportement personnalisé. Ils sont basés sur la classe HTMLElement, ce qui permet de créer des éléments HTML personnalisés que l'on peut utiliser de la même manière que les éléments HTML natifs.
  2. Shadow DOM : Fournit un encapsulage des styles et du DOM. Cela signifie que chaque Web Component a son propre DOM (appelé Shadow DOM) et ses propres styles, qui sont isolés du reste du document. Cela évite les problèmes de styles globaux qui peuvent affecter d'autres parties de l'application.
  3. HTML Templates : Permettent de définir des fragments HTML qui peuvent être réutilisés dans les Web Components. Les templates sont déclarés à l’aide de la balise <template> et sont utilisés pour créer des instances de contenu qui peuvent être clonées et insérées dans le DOM.
  4. HTML Imports (obsolète) : Étaient utilisés pour importer des documents HTML dans d'autres documents HTML. Cette fonctionnalité a été retirée du standard des Web Components car elle a été jugée problématique et difficile à maintenir. Elle a été remplacée par les modules JavaScript.

Les Web Components ont des avantages significatifs :

  • Performance : Ils sont implĂ©mentĂ©s en C++ ou en Rust dans les navigateurs, ce qui leur permet d'ĂŞtre plus rapides et plus Ă©conomes en mĂ©moire comparĂ©s aux solutions basĂ©es sur JavaScript.
  • InteropĂ©rabilitĂ© : Étant une norme du Web, les Web Components peuvent ĂŞtre utilisĂ©s dans n'importe quel environnement de dĂ©veloppement moderne. Ils fonctionnent de manière fluide avec les principaux frameworks JavaScript (comme Angular, React, et Vue) en raison de leur nature standardisĂ©e.
  • Isolation : Le Shadow DOM permet une isolation complète des styles et du DOM, ce qui est crucial pour les grandes applications ou les systèmes de plugins oĂą les styles ne doivent pas interfĂ©rer entre eux.

3. Qu'est-ce que Lithium apporte ?​

Lithium apporte plusieurs améliorations et caractéristiques par rapport aux autres frameworks :

  • InteropĂ©rabilitĂ© : Fonctionne bien avec d’autres frameworks comme Angular, React, et Vue grâce Ă  l'utilisation de Web Components standardisĂ©s.
  • Performance : Grâce Ă  l’intĂ©gration avec le noyau FAST, Lithium assure une exĂ©cution rapide et efficace, surtout dans des environnements complexes.
  • SimplicitĂ© : Propose une approche sans configuration complexe avec des templates JavaScript simples.
  • SSR (Rendu cĂ´tĂ© serveur) : Supporte le rendu cĂ´tĂ© serveur pour des performances et un SEO amĂ©liorĂ©s.
  • Directives avancĂ©es : Utilise des directives FAST pour une gestion sophistiquĂ©e de l’état et du cycle de vie des composants.

4. Comment Lithium peut m'aider en tant que développeur ?​

Lithium peut vous aider de plusieurs manières :

  • InteropĂ©rabilitĂ© facile : Vous pouvez intĂ©grer Lithium avec des projets existants qui utilisent Angular, React, ou Vue sans avoir Ă  rĂ©Ă©crire tout le code.
  • Performance amĂ©liorĂ©e : Les optimisations offertes par FAST garantissent que vos interfaces utilisateur fonctionnent rapidement et efficacement, mĂŞme avec des donnĂ©es complexes ou une grande quantitĂ© de composants.
  • SimplicitĂ© de dĂ©veloppement : Le framework facilite la crĂ©ation de composants avec peu de configuration, ce qui rĂ©duit la courbe d'apprentissage et accĂ©lère le dĂ©veloppement.
  • Rendu cĂ´tĂ© serveur : Le support pour le rendu cĂ´tĂ© serveur amĂ©liore les temps de chargement des pages et le SEO, ce qui est crucial pour les applications web modernes.
  • Gestion simplifiĂ©e des Ă©tats : Avec le ComponentContext et les directives avancĂ©es, vous pouvez facilement gĂ©rer l’état et la logique des composants de manière fluide et rĂ©active.
  • FlexibilitĂ© des templates : Les ViewTemplate et les expressions permettent une grande flexibilitĂ© dans la crĂ©ation d’interfaces dynamiques et rĂ©actives.