Qué es ES6, también conocido como ECMAScript 2015, el más reciente estándar del popular lenguaje de programación Javascript.
En este artículo pretendemos dejar las cosas claras en cuanto a conceptos que el estudiante debe conocer sobre ECMAScript y su reciente versión de 2015, llamada habitualmente por su abreviación ES6. Conoceremos qué es ECMAScript, qué es ES6 y bajo qué contextos podemos usar esta versión del lenguaje.
El objetivo es que después de la lectura de este artículo cualquier desarrollador sepa cómo puede comenzar a usar las últimas mejoras de Javascript y dónde encontrar mayores informaciones para documentarse o crear su entorno de trabajo.
Comenzaremos por un rápido análisis de los conceptos principales que pueden ser nuevos para el lector.
Qué es ECMAScript
ECMAScript es el estándar que define cómo debe de ser el lenguaje Javascript. Sin entrar en datos históricos, que puedes consultar otras fuentes como la Wikipedia sobre ECMAScript, cabe decir que es la especificación que los fabricantes deben seguir al crear intérpretes para Javascript.
Como sabes, Javascript es interpretado y procesado por multitud de plataformas, entre las que se encuentran los navegadores web, así como NodeJS y otros ámbitos más específicos como el desarrollo de aplicaciones para Windows y otros sistemas operativos. Todos los responsables de cada una de esas tecnologías se encargan de interpretar el lenguaje tal como dice el estándar ECMAScript.
Cómo son las versiones del estándar de Javascript
A lo largo de la existencia de Javascript y desde que se le encargó a ECMA el trabajo de su estandarización, han aparecido diversas versiones de Javascript con cada vez mayores funcionalidades, estructuras de control, etc. Esas son las versiones del estándar y hoy de la que nos ocupamos es de ES6, la sexta versión.
ES5 estuvo con nosotros durante muchos años y a día de hoy es la versión de Javascript más extendida en todo tipo de plataformas. Cuando alguien dice que conoce o usa Javascript es común entender que lo que usa es ES5, el Javascript con mayor índice de compatibilidad. De ésto también se entiende que, cuando queremos escribir un código compatible con todos los navegadores o sistemas, lo normal es que ese código sea ES5.
Sin embargo, hoy muchos sistemas son capaces de entender ES6, la versión del estándar ECMAScript presentada en 2015. ES6 mejora varios aspectos del lenguaje y proporciona nuevas variantes a la programación, que nos aportan distintas ventajas.
El mundo de las versiones no se queda ahí y hoy ya existen borradores de lo que será ES7, que todavía nos traerá nuevas construcciones en el lenguaje, haciéndolo más productivo y sofisticado.
Transpiladores
Conscientes de los problemas de compatibilidad o soporte a ES6 en las distintas plataformas, un desarrollador poco informado podría pensar que:
- Sea poco aconsejable usar hoy ES6, debido a la falta de compatibilidad.
- Lo correcto sería esperar a que todos los navegadores se pongan al día para empezar a usar ES6 con todas las garantías.
Afortunadamente, ninguna de esas suposiciones se ajusta a la realidad. Primero porque si ES6 nos aporta diversas ventajas, lo aconsejable es usarlo ya. Luego porque es absurdo quedarse esperando a que todos los navegadores soporten Javascript en la versión ES6. Quizás nunca llegue ese momento de total compatibilidad o posiblemente para entonces hayan sacado nuevas versiones del lenguaje que también deberías usar.
Así que, para facilitar nuestra vida y poder comenzar a usar ES6 en cualquier proyecto, han surgido los transpiladores, una herramienta que ha venido a nuestro kit de desarrollo para quedarse.
Los transpiladores son programas capaces de traducir el código de un lenguaje para otro, o de una versión para otra. Por ejemplo, el código escrito en ES6, traducirlo a ES5. Dicho de otra manera, el código con posibles problemas de compatibilidad, hacerlo compatible con cualquier plataforma.
El transpilador es una herramienta que se usa durante la fase de desarrollo. En esa fase el programador escribe el código y el transpilador lo convierte en un proceso de "tradución/compilación = transpilación". El código transpilado, compatible, es el que realmente se distribuye o se despliega para llevar a producción. Por tanto, todo el trabajo de traducción del código se queda solo en la etapa de desarrollo y no supone una carga mayor para el sistema donde se va a ejecutar de cara al público.
Hoy tenemos transpiladores para traducir ES6 a ES5, pero también los hay para traducir de otros lenguajes a Javascript. Quizás hayas oído hablar de TypeScript, o de CoffeeScript o Flow. Son lenguajes que una vez transpilados se convierten en Javascript ES5, compatible con cualquier plataforma.
Cómo abordar ES6
Esperamos haberte convencido de la conveniencia de usar ES6. Si es así te preguntarás cómo comenzar a aprender las nuevas características del lenguaje y cómo usar esos transpiladores de una manera ágil para que se encarguen de la parte de la traducción, sin que ello merme tu productividad o dificulte la operativa del desarrollo.
Tanto aprender ES6 como crear tu entorno de trabajo es algo que ya hemos introducido en otros materiales publicados en DesarrolloWeb.com, que ahora te resumimos.
Manual de ES6:
Este artículo será el primero de un manual en el que vamos a explicar todo lo que necesitas saber sobre ES6. En este manual vamos a explicar primero las novedades del lenguaje y luego nos detendremos a crear nuestro entorno de trabajo.
Workflow para trabajo con Babel:
En este artículo te ofrecemos los primeros pasos para configurar Babel, uno de los transpiladores disponibles, el más usado en la actualidad.
Vídeos de ECMAScript 6:
Tenemos varios vídeos publicados sobre ES6 y el uso de transpiladores. Los puedes encontrar en la lista de ECMAScript 6.
Curso completo de ES6:
Si quieres aprender de manera completa, cómoda y rápidamente, también deberías conocer el Curso Completo de ES6 que encontrarás EscuelaIT. Este curso aborda todo lo que necesitas saber sobre el estándar y sobre las herramientas que te permitirán usarlo ya mismo con el mejor flujo de desarrollo posible.
Miguel Angel Alvarez
Fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Com...