TypeScript, el JavaScript de última generación

4min

TypeScript es un lenguaje basado en JavaScript pero con algunas mejoras que permiten convertir la tarea de crear una web con JavaScript en una nueva experiencia de programación. Creado originalmente por Microsoft, este superset de JavaScript permite llevar la experiencia de desarrollo frontend a un nivel superior y su versatilidad le ha llevado a adquirir bastante relevancia entre la comunidad de desarrolladores.

Técnicamente, conocemos a TypeScript como un superset de JavaScript. Existen otros superset del popular lenguaje para los navegadores, como podría ser CoffeeScript, pero TypeScript es actualmente mucho más usado por diversos motivos:

  • Todo código escrito en JavaScript nativo es un código TypeScript válido. Esto es importante porque TypeScript no se aleja del propio JavaScript. Simplemente, nos ofrece diversas mejoras que se pueden aplicar según gustos o necesidades. En otras palabras, con TypeScript podemos aprovecharnos de nuestros propios conocimientos de JavaScript y no tenemos necesidad de «cambiar el chip», usando sintaxis o estructuras de control nuevas.
  • Con TypeScript es posible usar el actual código de sus aplicaciones de base. No requiere modificar ni una línea de código para comenzar con TypeScript. Esto permite a los desarrolladores aprender progresivamente el lenguaje y poco a poco ir mejorando sus aplicaciones con las ventajas que nos ofrece.
  •  TypeScript está apoyado por grandes empresas y proyectos. Actualmente, el caso más representativo es el de Angular 2, que ha usado este lenguaje para el desarrollo de la última versión de su framework.
  • Complementario al backend. Los desarrolladores de backend que utilizan lenguajes como Java o C# encontrarán en TypeScript un complemento que les facilita el desarrollo frontend de una manera similar a como están acostumbrados en el backend. En el artículo ¿Front-end o Back-end? encontrarás las principales diferencias entre uno y otro.
Índice

¿Qué ofrece TypeScript?

Pero te preguntarás ¿qué es lo que realmente ofrece TypeScript? ¡No es más que un conjunto de herramientas que permiten desarrollar de una manera más potente!

Para explicarlo, conviene hacer referencia a los estándares en los que está basado JavaScript: ECMAScript. TypeScript usa los mismos añadidos que ECMAScript está adicionando al lenguaje. Por ejemplo y en resumen:

  • ES6 o ECMAScript 2015 introdujo clases, vinculándolo al mundo de programación orientada a objetos (OOP), así como diversas mejoras gracias a las arrow functions, declaración de variables de ámbitos restringidos, etc. A esto TypeScript le agrega todavía más herramientas como el caso de las interfaces.
  • ES7, que todavía no está totalmente listo, introducirá nuevas mejoras como las anotaciones que ya están disponibles en TypeScript.

En definitiva, con TypeScript, los desarrolladores pueden adelantarse al futuro y disponer ya mismo de mejoras sensibles en el lenguaje.

Pero lo más importante que encontraremos en TypeScript es que permite trabajar con un sistema de tipos estático. Es decir,  la posibilidad de asignar tipos a variables y que no se puedan cambiar éstos más adelante en el código.

TypeScript es, por tanto, JavaScript de última generación, pero con tipado estático. Aunque éste sea opcional ya representa una mejora significativa, puesto que el compilador te estará avisando de cualquier problema en el código y el editor será capaz de ofrecerte una ayuda mucho más relevante a medida que escribes código.

¿Dónde usar TypeScript?

Dado que TypeScript es un superset de JavaScript, que compila a código JavaScript estándar, podemos usarlo en cualquier ámbito donde se pueda usar JavaScript. Esto incluye desde una web, ejecutando en el navegador, hasta cualquier desarrollo de propósito general en NodeJS.

Para ello, contamos con el compilador —o mejor dicho «transpilador»— que una vez escrito el código lo traduce a JavaScript. Podemos configurar nuestro entorno para que esa traducción sea instantánea, según se guarda el fichero. Por tanto, desarrollamos en TypeScript, pero lo que realmente se ejecuta es JavaScript estándar.

Eso último contesta a la pregunta de muchos, sobre si los navegadores son compatibles. Por supuesto que sí, ya que el navegador realmente no ejecuta más que JavaScript e incluso no tiene cómo saber que el código original estaba escrito en JavaScript. Obviamente, tampoco afecta al rendimiento de los programas, ya que no necesita hacer trabajo adicional para la traducción, que es un proceso que se realiza en tiempo de desarrollo.

TypeScript es un complemento para facilitar el desarrollo de aplicaciones y se obtendrá su mejor partido a medida que el proyecto sea más complejo. Para los desarrolladores frontend permite llevar la experiencia de programación a un nivel superior, aportando grandes mejoras en el tiempo de desarrollo, similares a las que disfrutan los desarrolladores backend en lenguajes como Java o C#.

Fernán García de Zúñiga

Productos relacionados: