Obtener nuevos marcos y bibliotecas todo el tiempo es algo por lo que JavaScript es famoso. En julio de 2022, el ecosistema dio la bienvenida a un nuevo miembro: Bun.js. Aquí, echaremos un vistazo a Bun.js y veremos cómo afecta al ecosistema JavaScript más amplio.
¿Qué es Bun.js?
Bollo se define como "un tiempo de ejecución de JavaScript todo en uno rápido". Es el tercero de su tipo después de Node.js y Deno.js, creado por Jarred Sumner utilizando el lenguaje de programación Zig.
Su objetivo principal es proporcionar una plataforma para ejecutar JavaScript fuera del navegador, al igual que Node.js y Deno.js, pero Bun avanza para brindar nuevos niveles de velocidad y mayor complejidad.
Cómo ha evolucionado JavaScript
JavaScript se creó originalmente para ejecutarse solo dentro de los navegadores, impulsado por motores como SpiderMonkey y V8. En 2009, Ryan Dahl incorporó el motor V8 en un programa C++ al que llamó Node.js. JavaScript, desde entonces, se volvió relevante para varios usos, como aplicaciones del lado del servidor y en tiempo real.
Los módulos Promises y ES son ejemplos de características modernas de JavaScript que no existían cuando se creó Node.js. Ryan también dio una charla en 2018 sobre cosas de las que se arrepintió sobre Node.js. Sus arrepentimientos inspiraron la creación de Deno.js que lanzó en 2020.
Deno es un ejecutable creado con Rust que tiene como objetivo abordar todas las fallas de Node, como la seguridad, el rendimiento y la compatibilidad nativa con TypeScript. Es significativamente más rápido y más seguro que Node, y viene con herramientas ausentes en Node.js.
Sin embargo, Deno no ha obtenido la adopción masiva esperada incluso después de cuatro años de su lanzamiento, ya que la mayoría de los sistemas modernos ya están basados en nodos y los cambios pueden ser una molestia para los desarrolladores. Tener que reescribir la mayoría npm Los paquetes para el soporte de Deno también desafían su adopción.
En julio de 2022, apareció un nuevo tiempo de ejecución en versión beta, "Bun.js", que ha sido un tema de moda dentro y fuera de la comunidad de JavaScript. La interoperabilidad con Node.js y el rendimiento de alta velocidad que dice ofrecer han sido la obra maestra. También ha planteado discusiones de que finalmente hay un "destructor de nodos".
¿Cómo se compara Bun.js con Node.js y Deno.js?
Node, Deno y Bun son tiempos de ejecución para JavaScript fuera del navegador, esto no neutraliza las diferencias entre ellos.
Node.js se escribió en C++, Deno en Rust y Bun en Zig. “El control de bajo nivel sobre la memoria y la falta de flujo de control oculto en Zig facilitan la escritura de software rápido”, afirma el sitio web de Bun.
Mientras que Node y Deno ejecutan el motor V8 de Google, Bun aprovecha el rendimiento de "inicio rápido" de Webkit JavaScriptCore motor que utiliza Safari de Apple. Los resultados de referencia del sitio web muestran cómo Bun supera a Node y Deno en rendimiento, operando al menos 3 veces más rápido que ambos tiempos de ejecución.
Bun tiene npm (administrador de paquetes de Node) incorporado, lo que hace que la instalación de paquetes desde npm sea fácil y rápida (20 veces la velocidad en Node), también es compatible con TypeScript y transpila automáticamente archivos TS y JSX. Otras características interesantes de Bun incluyen un cliente SQLite3 incorporado, API web como fetch y WebSocket, carga automática de variables de entorno y un corredor de prueba.
De los tres, Bun se lleva la palma por su desempeño. Node sigue siendo el más estable con una comunidad muy grande, mientras que Deno es actualmente el más seguro.
¿Bun.js realmente afectará el ecosistema?
El ecosistema está entusiasmado con el lanzamiento de Bun. Es agradable que la exageración en torno a Bun haya sido enorme desde el anuncio. Es absolutamente un gran problema. A los desarrolladores de JavaScript les encantaría tener en cuenta su velocidad "deslumbrante" y sus sólidas herramientas para la productividad.
Es más, Servidor Discord de Bun ya cuenta con más de 2000 miembros, lo que demuestra el entusiasmo de la comunidad por esta nueva tecnología.
¿Cuál es el futuro de Node.js, Deno.js y Bun.js?
JavaScript no va a desaparecer pronto. En realidad, es una de las tecnologías que estamos seguros seguirá existiendo dentro de 10 años. Node, Deno y Bun también tienen futuro.
El nodo todavía se actualiza regularmente, versión 18.0 recién lanzada recientemente, por lo que su futuro permanece intacto incluso con Deno y Bun alrededor. Muchas empresas como PayPal utilizan Node en sus infraestructuras, e incluso las nuevas empresas están siguiendo su ejemplo.
El caso es similar para Deno, que se está desarrollando activamente y creciendo. Deno también está avanzando hacia una solución SaaS para proporcionar servicios de tiempo de ejecución de JavaScript administrados.
Bun.js aún es inestable y tiene soporte limitado (necesita Subsistema de Windows para Linux para ejecutarlo en Windows). Aunque tiene tantas capacidades, no puede ser una opción para el software listo para producción ahora, ya que todavía hay mucho trabajo por hacer.
Si bien el futuro es definitivamente prometedor para Bun, es lógico creer que estas tres tecnologías probablemente terminarán coexistiendo en el ecosistema, sin que una reemplace a la otra.
Bun.js podría cambiar las reglas del juego
Con Bun, muchas cosas podrían mejorar con respecto a JavaScript. Probablemente sea hora de que JavaScript obtenga una mejor adopción en campos críticos para el rendimiento como AI/ML, desarrollo de juegos, etc. Dirígete a la bollo.sh sitio web para aprender a instalar y comenzar a desarrollar con Bun.