¿Hay alguna razón para desarrollar un nuevo proyecto en ES5 y no en ES6 / ES7 + Babel / Traceur?

Hay razones válidas Antes de llegar a ellos, déjenme decirles que creo que siempre deberían preferir escribir en ES2016 o ES2017. No prefiero escribir ES5 por cualquier imaginación.

  • El código ES5 es más pequeño. La transpilación requiere muchos pequeños ajustes a su código, lo que aumenta el tamaño de su paquete. Si necesita exprimir cada byte de su paquete (tal vez está creando para dispositivos móviles de gama baja), es mejor que escriba ES5.
  • ES5 es casi siempre más rápido que ES6, transpilado o no. El hecho de que Chrome o Firefox admitan una función en ES6, o que Babel pueda transpilar una función, no significa que se ejecute rápidamente. Los transpiladores deben implementar las características de ES-Next en ES5, lo que significa que se necesitan más instrucciones en general. Las máquinas virtuales también toman tiempo para mejorar el rendimiento de las funciones. Las clases de ES6, por ejemplo, son mucho más lentas que el uso de funciones anticuadas con un prototipo.
  • Algunas características necesitan un polyfill. ES2015 + define no solo una nueva sintaxis, sino también nuevos tipos y métodos dentro del lenguaje. Además de transpilar, aún necesita un polyfill para usar estas características. Ese polyfill ocupa espacio y puede tener un impacto negativo en el rendimiento. Dependiendo de cómo agrupe su código, podría tener problemas si el polyfill se carga en el orden incorrecto.
  • Dependiendo del tamaño de su base de código y su proceso de compilación, la transpilación puede ser lenta. Si tiene una base de código con cientos de miles de líneas (o incluso millones de líneas) de código, transpilar todo eso se volverá complicado y puede tomar inaceptablemente largo.

Sin embargo, a menos que tenga una muy, muy buena razón, siempre debe preferir ES6 +.

No

Las buenas razones para no usar Babel o TypeScript, y cosechar los beneficios del JS moderno son básicamente las siguientes:

  1. Mi equipo no puede manejar nuevos estándares de código, o elegimos específicamente no hacerlo, por razones
  2. Tenemos una base de código heredada que tenemos que mantener, y no tenemos la intención de separar la base de código en módulos, y por lo tanto no podemos agregar nuevos JS en medio del código viejo decrépito
  3. Nosotros, por cualquier razón, no tenemos acceso a Node, ni a ningún canal de compilación suficiente para ejecutar código a través de Babel / TypeScript, de modo que podamos implementar los resultados compilados fácilmente
  4. Todavía estamos escribiendo código para aplicaciones empresariales en la intranet basada en IE6, a pesar de saber que la red basada en XP de toda nuestra compañía está indudablemente comprometida

Esos son los que están fuera de mi cabeza.

Dicho esto, mapear, filtrar y reducir eran ES5, por lo que no hay absolutamente ninguna razón para no escribir un código FP bastante limpio, comprobable y confiable al usarlo.

Ejecútelo en modo estricto y lo hará bien.

Aquí está mi artículo que puede darle supervisión de ES6

https://www.linkedin.com/pulse/r

More Interesting

Si uso CDN para mi sitio web de WordPress, ¿hay algún beneficio?

Aprendí los conceptos básicos de la programación web. ¿Qué puedo hacer (por mi cuenta) para mejorar desde aquí además de construir cosas?

Si creo un sitio web, un sitio web único, donde mi característica principal es que tengo una gran base de datos que nunca existió sobre algo, ¿alguien puede robar esa base de datos y crear su propio sitio web con mi base de datos?

¿Qué idioma debo saber para ser desarrollador web?

Aprendí desarrollo web en php y ahora quiero comenzar mi carrera, pero no tengo ninguna oportunidad de trabajo ya que solo soy un aficionado. ¿Cómo puedo ganar la confianza de otros desarrolladores web de que puedo trabajar con ellos? ¿Puedo conseguir un trabajo?

Quiero participar en un Hackathon, pero no tengo experiencia práctica en programación web. Ya tengo algo de experiencia en HTML, CSS y JavaScript, pero quiero aprender la pila MEAN en un mes. ¿Como empiezo?

Estoy construyendo una aplicación en Ruby on Rails. Tengo un plan para toda la experiencia del usuario front-end. ¿Debo (Editar) * crear un prototipo estático (HTML / CSS) y luego portarlo a rieles, o simplemente (Editar) * construir un prototipo en rieles (Vistas sin ningún modelo y acciones de controlador en blanco), antes de comenzar el desarrollo de back end?

¿Puede una persona ingenua construir su propio sitio web por su cuenta, en caso afirmativo, cómo puede comenzar a aprender a diseñar un sitio web?

Soy un estudiante de biología del 11º grado en India y quiero pasar a la programación. ¿Cuáles son los problemas que probablemente enfrentaré al conseguir trabajo?

Soy un desarrollador front-end en una pequeña empresa de TI, pero mis habilidades son constantes allí. ¿Qué puedo hacer cuando voy a una entrevista y me rechazan?

¿Cuál es el costo de desarrollar un sitio web como Zillow o Realtor?

Estoy construyendo una comunidad y necesito integrar un servicio donde pueda administrar los buzones. Cada usuario necesita una dirección de correo electrónico personal en mi dominio. Necesito una solución delgada y confiable, solo para correo electrónico, y que no es costosa como Google Apps. ¿Qué es un servicio con la API que puede administrar mi correo electrónico?

¿Cómo puedo crear un sitio web que solo tenga un menú y dos páginas de texto con WordPress?

Necesito diseñar una aplicación web de gestión del tiempo, ¿es mejor codificar el módulo de calendario desde cero o existen soluciones existentes que pueda usar con JavaScript?

Si no uso Vim, ¿puedo ser un buen desarrollador? ¿Debo usar otro editor y centrarme en la programación?