Obtenir de nouveaux frameworks et bibliothèques tout le temps est une chose pour laquelle JavaScript est célèbre. En juillet 2022, l'écosystème a accueilli un nouveau membre: Bun.js. Ici, nous allons jeter un œil à Bun.js et voir comment il affecte l'écosystème JavaScript au sens large.

Qu'est-ce que Bun.js ?

Chignon est défini comme "un environnement d'exécution JavaScript tout-en-un rapide". C'est le troisième du genre après Node.js et Deno.js, créé par Jarred Sumner en utilisant le langage de programmation Zig.

Son objectif principal est de fournir une plate-forme pour exécuter JavaScript en dehors du navigateur, tout comme Node.js et Deno.js, mais Bun avance pour fournir de nouveaux niveaux de vitesse et une complexité accrue.

Comment JavaScript a évolué

JavaScript a été conçu à l'origine pour fonctionner uniquement dans les navigateurs, alimenté par des moteurs tels que SpiderMonkey et V8. En 2009, Ryan Dahl a intégré le moteur V8 dans un programme C++ qu'il a appelé Node.js. JavaScript, depuis lors, est devenu pertinent pour diverses utilisations telles que les applications côté serveur et en temps réel.

instagram viewer

Les promesses et les modules ES sont des exemples de fonctionnalités JavaScript modernes qui n'existaient pas lorsque Node.js a été créé. Ryan a également donné une conférence en 2018 sur des choses qu'il regrettait à propos de Node.js. Ses regrets ont inspiré la création de Deno.js qu'il a sorti en 2020.

Deno est un exécutable construit avec Rust qui vise à s'attaquer à tous les défauts de Node tels que la sécurité, les performances et la prise en charge native de TypeScript. Il est nettement plus rapide et plus sécurisé que Node, et il est livré avec des outils absents de Node.js.

Cependant, Deno n'a pas obtenu l'adoption massive attendue même après quatre ans de sortie, étant donné que la plupart des systèmes modernes sont déjà basés sur des nœuds et que le changement peut être pénible pour les développeurs. Avoir à réécrire la plupart npm Les packages pour le support Deno remettent également en question son adoption.

En juillet 2022, un nouveau runtime est apparu en version bêta - "Bun.js" - qui a été un sujet tendance dans et hors de la communauté JavaScript. L'interopérabilité avec Node.js et les performances à grande vitesse qu'il prétend offrir ont été la pièce maîtresse. Cela a également soulevé des discussions sur le fait qu'il existe enfin un "Node-destroyer".

Comment Bun.js se compare-t-il à Node.js et Deno.js ?

Node, Deno et Bun sont tous des runtimes pour JavaScript en dehors du navigateur, cela ne neutralise pas les différences entre eux.

Node.js a été écrit en C++, Deno en Rust et Bun en Zig. "Le contrôle de bas niveau sur la mémoire et l'absence de flux de contrôle caché dans Zig facilitent l'écriture de logiciels rapides", déclare le site Web de Bun.

Alors que Node et Deno exécutent tous les deux le moteur V8 de Google, Bun tire parti des performances de "démarrage rapide" de Webkit. JavaScriptCore moteur utilisé par Safari d'Apple. Les résultats de référence du site Web montrent comment Bun bat à la fois Node et Deno en termes de performances, fonctionnant au moins 3 fois plus rapidement que les deux temps d'exécution.

Bun intègre npm (Node package manager) qui facilite et accélère l'installation de packages à partir de npm (20 fois la vitesse dans Node), il prend également en charge TypeScript et transpile automatiquement les fichiers TS et JSX. Parmi les autres fonctionnalités intéressantes de Bun, citons un client SQLite3 intégré, des API Web telles que fetch et WebSocket, le chargement automatique des variables d'environnement et un exécuteur de test.

Des trois, Bun prend le gâteau pour la performance. Node reste le plus stable avec une très grande communauté, tandis que Deno est actuellement le plus sécurisé.

Bun.js aura-t-il vraiment un impact sur l'écosystème ?

L'écosystème est excité par la sortie de Bun. Il est agréable que le battage médiatique autour de Bun ait été énorme depuis l'annonce. C'est vraiment un gros problème. Les développeurs JavaScript l'adoreraient vraiment compte tenu de sa vitesse "fulgurante" et de ses outils robustes pour la productivité.

Par ailleurs, Serveur Discord de Bun compte déjà plus de 2000 membres ce qui prouve l'engouement de la communauté pour cette nouvelle technologie.

Quel est l'avenir de Node.js, Deno.js et Bun.js ?

JavaScript ne va pas disparaître de si tôt. En réalité, c'est l'une des technologies dont nous sommes sûrs qu'elle sera encore très présente dans 10 ans. Node, Deno et Bun ont aussi un avenir.

Node est toujours régulièrement mis à jour, la version 18.0 vient de sortir récemment, son avenir reste donc intact même avec Deno et Bun dans les parages. De nombreuses entreprises comme PayPal utilisent Node dans leurs infrastructures, et même de nouvelles startups emboîtent le pas.

Le cas est similaire pour Deno, qui se développe activement et grossit. Deno évolue également vers une solution SaaS pour fournir des services d'exécution JavaScript gérés.

Bun.js est toujours instable et a un support limité (vous avez besoin Sous-système Windows pour Linux pour l'exécuter sous Windows). Bien qu'il ait tellement de fonctionnalités, il ne peut pas être une option pour un logiciel prêt pour la production maintenant car il y a encore beaucoup de travail à faire dessus.

Si l'avenir est assurément prometteur pour Bun, il est logique de penser que ces trois technologies finiront très probablement par coexister dans l'écosystème, sans qu'aucune ne remplace l'autre.

Bun.js pourrait changer la donne

Avec Bun, beaucoup de choses pourraient s'améliorer avec JavaScript. Il est probablement temps que JavaScript soit mieux adopté dans des domaines critiques pour les performances comme l'IA/ML, le développement de jeux, etc. Dirigez-vous vers le Bun.sh site Web pour apprendre comment installer et commencer à développer avec Bun.