top of page

Bun.sh, el nuevo runtime de JavaScript ¿Reemplazará a Node.js?

Updated: Nov 21, 2023

¿Llegó el nuevo reemplazo de NodeJS? Conoce las diferencias entre Bun.sh, Deno y Node, Además, ¿Qué hace a Bun el runtime más veloz de este 2023. ¡Todo en este tutorial práctico!🥟

Bun.sh es un nuevo runtime para JavaScript, ¿Será el reemplazo de NodeJS?
Bun.sh es un nuevo runtime para JavaScript, ¿Será el reemplazo de NodeJS?
 

Hace poco salió Bun.sh ¡una nueva herramienta para #JavaScript!. Se trata de un motor todo-en-uno creado para #js que pretende ser, precisamente, el más rápido de los actuales y tener mejor rendimiento que #Deno y #NodeJS.

 

¿Qué es y cómo nació Bun.sh?


Para nadie es un secreto que #node.js es el primero en el podio de los #runtime #core de JS (para muchos es el único) y aunque sí, fue innovador en el momento de su creación, haber crecido tanto ha incrementado también su complejidad.


Jarred Sumner , creador de #Bun ¡ha lanzado la versión 1 este año y hace pocos meses! Con la promesa de reducir la complejidad de los procesos de NodeJS gracias a este nuevo core "todo-en-uno", haciendo que el desarrollo de pequeños y medianos proyectos sea más fluido y veloz.


 

¿Es Bun realmente más veloz que NodeJS?

Siendo realistas, sí genera curiosidad confirmar y aunque ellos mismos en su página no se atreverían a publicar una tabla comparativa sin estar seguros que realmente Bun es más veloz que sus competidores, no está de más echar un ojito, y confirmar que no nos estén vendiendo humo.


Tabla comparativa de la página de bun.sh
Tabla comparativa de la página de bun.sh

¿Qué es más rápido que NodeJS?

Por lo que promete, el core más rápido es bun.sh hasta ahora y en segundo lugar #Deno serve.


Bun está diseñado para ser liviano, su base de código y recursos es más pequeña lo que logra mayor rendimiento en términos de velocidad y mejor uso de memoria.

Ante esto, más curiosidad nos da conocer: ¿Cómo fue creado Bun?, si podemos notar que tiene o no una mejor arquitectura, ¿cuál es el origen de su velocidad? o al menos confirmar si se salta algunos procesos para poder lograr esa eficacia prometida.


¿Cómo funciona Bun.sh?

Entre lo más destacado de Bun tenemos que:

  • Bun es creado desde cero utilizando Zig (yo tampoco sabía qué era Zig, así que hice otro mini-blog respondiendo: ¿Por qué Bun.sh fue escrito en Zig? ¡Léelo aquí!), este lenguaje de programación de bajo nivel y relativamente nuevo hace que bun sea muy eficiente y rápido.

  • Su motor de navegación no es el motor usado por node.js: V8 (Chrome), sino JavaScriptCore WebKit (Safari).

¿Cuál es el motor JavaScript más rápido?

JavaScript Core Engine (Apple) Safari y en segundo lugar V8 (Chrome)

  1. Por un lado #JSC (JavaScript Core) prioriza tiempos de inicio que son más rápidos, mientras que, V8 prioriza la ejecución más rápida.

  2. Otro detalle, es que JSC tiene 3 compiladores de optimización y V8 tiene 2 (menos complejos y más fáciles de usar, pero no tan rápidos). Sacado de https://bytes.dev/archives/109, Julio 2022.

Infografía ¿Qué hace a bun.sh tan rápido? Imagen de instagram @meltstudio.co
Infografía: ¿Qué hace a bun tan rápido? Imagen de instagram @meltstudio.co

  • Trabaja con herramientas y funciones nativas (no requiere Webpack), y tiene transpilador nativo lo que hace a #TypeScript directamente compatible y a los paquetes de #npm casi todos compatibiles (Bun usa el algoritmo de resolución de módulos de node.js).

    1. Bun implementa nativamente también API web y ±90% de las funciones Node-API, es decir, es el reemplazo directo de apps o scripts en JavaScript y TypeScript.

  • Además, Bun incorpora un debugger nativo similar al de node.js: NDB (tenemos un mini-tutorial aquí para que mejores tus habilidades de depuración en Node).

  • Como core, tiene bunCLI (interfaz de línea de comandos) para ejecutar archivos JavaScript y #TypeScript, agrupar código y administrar las dependencias del proyecto.

 

Inicia con Bun.sh: Guía rápida

Para instalar Bun, vamos a seguir los pasos de la documentación oficial: bun.sh/docs/installation.

Abra la terminal o el símbolo del sistema de su computadora. En la terminal, ingrese el siguiente comando:

curl -fsSL https://bun.sh/install | bash

Para usuarios de macOS, ejecute esto después de:


exec /bin/zsh

Este comando iniciará el proceso de instalación de Bun y sus dependencias en el sistema. Una vez finalizado, probemos el tiempo de ejecución de por ejemplo: bun run vs yarn, npm y pnpm.

Bun run puede ahorrar más de 150 milisegundos cada vez que ejecuta un comando.


Probemos también el soporte de bun + #JSX para trabajar con #ReactJS.


bun install react

Bun supone que estás usando React (a menos que lo configures de otra manera), por lo que una línea como esta:


const element = <h1>Hello, world!</h1>;

Se traduce en:


// jsx
import { jsx } from "react/jsx-dev-runtime";
const element = jsx("h1", { children: "Hello, world!" });
 

¿Bun.sh es mejor que NodeJS?

Respuesta corta, .

Respuesta larga, también sí, pero no a corto plazo pues bun está en sus primeros pasos, es decir, primero debe estar listo para producción en proyectos medianos y grandes de desarrollo.

Otro punto importante ¿Bun es Open Source como NodeJS?

En su página dice que podemos contribuir, pero también dice que están contratando, lo que no cierra la posibilidad que el proyecto sea cancelado por falta de inversión o conflicto de intereses.


Además, Zig es un lenguaje de programación poco popular por lo que el número de contribuidores será siempre menor que en Node y difiícíl de encontrar al día de hoy (esto puede cambiar en el futuro).


Ninguna tecnología puede perdurar en el tiempo sin una comunidad sólidad.

Hemos creado un carrusel resumen con ¡la mejor info sobre Bun.sh vs Node.js! para que lo puedas compartir rápidamente con otros #devs! Te dejamos el link abajo 👇🏻👇🏻👇🏻

 

¡Gracias por leer!

meltstudio.co
meltstudio.co

📍 Conéctate con nosotros en instagram👇




Join our newsletter to receive information about latest technologies trends and job offers

Thanks for subscribing!

bottom of page