Selon Harris, les frameworks traditionnels de conception d’interfaces utilisateur tels que celui de Facebook, React ou Vue.js ou causent quelques problèmes de performance. En réalité, dit-il, les frameworks traditionnels vous permettent d'écrire du code basé sur un état déclaratif, mais avec une pénalité : le navigateur doit effectuer un travail supplémentaire pour convertir ces structures déclaratives en des opérations DOM. Pour cela, ces frameworks utilisent des techniques telles que la virtualisation du DOM qui rendent la tâche difficile au ramasse-miettes. C’est ce problème que lui et son équipe disent vouloir résoudre en mettant au point le projet Svelte.
Dans l'un de ses postes en présentation de la version 1 de Svelte en 2016, il a expliqué que la raison pour laquelle les technologies telles que React rencontrent un succès aussi fou et mérité est qu’elles facilitent la gestion de la complexité de vos concepts. Les frameworks sont avant tout un outil pour structurer vos pensées, pas votre code, insista-t-il. Ainsi, les efforts sur la première version de Svelte consistaient à fournir un compilateur capable de générer un code extrêmement solide pour offrir une expérience utilisateur exceptionnelle. La seconde version quant à elle était une petite mise à niveau qui a un peu arrangé les choses.
Autrement dit, avec Svelte, vous écrivez vos composants en HTML, CSS et JavaScript (plus quelques bits supplémentaires que vous apprendrez en moins de 5 minutes ), et au cours de votre processus de construction, Svelte les compilera en minuscules modules JavaScript autonomes. À partir de cet instant, indique-t-il, en analysant statiquement le modèle de composant, vous pouvez être assuré que le navigateur effectue le moins de travail possible.
Le lundi, il a présenté la version 3 de Svelte qu’il qualifie d’une refonte très importante du framework. Il explique que dans la version 3 de Svelte, il est maintenant possible d'écrire des composants avec beaucoup moins de passe-passe que ce que vous trouverez ailleurs.
Il compare cette version à React qu’il juge de framework non réactif. De plus, il avance que la dernière mise à jour de React qui introduit les crochets ou « hooks » serait un travail inutile. « Les hooks ont des propriétés intrigantes, mais ils impliquent également un code non naturel et créent un travail inutile pour le ramasse-miettes. Pour un framework utilisé à la fois dans les périphériques intégrés et dans les interactivités intensives en animation, ce n'est pas bon », s’est-il justifié.
Rappelons que les hooks sont un nouvel ajout à partir de la version 16.8 de React pour vous permettre d’utiliser l’état et d’autres fonctionnalités de React sans écrire de classe. Vous avez également la possibilité de créer vos propres Hooks pour partager une logique dynamique réutilisable entre les composants. Deux exemples de ses Hooks sont les useState et useEffect. Pour plus de précisions sur les Hooks, l’équipe React a indiqué qu’ils sont complètement opt-in (vous pouvez essayer les Hooks dans n’importe quel composant sans réécrire le code existant) et 100 % rétrocompatible, c’est-à-dire que les Hooks ne contiennent aucun changement de rupture.
Toujours dans la présentation de la dernière version de son outil, Harris a annoncé que Svelte 3 présente de nombreux aspects : des performances exceptionnelles, petites offres groupées, accessibilité, encapsulation dans un style intégré, transitions déclaratives, facilité d’utilisation, compilateur, etc. « Le fait de se concentrer sur un seul de ces composants semble être une injustice de la part des autres frameworks graphiques », a-t-il déclaré. Il serait bien de rappeler qu’à la fin de l’année dernière, l’enquête intitulée “The State of JavaScript” annonçait que le framework Svelte gagnait de plus en plus en popularité. Tout en utilisant sa nouvelle approche radicale des frameworks front-end, Svelte a réussi à générer beaucoup d’intérêt auprès des utilisateurs.
Pour finir, Harris a profité de l’occasion pour annoncer qu’un autre de leurs projets de communauté dénommée Svelte Native qui vous permet d'écrire des applications Android et iOS dans Svelte, progresse de manière significative, mais mérite d'être un peu plus complet avant d'être annoncé. Pour l’heure, continue-t-il, « nous pensons que Svelte 3 est le meilleur moyen de créer des applications Web ». « Prenez une heure pour parcourir le didacticiel et nous espérons vous en convaincre », a-t-il déclaré.
Source : Svelte
Et vous ?
Que pensez-vous de Svelte ?
Selon vous, est-il vraiment meilleur que les autres frameworks comme le dit son développeur ?
Voir aussi
The State Of JavaScript 2018 : l'enquête révèle que JavaScript est en constante évolution voici une vue macro des technologies JS utilisées
React : la version 16.8 de la bibliothèque JavaScript est disponible et embarque une version stable des Hooks
Quels sont les frameworks que vous aimeriez apprendre en 2019 ? Et quelles sont vos motivations ?