[ Article ]
DevOps Experience Conf' 2026 : 6 enseignements clés sur la maîtrise des infrastructures

Marie-Pierre Goetz

Antonin Savoie
Publié le 25 mars 2024
Le framework JavaScript Svelte suscite beaucoup d’intérêt dans la communauté tech. Créé en 2016 par Rich Harris, Svelte se positionne comme une alternative à d’autres frameworks comme React ou Vue.js. Ses particularités font de Svelte.js un outil performant et réactif.
Son fonctionnement s’apparente à celui d’un compilateur, ce qui le différencie de la concurrence. Relativement simple à prendre en main, Svelte demande tout de même un temps d’adaptation. Dans cet article, nous nous intéresserons au fonctionnement de Svelte, aux avantages liés à son usage et ses inconvénients.
Contrairement à React ou Vue, Svelte n’utilise pas de DOM virtuel. Le navigateur a donc beaucoup moins d’interactions à calculer. Cela rend Svelte plus léger et plus performant. Il est capable de mettre n’importe quel morceau du DOM à jour. Ainsi, il fonctionne davantage comme un compilateur.
En effet, Svelte est basé sur la compilation du code lors de la construction de l’application . Il n’a donc pas besoin d’interpréter le code au moment de l’exécution. Il transforme les composants déclaratifs en code qui met automatiquement le DOM à jour.
Ce code compilé est transmis au navigateur dans un JavaScript natif. Aucun code supplémentaire ajouté n’a besoin d’être exécuté dans le navigateur quand l’application met à jour le DOM. Cela rend le travail avec Svelte rapide et réactif.
La création d’applications dans Svelte est assez simple et rapide. Par défaut, le framework supporte Typescript, Eslint, Prettier, Readywright et Vitest.
L’idéal est d’utiliser Svelte Kit framework sur Svelte. Il met à disposition le routing, le rendering, de la RWA et d’autres fonctionnalités embarquées par défaut.
Les variables sont affichées entre brackets. Les attributs supportent certains raccourcis. Dans Svelte, il y a une partie en HTML pour l’ajout des balises. Les variables sont à entrer dans la partie script.
La syntaxe particulière diffère de ce que l’on peut trouver dans Vue.js.
Dès que la variable est modifiée, le template se met à jour.
Svelte utilise le symbole “$:” Cela ouvre un bloc de code et permet de le rendre réactif en fonction des variables utilisées.
Elle est plutôt de bas niveau sur Svelte. Par défaut, un tableau n’est pas réactif.
Il faut ouvrir un fichier (components/Nested.svelte). Dans la page où l’on souhaite l’utiliser, on vient importer le composant comme un fichier classique. Il s’utilise ensuite comme une balise HTML. Les composants peuvent avoir des props et déclarer des props. Cela se fait avec l’export d’une variable.
La gestion des événements est assez semblable à Vue.js. Ils peuvent être déclarés sur n’importe quelle balise.
Rien n’est fait par défaut. Il faut venir importer une fonction depuis Svelte et créer un dispatcher. Comme dans Vue.js, les événements ne remontent que d’un seul niveau et ne peuvent pas être propagés.
Le binding est souvent utilisé, par exemple, sur des éléments de formulaire. La maj est faite à tous les endroits où l’élément est utilisé.
C’est assez simple. Il faut se servir de la balise {onMount}.
Il s’agit d’une façon de rendre les variables et les évènements disponibles dans un enfant ou un sous-enfant sans devoir propager en props sur 8 niveaux. Depuis Svelte, il faut récupérer la fonction “setContext” et dans cette fonction, ajouter les valeurs et fonctions.
Pour plus de détail, vous pouvez vous référer à la documentation disponible sur https://svelte.dev/examples/hello-world.
Si l’on compare Svelte aux frameworks JavaScript comme React et Vue.js, sa réactivité est impressionnante. En tant que compilateur de code, il s’avère léger. Le résultat est un gain de temps sur la vitesse de chargement et d’exécution des applications. Cela donne une meilleure expérience utilisateur.
Doté d’un bon environnement de développement, Svelte.js a toutefois quelques particularités. Sa syntaxe spécifique peut surprendre, mais il est malgré tout simple à prendre en main.
Ce framework semble idéal pour un travail sur des applications de petite taille. Néanmoins, sur des projets d’applications très ambitieux, ce n’est sans doute pas la meilleure option.
Sources :
[ Article ]

Marie-Pierre Goetz