Cuando participas en el desarrollo de un proyecto grande, los lenguajes de programación como JavaScript no parecen ser la mejor solución. Su falta de elementos como Language Aids ha creado la necesidad de códigos amigables alternativos
TypeScript, es un proyecto desarrollado y mantenido por Microsoft (de código abierto). Surge de la necesidad de hacer de JavaScript un lenguaje de programación más robusto.
JavaScript es de hecho la lengua franco de la web. Su increíble flexibilidad significa que este lenguaje se usa en el 96% de los 1.700 millones de sitios que hoy pueblan la web. Por lo tanto, prácticamente cualquier dispositivo informático (desde un teléfono inteligente hasta un televisor inteligente) es capaz de procesar una instrucción JavaScript.
Sin embargo, la naturaleza del lenguaje no lo hace amigable con el código cuando se trata de desarrollar un proyecto grande. Esto se debe a que JavaScript carece de elementos como Language Aids y Refactors automáticos. Esto da como resultado un aumento del 15% en los errores del sistema.
Una solución simple pero efectiva.
TypeScript es un superconjunto de JavaScript, por lo que utiliza la misma sintaxis y semántica conocida por todos los desarrolladores web. Y, mejor aún, una vez que se compila el proyecto, se traduce completamente al JavaScript original.
2012 fue el año en que apareció TypeScript (después de 2 años de desarrollo), una solución de Microsoft para el desarrollo de aplicaciones con JavaScript a gran escala, para ellos y para sus clientes. Steve Lucco y un equipo de más de 50 personas, incluidos Anders Hejlsberg, arquitecto jefe de C # y creador de Delphi y Turbo Pascal, desarrollaron TypeScript en Microsoft, un proyecto que originalmente se conocía como Strada.
Originalmente, productos como Bing y Office 365 despertaron en Microsoft la necesidad de una mejora en JavaScript que les permitiera construir productos escalables.
TypeScript es la solución a muchos de los problemas de JavaScript, está diseñado para el desarrollo de aplicaciones robustas, implementando características en el lenguaje que nos permiten desarrollar herramientas más avanzadas para el desarrollo de aplicaciones.
Características de este nuevo lenguaje.
Como mencionamos, TypeScript es un superconjunto de JavaScript, esto significa que los programas Typescript son programas JavaScript válidos, a pesar de que TypeScript es otro lenguaje de programación.
Esta decisión se tomó en Microsoft bajo la promesa de que las futuras versiones de Ecmascript traerían adiciones y mejoras interesantes a JavaScript, esto significa que TypeScript se mantiene a la vanguardia con las mejoras de JavaScript.
Además, esto permite integrar TypeScript en proyectos JavaScript existentes sin tener que volver a implementar todo el código del proyecto en TypeScript, de hecho, es común que existan proyectos que introducen TypeScript y JavaScript.
Además, uno de los beneficios adicionales de esta característica del lenguaje es que pone a disposición el enorme ecosistema de bibliotecas y marcos que existen para JavaScript. Con TypeScript puede desarrollar aplicaciones con React, Vue, Angular, etc.
Typescript Estático
La característica principal de TypeScript es la escritura estática. Decimos que un lenguaje es de tipo estático cuando cumple con estas características principales:
- Las variables tienen un tipo de datos.
- Los valores solo pueden asignarse a variables del tipo correspondiente.
let age : number; //We assign the type number for the age variable
age = 20; // The variable can now only assign values of type number
- Interfaces
- Genérico
- Casting de datos (conversión de velocidad)
- Argumentos con tipo
- Tipo de retorno para funciones
- Etc. etcétera.
El contraste de estos lenguajes son la escritura dinámica, como JavaScript, estos lenguajes suelen ser mucho más flexibles, lo que nos permite escribir código menos detallado.
Por otro lado, los lenguajes de escritura estáticos se prestan en la implementación de herramientas de desarrollo más avanzadas, como
- Autocompletado
- Recomendación de qué argumentos recibe una función
- Recomendación de qué tipo devuelve una función
- Auto documentación del código
- Mejor análisis para detectar errores
Por qué TypeScript
La industria de la programación es increíblemente diversa, incluso si se especializa en alguna área de programación, todos los días hay algo nuevo que aprender, nueva tecnología, un nuevo enfoque para la resolución de problemas, etc.
De vez en cuando, surge una tecnología que deslumbra tus ojos, de la que inmediatamente te enamoras, y hasta te preguntas, ¿cómo podrías trabajar sin esta tecnología? TypeScript es ese tipo de tecnología.
Cuando escribes en un lenguaje con la intención de que se preste al desarrollo de herramientas para desarrolladores, ¿qué obtienes? Un lenguaje de programación con una experiencia de desarrollo superior a los demás.
Desarrollar en TypeScript es increíble, lo que demuestra la cantidad de equipos de desarrollo que han integrado la herramienta, como sustituto del uso de JavaScript, entre ellos tenemos:
- Microsoft
- Basecamp
- Lyft
- más y más empresas
Frameworks JavaScript
El equipo que desarrolla algunas de las fuentes abiertas más populares utiliza TypeScript para el desarrollo de estas bibliotecas. Un par de ejemplos muy populares son Angular y Stimulus.
Esto significa que la mayoría de la documentación y ejemplos de estos marcos, principalmente Angular, están escritos con TypeScript. Finalmente, esto significa que las aplicaciones desarrolladas con estas bibliotecas se crean con TypeScript.
Angular es quizás el ejemplo más destacado, prácticamente todas las aplicaciones en Angular se escriben usando TypeScript, si quieres comprender el framework en profundidad, necesita saber TypeScript.
Estas decisiones no se toman a la ligera, los equipos que desarrollan estos framework aprovechan las características de TypeScript para la implementación de estos framework y el desarrollo de aplicaciones web.
Aprender y dominar este lenguaje es su puerta de entrada a otras tecnologías.
TypeScript es un increíble lenguaje de programación, con herramientas de desarrollo aún mejores. En particular, Visual Studio Code ofrecerá una cantidad interesante de mejoras en su flujo de desarrollo.
Además, una de las mejores cosas de usar TypeScript es que puede usarlo en diferentes entornos y para el desarrollo de aplicaciones nativas, híbridas, web, de escritorio e incluso de servidores web.