La version 2.0 de Parcel, l'outil de développement web sans configuration, est disponible
elle apporte un nouveau compilateur JavaScript écrit en Rust et un observateur de fichiers écrit en C++
L'équipe de développement de Parcel a annoncé le 13 octobre la sortie de la version 2.0 de Parcel. Cette version apporte l'expérience zéro configuration et la rend évolutive et extensible à des projets de toute taille. Utilisé en production par des entreprises comme Atlassian, Adobe et Microsoft, Parcel propose une architecture évolutive qui peut faire passer un projet Web de la phase de démarrage à une application de production massive.
Parcel offre une excellente expérience de développement, du lancement d'un nouveau projet à l'expédition en production, en passant par l'itération et le débogage. Pas besoin de se soucier de la configuration ou à passer des heures à suivre les meilleures pratiques. La philosophie de Parcel est de permettre les meilleures pratiques de développement web sans aucune configuration, mais en permettant de modifier et d'étendre chaque aspect pour répondre à des besoins spécifiques. Les meilleures pratiques telles que la division automatique du code optimisée pour HTTP2, les noms de fichiers hachés pour la mise en cache à long terme, le regroupement différentiel, l'optimisation des images, etc. sont toutes prises en charge automatiquement.
Parcel prend en charge de nombreux langages et types de fichiers, qu'il s'agisse de technologies Web telles que HTML, CSS et JavaScript, ou de ressources telles que des images, des polices, des vidéos, etc. Et lorsqu’un type de fichier utilisé n'est pas inclus par défaut, Parcel installe automatiquement tous les plugins nécessaires et les dépendances de développement. En cas d’erreur dans le code ou dans la configuration, Parcel affiche le diagnostic dans le terminal et dans le navigateur. Chaque erreur comprend un cadre de code en surbrillance syntaxique pointant vers l'endroit exact où l'erreur s'est produite, ainsi que des conseils sur la façon de corriger le problème.
Parcel a maintenant un support SVG complet, y compris le support des dépendances externes référencées par des balises telles que <image> et <use>, ainsi que des scripts et des styles. Il traite toutes ces références par le biais du pipeline approprié (par exemple, en optimisant les images et en réduisant les CSS), et l'URL est réécrite pour correspondre au nom du fichier de sortie. Elle traite également les éléments <script> et <style> en ligne, ainsi que l'attribut style et les attributs de présentation. Les SVG peuvent être référencés en tant que fichier externe à partir de HTML, CSS, JavaScript, ou n'importe où ailleurs, et Parcel traite également les SVG intégrés à l'intérieur de HTML. En JavaScript, Parcel prend également en charge un plugin permettant de convertir les SVG en JSX pour une utilisation dans des frameworks comme React.
Parcel traite également les éléments <script> et <style> en ligne, ainsi que l'attribut style et les attributs de présentation. Les SVG peuvent être référencés en tant que fichier externe à partir de HTML, CSS, JavaScript, ou n'importe où ailleurs, et Parcel traite également les SVG intégrés à l'intérieur de HTML. En JavaScript, Parcel prend également en charge un plugin permettant de convertir les SVG en JSX pour une utilisation dans des frameworks comme React.
Parcel 2 est une réécriture complète de Parcel 1. Voici, ci-dessous, quelques améliorations apportées par la version 2.0 de Parcel :
- un tout nouveau système de plugins, qui rend Parcel entièrement extensible. Cela permet à Parcel de passer de petits projets secondaires à des applications de production massives avec des exigences de construction complexes ;
- la prise en charge des modules ES, CommonJS, les importations dynamiques et les modules CSS sont activés par defaut ;
- améliorations des performances, y compris un nouveau compilateur JavaScript écrit en Rust, et une architecture plus parallélisée qui tire parti de tous les cœurs de votre CPU ;
- division automatique du code, y compris la déduplication des modules communs en paquets partagés qui peuvent être chargés et mis en cache en parallèle ;
- le redimensionnement, la conversion et l'optimisation des images, notamment la prise en charge des formats d'image modernes comme AVIF et WebP, et l'optimisation automatique sans perte pour les JPEG et les PNG ;
- amélioration de la fiabilité du cache, y compris la portabilité entre les machines, et le suivi automatique de toutes les configurations, plugins, dépendances dev, sans aucune configuration ;
- amélioration du rechargement à chaud, y compris la prise en charge de React Fast Refresh ;
- prise en charge de l'inlining de bundle, qui permet d'intégrer le contenu compilé d'un bundle à l'intérieur d'un autre, par exemple l'inlining d'une image comme URL de données ;
- prise en charge de la construction de bibliothèques, y compris la sortie vers les modules ES, CommonJS, et même la mise en paquet de définitions TypeScript ;
- mode de développement paresseux, qui permet à Parcel de construire uniquement les fichiers demandés par le navigateur, ce qui conduit à une amélioration des temps de démarrage à froid du serveur de développement ;
- amélioration de la prise en charge des travailleurs web, y compris la prise en charge des travailleurs de modules ES natifs, des worklets, des manifestes de travailleurs de services, et plus encore.
- un observateur de fichiers écrit en C++ et intégré aux API de bas niveau du système d'exploitation pour des invalidations granulaires rapides du cache, même lors des redémarrages de Parcel.
Parcel est conçu pour le Web, et pas seulement pour JavaScript. La plupart des projets Parcel commencent par un fichier HTML, et suivent toutes les dépendances de l’application entière à partir de là, tout comme un navigateur Web. Cela inclut JavaScript, CSS, SVG, images, polices, vidéos, shaders WebGL, flux RSS. Parcel peut construire plusieurs cibles à la fois, par exemple une bibliothèque avec un module ES, des définitions CommonJS et TypeScript, une version moderne et ancienne d'une application, ou un serveur et un client. Toutes ces cibles sont construites en parallèle et sont mises à jour en direct au fur et à mesure que l’utilisateur apporte des modifications.
L'architecture de Parcel est complètement agnostique du point de vue du langage, ce n'est pas un bundler JavaScript avec un support boulonné pour d'autres types de fichiers. Le système de plugins a été conçu pour modéliser chaque aspect du développement web moderne, des pipelines de transformation de fichiers en plusieurs étapes à l'empaquetage, l'optimisation et la compression des fichiers de sortie. Chaque type de plugin dispose d'une API spécifique, bien définie et conçue pour son objectif, avec une documentation complète et des définitions TypeScript. Le système de plugins est conçu pour la performance, avec une parallélisation et une mise en cache automatiques.
Source : Parcel
Et vous ?
Quel est votre avis sur le sujet ?
Que pensez-vous de la multitude de technologie pour le développement web ?
Quelles technologies choisir pour la création de votre site ?
Voir aussi :
La version 3.2 du framework Django est disponible, avec la découverte automatique d'AppConfig, elle apporte de nouveaux décorateurs pour le module d'administration
Userware annonce la sortie d'OpenSilver 1.0, une réimplémentation open source moderne de Silverlight, en même temps que le support pour Microsoft Silverlight prend fin
Développement web : Adobe émet une requête DMCA pour demander la mise hors ligne d'un projet open source de maintien en vie de Flash,
Quelles alternatives préconisez-vous ?
L'introduction en bourse d'OVHcloud devrait se faire à un prix de 18,5 euros par action, soit le bas de la fourchette, a indiqué l'une des banques en charge de l'opération
Partager