TypeScript

TyeScript
Información sobre la plantilla
Parte de la familia Lenguaje de programación
Type.jpg
Lenguaje de programación que permite a los desarrolladores crear proyectos complejos.
CreadorMicrosoft
DesarrolladorAnders Hejlsberg

TypeScript es un lenguaje de programación libre y de código abierto desarrollado por Microsoft. Es un superconjunto de JavaScript, que esencialmente añade tipado estático y objetos basados en clases para orientar JavaScript a objetos enteramente. Anders Hejlsberg, diseñador de C#, ha trabajado en el desarrollo de TypeScript TypeScript extiende la sintaxis de JavaScript, por tanto cualquier código JavaScript existente debería funcionar sin problemas. Está pensado para grandes proyectos, los cuales a través de un compilador de TypeScript se traduce a código JavaScript original. Permite además famosas librerías de JavaScript trabajar sin problemas como JQuery, MongoDB, Node.js, y D3.js.

Características

Principalmente se caracteriza por implementar las ventajas de un lenguaje orientado a objetos y las ventajas de JavaScript, permitiéndonos usar ambos a la vez (podríamos escribir la mitad en JavaScript y la otra en el lenguaje propio de TypeScript) y por supuesto el código que tuviésemos de JavaScript no se verá alterado, por lo que no hará falta modificar ninguna librería.

Este lenguaje de programación está especialmente indicado para desarrollar proyectos de una cierta envergadura, teniendo en cuenta la integración con distintos editores e IDE. Añade comprobación de tipos, de manera que permite utilizar IntelliSense para facilitar el desarrollo utilizando Visual Studio.

TypeScript, por supuesto, es open source y ofrecen herramientas para integrar el lenguaje de programación en distintas herramientas (Visual Studio, Sublime Text, Vi y Emacs), así como un paquete para Node.js. Las características que TypeScript agrega al desarrollo de JavaScript son pequeñas, pero generan grandes beneficios para los desarrolladores de .NET, que están familiarizados con características similares en los lenguajes que usan para el desarrollo habitual de aplicaciones de Windows.

TypeScript no es una solución mágica y no pretende serlo. Pero para el que tenga dudas sobre usar JavaScript, TypeScript es un excelente lenguaje que puede facilitar el proceso.

Formas en que lo podemos usar

Podemos usar TypeScript de varias formas muy sencillas:

  • Instalar en Node.js: para instalarlo solo debemos de introducir el siguiente comando para instalar la extensión npm install -g typescript y posteriormente para compilarlo usaremos tsc [Nombre del archivo].ts.
  • Usar las herramientas en Visual Studio 2012: Microsoft nos da la opción de usar el editor con herramientas específicas dándonos un plugin que podemos descargar en la página oficial de TypeScript.
  • Usar las herramientas en Sublime Text, Emacs y Vim: no se han olvidado de las personas que no usen o prefieran no usar Virtual Studio, y nos dan la opción de instalar el plugin en nuestro editor favorito.
  • Editor online: en la web oficial de TypeScript también podemos encontrar un editor y compilador instantáneo que funciona a la perfección.

Ventajas que Ofrece

  • Se trata de un superconjunto de JavaScript
  • Cada programa TypeScript tiene su correspondiente en JavaScript y viceversa
  • Opcionalmente, puede proporcionar un mapeado de las fuentes que permita su depuración
  • Incluye ya propuestas dadas para ECMAScript en su versión 6 –la última aprobada es la 5.1-, como son las clases y los módulos –véase más abajo-
  • Incluye ya la inferencia de tipo en la declaración de variables y funciones. Se trataría de una de las columnas vertebrales del nuevo lenguaje –nótese su propio nombre-
  • Define declaraciones ambiente que son visibles en el ámbito del archivo TS, pero no se propagan en el archivo JS correspondiente, para así poder asimilarse a declaraciones explícitas en navegadores o en librerías específicas, como por ejemplo JQuery
  • El lenguaje en sí es débilmente tipado –tipificado, si se prefiere- y se permiten declaraciones en tiempo de ejecución, de modo que no se atiene a una rigidez de declaraciones tales como en C# o Java
  • Un módulo es un objeto totalmente anónimo, todo lo que se encuentre dentro de él estará oculto al mundo exterior, a menos que se haga visible de manera explícita. Dentro se pueden definir variables, funciones, objetos, clases e interfaces. En el correspondiente archivo JS se traducirán en componentes de un objeto encapsulado
  • Una interfaz es un conjunto de declaraciones de tipo, sin implementaciones de contenido; por ejemplo declaraciones de simplemente el tipo de variables y funciones –pero sólo eso, el tipo-. Son de validez exclusiva en tiempo de compilación y su utilidad principal estriba en la documentación y validación del tipado –o tipificación- correcto(a) de las declaraciones de variables, funciones, …
  • El soporte de clases abarca bastante de lo que cabría esperar –dentro de su simplicidad, que no es momento de tratar-, herencia, accesibilidad pública y privada y sobrecarga, básicamente.

Véase también

Referencias