Desafortunadamente, Angular 2 está presionando a los usuarios para que utilicen TypeScript en lugar de Babel, pero esto no debería ser un obstáculo para aprender el marco, ya que TypeScript es muy fácil de aprender si eres competente con JavaScript.
Me encanta JavaScript, pero también soy un gran fan de TypeScript. Creo que es absolutamente el camino a seguir si está buscando un herramental mejorado, un análisis de valor estático o simplemente está buscando un transpiler ECMAScript confiable y de alta calidad.
Dicho esto, según sea apropiado, TypeScript puede preguntarse por qué considero desafortunado el impulso de Angular 2 hacia TypeScript. La razón principal es que Angular 2 usa TypeScript de una manera muy incómoda, no idiomática, francamente confusa y desagradable. Es una introducción terrible al lenguaje que confundirá a cualquiera porque lo que el final de su equipo quería era un lenguaje con tipos reificados y TypeScript no es ese idioma. Todos los tipos en el código de TypeScript existen para análisis estático, herramientas y verificación de código estático. Son por diseño completamente borrados del JavaScript emitido. Una advertencia muy importante a esto es sobre las clases que los programadores de JavaScript tienden a pensar en sus tipos, pero en realidad son valores. Dado que TypeScript modela patrones de programación basados en clases, hasta cierto punto, puede ser confuso distinguir entre la naturaleza en tiempo de ejecución y de compilación de una clase en TypeScript. Angular 2 completa estas cosas con un abandono imprudente y en detrimento de sus usuarios y de sí mismo. Intenta pretender que el TypeScript y, por extensión, JavaScript son lenguajes diferentes de los que realmente son, tratando de verlos como Java, pero esta no es una forma viable de codificación. Typescript entiende esto correctamente, trata de modelar JavaScript con tipos que coinciden con la forma en que se utilizan los comportamientos del idioma y se mantiene fiel a su naturaleza dinámica.
Definitivamente, aprenda TypeScript, vale la pena, pero primero aprenda JavaScript. Si aprende a escribir caracteres mediante Angular 2, es probable que termine con una vista distorsionada del idioma. Por ejemplo, uno de los propósitos principales de TypeScript es proporcionar herramientas y verificación estática, pero las API de Angular 2 se escriben de manera aproximada hasta el punto de casi un 100% de negar este beneficio.
- Parece que he perdido mi curiosidad científica, para ver cosas nuevas de la nada, ¿cómo puedo reconquistarlas?
- ¿Cuáles son las cosas más importantes que se deben enseñar acerca de las computadoras?
- ¿Cuál es la mejor manera para que un estudiante de ciencias de la computación aprenda sobre finanzas cuantitativas?
- ¿Qué debe aprender una persona con una formación en ingeniería eléctrica pura antes de aprender a programar?
- ¿Es el conocimiento obtenido de la experiencia más importante que el conocimiento obtenido de los libros?
También vale la pena mencionar que es muy agradable y productivo utilizar AngularJS 1.5 con TypeScript.