En la actualidad JavaScript está en una completa evolución para poder sobrevivir a los tiempos actuales. Un ejemplo es que al final se pueden utilizar clases mucho más completas. Sin embargo para proyectos grandes esto puede ser insuficiente. Para ello Microsoft, en colaboración con Google, ha desarrollado un lenguaje similar a JavaScript. Sin entrar en mucho detalle las principales diferencias entre JavaScript y Typscript son:
- Typescript no se soporta directamente por los navegadores. Hay que transformarlo en Javascript.
- Es un lenguaje tipado. O sea que hay tipos declarados desde el principio.
- Los métodos deben especificar el tipo de datos que devuelven.
- Dispone de Interfaces al estilo de Java o C#. Se puede utilizar implements.
- Genéricos similares a C# o Java o plantillas en C++.
Al igual que babel, tsc convierte el código desde el lenguaje origen a JavaScript.
Sin querer entrar en muchos detalles cuando instalas con npm typescript instalas un servidor y un compilador que transforma el código TypeScript a código JavaScript para que puedas utilizarlo en tu desarrollo web: tsc.
tsc archivo.ts archivo.js
Puedes seguir un esquema similar a babel para añadir tu código a tus proyectos, usarlo en Visual Studio, brackets, atom, o cualquier otro editor actualizado que se encargue de traducirlo todo, o utilizar otras herramientas incluidas.
Cordova, con v, es una tecnología que te va a permitir desarrollar aplicaciones móviles partiendo de una aplicación web. Sabiendo algunos eventos más necesarios (como deviceready) puedes crear muy rápidamente aplicaciones para móvil tanto en android como para mac.
Una aplicación cordova permite usar HTML y JavaScript con muy poco cambio en el código.
Cordova permite utilizar casi cualquier otro framework con el desarrollo que hagas. Por ejemplo puedes usar jQuery dentro del código.
Si no te gusta porque los iconos y temas no están adecuados a los móviles puedes usar Ionic. Por debajo tendrás Angular o React.
Angular. Angular es el Framework de todo. Es algo inestable ya que suelen cambiarlo a menudo. Te permite desarrollar tanto con Javascript como con Typescript, pero es mejor hacerlo con la segunda opción. Para desarrollar en Angular hay que tener node y npm.
React. Es el framework de Facebook. Reactivo como Angular.
Dentro de la web puedes encontrar cursos introductorios. Como algo malo, no está tan bien estructurado y ajustado a patrones de diseño con Angular, pero por eso mismo es más sencillo aprenderlo de primeras.
vue.js.
Mas sencillo que los anteriores y te puede servir como introducción a muchos de los conceptos de Angular o React, pero presentados de forma mucho más sencilla.
knockout es tu alternativa en el aspecto de diseño de interfaces a Angular y los demás, además de que es muy sencilla, y se puede instalar desde bower.
Otras tecnologías que utilizan Javascript en la actualidad y son importantes son Reactjs e Ionic, etc. Ambas han inspirado o utilizado los llamados componentes web, stencyl.
Ionic es muy interesante para desarrollar aplicaciones web, pero es más difícil de primeras que Cordova. Pero si aprendes Angular y aprendes a crear componentes web (o al menos a utilizarlos) puedes desarrollar aplicaciones muy interesantes.
Dicho esto, esto el curso se acaba. Estudia cualquier otra cosa en especial cualquiera de las nuevas que hemos visto y no te quedes parad@ ya que JavaScript y los lenguajes similares están en alza. En el punto 5 verás incluso más enlaces útiles.