VT-S5B-vraillard-BunSh.mp4

12 janvier 2024
Durée : 00:04:44
Nombre de vues 8
Nombre d’ajouts dans une liste de lecture 0
Nombre de favoris 0

# Script
5 minutes de vidéo de présentation de bun.sh

# Introduction
Bun.sh, est un nouveau runtime JavaScript qui proclame offrir des performances exceptionnelles dans la gestion de paquets par rapport a  npm et pnpm , dans la partie serveur par rapport à Node.Js et Deno ainsi que Vitest et Jest pour la partie test runner. C'est ce que nous allons vérifier dans cette vidéo.
4 partie:
- Qu'est-ce que bun.sh
- Les avantages de bun.sh
- Exemple pratique et performances observés
- Petite conclusion

# Qu'est-ce que bun.sh ? (1 minutes)

## Bun.sh, un runtime JavaScript rapide et complet

Bun.sh est un runtime JavaScript open source, développé par l'équipe de KDE. Il est basé sur KJS, le moteur JavaScript de KDE, utilisé pour les implémentations Webkit au sein de macOS.

## Bun.sh offre plusieurs avantages par rapport aux autres runtimes JavaScript, notamment :

### Des performances élevées
Bun.sh est un runtime JavaScript très performant. Il est plus rapide que Node.js, Deno ou encore TypeScript. Cela se traduit par des temps de démarrage plus rapides, des applications plus réactives et des tests plus rapides.

### Une API simple et élégante
Bun.sh fournit une API simple et élégante pour les tâches courantes, telles que le démarrage d'un serveur HTTP ou l'écriture de fichiers. L'API est conçue pour être facile à apprendre et à utiliser.

### Une boîte à outils complète
Bun.sh est une boîte à outils complète pour le développement JavaScript. Il comprend un package manager, un test runner et un bundler. Cela permet de simplifier le développement d'applications JavaScript.

# Les avantages de bun.sh (1 minutes)

Voici quelques exemples concrets d'avantages que Bun.sh peut apporter aux développeurs JavaScript :

### Des temps de démarrage plus rapides
Bun.sh peut démarrer une application JavaScript en quelques millisecondes, contre plusieurs secondes pour Node.js. Cela peut être un avantage important pour les applications qui doivent être lancées rapidement, telles que les applications web ou les applications mobiles.

### Des applications plus réactives
Bun.sh est capable de traiter les demandes des utilisateurs plus rapidement que Node.js. Cela peut améliorer l'expérience utilisateur des applications web et mobiles.

### Des tests plus rapides
Les tests d'applications JavaScript peuvent être considérablement accélérés avec Bun.sh. Cela permet de gagner du temps et d'améliorer la qualité des applications.


# Exemple pratique et performances observées (2 minutes)

Alors maintenant que j'ai parlé des promesses de bun.sh nous allons vérifier ça. Je vais vous présenter une série de résultat de benchmarks pour comparer par rapport aux concurrents

## Packages install

Donc pour ce benchmark, j'ai utilisé hyperfine qui est un outil de benchmark en ligne de commande.
Comme projet témoin j'ai créé un projet avec 12 packages sur lesquels j'ai réalisé 5 itérations de chacune des 4 commandes. Qui sont respectivement bun install, pnpm install, yarn et npm install.

Comme vous pouvez déjà le remarquer à l'écran les résultats différés énormément et bun à première vue tien sa promesse d'une performance inégalée.
Effectivement par rapport à
- pnpm, bun est 9 fois plus rapide
- npm, bun est 30 fois plus rapide
- yarn, bun est 39 fois plus rapide

Ce qui en pratique veut dire que bun vous fait gagner plusieurs dizaines de secondes par rapport à un classique npm sur l'installation de packages dans un projet.
## Websocket

Pour évaluer la performance des websocket entre Bun, NodeJs et Deno, j'ai créé un serveur basique qui permet a 32 clients de se connecter et de posé des messages. Il n'y a aucune interface ni système d'authentification pareil pour les données, on n'enregistre rien. Le but ici est de comparé combien de message est capable de supporter le serveur par seconde. Pour ce test j'ai effectué 10  itérations de 32 clients qui se connectent et qui postent des messages sur chacun des 3 serveurs.

Là encore on voit bien que bun est au rendez-vous au niveau des performances et tient bien ces promesses.  bun est en moyenne 9 fois plus performant que le serveur NodeJs et 4 fois plus performant que le serveur Deno.

# Conclusion (30 s)
- Bun.sh est un outil encore en développement, mais il a déjà le potentiel de révolutionner le développement JavaScript.
- Je vous encourage à l'essayer ainsi qu'a exploré toute la partie API et boîte à outils que renferme encore bun.sh que je n'ai pas eu le temps de traité dans cette vidéo.

Mots clés : bun.sh

 Informations

  • Ajouté par : Valentin Raillard (vraillard@u-bordeaux.fr)
  • Propriétaire(s) additionnel(s) :
    • Pierre Ramet (pramet@u-bordeaux.fr)
  • Mis à jour le : 12 janvier 2024 13:14
  • Type : Autres
  • Langue principale : Français
  • Discipline(s) :