May 30, 2023

History Tech

Fournisseurs de technologie

Un nouveau runtime Javascript fraîchement sorti du four

Une partie importante de l’audience de Hackaday gémit et court docket les yeux lorsqu’un nouveau truc Javascript kind. Alors, qu’est-ce qui rend Bun différent? Bun est un runtime (comme Node ou Deno)t qui offre une approche tout-en-un performante. Pour le plus grand plaisir de la Spice Girl, il est écrit en Zig. Il offre le regroupement, le transpilage, la résolution de module et une fantastique interface de fonction étrangère.

Node.js et Deno s’exécutent sur le moteur Javascript V8 et fournissent l’API Node pour accéder à différentes fonctionnalités, telles que les systèmes de fichiers, qui ne s’appliquent pas aux navigateurs Internet. Cependant, de vastes quantités d’outils se sont accumulées autour de Node.js et NPM (node ​​package supervisor). De nombreux projets Javascript ont une étape de regroupement et de transpilation qui prend la source et la regroupe dans un structure additionally conventional. Typescript doit être empaqueté dans javascript et les modules doivent être résolus.

Bun prépare tout cela. Typescript et JSX “fonctionnent tout simplement”. Cela simplifie considérablement de nombreux projets car une grande partie de l’infrastructure de construction fait partie de Bun lui-même, ce qui réduit la demand cognitive lors de la tentative de compréhension d’un projet. Un client SQL et un exécuteur de assessments unitaires de style Jest sont tous deux intégrés. Plutôt que V8, il utilise JavaScriptCore, qui démarre un peu plus rapidement. Mais les accélérations incroyables offertes par Bun proviennent principalement de son écriture en Zig et de la quantité d’efforts consacrés à l’analyse comparative, au profilage et à l’optimisation. Ce qui est encore as well as fou, c’est que Bun est écrit par une seule personne, [Jared Sumner].

Depuis que Bun a implémenté la plupart des API Node (et d’autres à venir), de nombreux modules sont compatibles. Certaines API spécifiques au Net, telles que fetch et Websockets, sont également intégrées. C’est un projet précoce, et nous nous méfions de toute affirmation faite par les développeurs du projet, mais nous sommes prudemment optimistes. Même si vous n’êtes pas passionné par Javascript, vous finirez probablement par apprendre WebAssembly. Une courte vidéo de [Fireship] donne un bon aperçu. Tout le code de Bun est sur Github sous une licence MIT si vous souhaitez le regarder vous-même.

Grâce à [Michael Carlson] pour la horrible blague de Spice Woman.

https://www.youtube.com/observe?v=FMhScnY0dME