JavaScript (lenguaje de programación): ¿Cómo salió babel.js y por qué Node.js no pudo implementar estas características directamente?

Babel salió específicamente fusionando `6to5` y` esnext `, los dos proyectos populares a finales de 2014 / principios de 2015.

No solo existe para transpilar código para Node (que todavía no es compatible con todo ES2015, por ejemplo, desestructuración de objetos, parámetros o módulos predeterminados. Transpila código para ES5 para cualquier entorno que cumpla con los estándares (o que cumpla en su mayoría) – principalmente navegadores web.


Como desarrollador de Node.js, a menudo veo características y mejoras que realmente no me gustan ni necesito. Pero la cuestión es que JavaScript no es realmente popular debido a Node. Somos solo una pequeña fracción de los usuarios y desarrolladores de JS. JavaScript es popular debido a los navegadores.

Y la mayoría de los navegadores no funcionan tan bien como Node.js en lo que respecta a la implementación de especificaciones EcmaScript. Significa que ni siquiera somos realmente el público objetivo . Está dirigido más a los desarrolladores frontend de JavaScript.

Además, ni siquiera somos los más avanzados del grupo. Node.js sigue a V8, y es habitual que escojamos una versión y nos quedemos con ella por un tiempo. Mientras tanto, los equipos de Chromium y Chrome impulsan el desarrollo de V8. P.ej. los parámetros predeterminados mencionados están llegando a Chrome 49 (V8 JavaScript Engine: V8 Release 4.9), y significa que llegará al nodo al menos meses después.


¿Por qué surgieron estos dos proyectos (esnext y 6to5, pero también otros), y después Babel, en primer lugar?

Porque en, por ejemplo. 2014 el ES2015 aún no se completó. No era una especificación completa, era un borrador. Pero ES2015 (entonces conocido principalmente como ES6) era una extensión de JavaScript que quería mejorar muchas cosas.


Pero el estándar EcmaScript en sí mismo no solo estaba hecho de la nada: se basaba en las cosas que los desarrolladores dijeron que querían y que les faltaba. Además, estaba basado en el azúcar que las herramientas existentes ya proporcionaban. Entonces, las herramientas, los transpiladores ya existían, los desarrolladores querían prepararse para las nuevas características lo antes posible, por lo que usaron los transpiladores hasta que los navegadores y Node implementaron todas las características de ES2015.

Babel no es una herramienta que permita a node.js ejecutar específicamente ES2015. Babel es un transpilador que toma el código ES2015 y lo convierte (cuando sea posible) en código ES5 que los motores JavaScript actuales pueden ejecutar. La salida de Babel es un archivo que contiene ES5 que luego se puede incluir en una página web para que se ejecute un navegador o para que se ejecute Node.

More Interesting

¿Cómo se convierten los desarrolladores web en desarrolladores web senior? ¿Cuáles son las calificaciones?

Después de aprender HTML, CSS y JavaScript, ¿qué lenguaje de desarrollo de backend debería aprender?

¿Cuál es la mejor manera de tener una imagen de fondo a tamaño completo sin ralentizar la carga de la página?

¿Hay alguna diferencia entre no tener un archivo robots.txt y tener un archivo robots.txt que permita a todos los agentes de usuario y archivos / directorios?

¿Cuáles son las especificaciones importantes del sitio web (en la página / fuera de la página) que deben tenerse en cuenta al migrar a un nuevo nombre de dominio? Tenga en cuenta que las páginas migradas en un nuevo dominio contendrán páginas web en vivo existentes, así como nuevas páginas web.

¿Quién hace jQuery y JavaScript en una empresa de diseño web?

¿Por qué uno usaría PHP en lugar de Node.js para un nuevo proyecto?

Cómo volver a la programación (el desarrollo web para ser precisos) después de trabajar fuera del campo de TI durante 4 años

¿Puedo crear un gráfico con Matplotlib en el servidor y ponerlo en línea con Django?

Cómo crear un sitio web gratuito

Cualquier ingeniero de software mira a ciertos compañeros de trabajo y se pregunta "¿cómo se convirtió este tipo en un SWE?"

¿Qué otras tecnologías de desarrollo web se deben aprender después de HTML5, hojas de estilo en cascada, JavaScript y Java Advance?

¿Qué es WordPress? ¿Cómo podemos usarlo?

¿Está buscando un sitio web rentable de WordPress para su negocio local?

¿Los diseñadores web y las agencias utilizan los creadores de formularios en línea?