¿Es necesario aprender TypeScript primero antes de intentar aprender Angular 2?

La postura oficial del equipo de AngularJS es que será completamente opcional. Puede escribir toda su aplicación en el JavaScript que conocemos hoy (ECMAscript5). Pero para ser honesto, hay algunos problemas serios con esa versión.

* no hay clases reales y herencia (solo prototipo)
* sin verificación de tipo
* No hay sistema de módulos (cargando partes de javascript)

Si aún desea escribirlo en ECMAscript, tendrá que escribir más código para hacer lo mismo, y tendrá una mayor probabilidad de que los errores ingresen a su código.

Podría escribirlo en ECMAscript 6, que es la próxima versión. Desafortunadamente no está soportado todavía en la mayoría de los navegadores. Pero ya puede usarlo y luego compilar su código en ECMAscript 5 durante la fase de implementación (puede configurar GRUNT para hacer esto)

Finalmente podrías usar Typescript. Ofrece todo lo que ofrece ECMAscript y más. Aprenderlo no debería ser como aprender un nuevo idioma, ya que JavaScript también es válido en Typescript. Se acaba de agregar un poco de azúcar sintáctica para que sea más potente y útil. Aún tendrá que compilarlo en ECMAscript 5 durante la implementación.

La cantidad de beneficios que experimentará al aprender a usarla, superará en gran medida la molestia de hacer el aprendizaje.

Incluso puedes darle una oportunidad en su sitio web: http: //www.typescriptlang.org/Pl…

ACTUALIZAR:

Desde que escribí esta respuesta el año pasado, ha habido una serie de cambios. Tanto para transpilers como para el marco angular. Si bien todavía es posible escribir aplicaciones Angular utilizando JavaScript de vainilla o Babel, el marco Angular se ha apartado de los estándares web de manera dramática.

Los flujos de trabajo predeterminados de la estructura ahora implican un proceso conocido como compilación anticipada (AOT). Bajo AOT ya no está escribiendo JavaScript ni TypeScript, sino más bien en un dialecto no estándar incompatible de este último que funciona específicamente con el marco angular. Tiene una semántica diferente de TypeScript, por lo que ya no es un superconjunto de JavaScript.

Por este motivo te recomiendo que evites desarrollar aplicaciones utilizando Angular.

También quiero señalar que desde que escribí esta respuesta, TypeScript ahora ha implementado la reducción de las funciones ‘asíncronas’ (así como otras características del ES2015) a ES5.1 y ES3 casi en la misma medida que Babel. Esto significa que ya no es necesario usar Babel en una tubería con TypeScript para acceder a estas funciones cuando se dirigen a tiempos de ejecución anteriores. Todavía hay casos de uso que combinan los dos transpilers pero están disminuidos.

ACTUALIZACIÓN FINAL

La respuesta corta es un no definitivo.

La respuesta larga realmente significa alimento para el pensamiento.

Si lees la documentación en Angular 2, notarás que ofrecen ejemplos en 3 idiomas: TypeScript, JavaScript y Dart.

Dado que TypeScript es un superconjunto de JavaScript y que no proporciona ningún comportamiento de tiempo de ejecución adicional, puede, por definición, escribir aplicaciones de Angular 2 en JavaScript.

La pregunta que debe responder es en realidad una pregunta de flujo de trabajo / cadena de herramientas.

¿Planea usar un transpiler (palabra pretenciosa para compilador)? Es decir, ¿en qué versión de JavaScript planea escribir? ¿ECMAScript 5.1 (la versión que ha estado disponible de forma nativa en la mayoría de los navegadores), o ECMAScript 6 (la versión recientemente estandarizada que ningún navegador soporta completamente y no será viable de implementar directamente durante al menos 4 años)?

Si respondes que no, sospecho que será más difícil encontrar tutoriales y documentación para Angular 2, pero puedes seguir utilizando la versión de JavaScript (ES5.1) con la que ya estás familiarizado y puedes desarrollar e implementar con mucho menos. Cadena de herramientas complejas que si respondieras que sí.

Si responde que sí, tendrá que utilizar una cadena de herramientas bastante compleja independientemente.

Hay varias opciones (TypeScript, Babel, y otras).

Cualquiera de estos te dará acceso a funciones como decoradores y clases que Angular 2 usa mucho.

Tengo experiencia con TypeScript y Babel, y aunque ambos son excepcionales, prefiero TypeScript debido a su fiabilidad y al soporte de herramientas que facilita.

TypeScript es un excelente transpiler que genera JavaScript confiable y legible, y está diseñado y mantenido por algunos de los mejores diseñadores de lenguajes de programación.

Microsoft toma TypeScript muy seriamente como un producto, mucho más en serio que Google toma Angular por lo que vale.

Sin embargo, no tienes que elegir. Puede usar Babel para algunos módulos de su aplicación y TypeScript para otros. Incluso puede mezclarlos en diferentes etapas de la recopilación, lo que le brinda acceso a una unión de las funciones de idioma admitidas. Por ejemplo, tanto TypeScript como Babel proporcionan funciones asíncronas pero con diferentes ventajas / desventajas en sus respectivas implementaciones. TypeScript le brinda excelentes herramientas, entendiendo el flujo de tipos de promesa en valores resueltos incluso con cadenas asíncronas arbitrariamente profundas, lo que le permite a su IDE mostrar la información de tipo correcta y advertir sobre el uso incorrecto. Sin embargo, TypeScript no compila esto en EcmaScript 5.1, lo que lo hace inutilizable en la mayoría de los navegadores. Babel, por otro lado, compila asíncrono a objetivos de bajo nivel. Puedes combinarlos y obtener ambas ventajas.

Si usted es un desarrollador de JavaScript, deténgalo todo y aprenda TypScript primero.

Razones para empujar mecanografiado están siguiendo

  • Características de ECMA6 / 7: Cuando se inclina a escribir, no es como si estuviera aprendiendo una nueva tecnología por completo. No es como el café-script. Es el futuro de javascript con el beneficio adicional de escribir. Con mecanografia obtienes la opción de usar una versión futura de javascript, con todas las características geniales como la sintaxis lambda (=>), clases, módulos, etc. Y ECMA5 es una escritura tipográfica válida, por lo que todos tus códigos más antiguos funcionarán bien aquí
  • Intelisense: Typescript supera su IDE (tormenta de web en mi caso). Casi escribe códigos por sí mismo. Descubrí personalmente que podía detectar errores y errores incluso antes de ejecutar el script (durante el mismo tiempo de compilación). Aumenta la productividad de los desarrolladores mucho.
  • Escribir: Aunque escribir es opcional en Typescript, nuevamente ayuda a detectar errores en el programa desde el principio. Es especialmente útil en un equipo más grande. Un nuevo desarrollo cuando comienza a trabajar en una clase, IDE mostraría automáticamente todas las propiedades y métodos en él, y también proporciona tipos y propiedades y parámetros de cualquier método. El nuevo desarrollador no necesita leer el código fuente para entender estas cosas, y hace que el mantenimiento de cualquier proyecto grande sea muy fácil.
  • Integración con angular 2: Esta es válida si planea usar angular2 en cualquier momento en el futuro. Angular usa muchas funciones de escritura para muchas de sus funciones principales. Cosas como agregar decoradores (metadatos adicionales en clase, similar a lo que hay en Java) es algo que debe hacer para salir con frecuencia en angular2. Esto parece trivial en mecanografía, pero su contraparte ecam5 se ve horrible. De manera similar, la inyección de dependencia en Angular2 es tan simple como asignar un tipo de cualquier variable. Si está familiarizado con el mecanografiado, la mayoría de angular2 parecerá muy amigable y simple, eso es porque angular2 fue escrito de tal manera que puede aprovechar todas las características más recientes y mejores de javascript y no quedar atascado por el legado de javascript.

Dicho todo esto, como se ha señalado en muchas respuestas anteriores, no es necesario saber escribir a máquina para aprender angular2. Pero pronto encontrará que la mayoría de los tutoriales de angular2 están escritos en escritura de tipos, y poco a poco usted mismo se cansará de usar el antiguo ECAM5 obsoleto (no exactamente: p) para hacer algo que funcione de forma trivial en angular2 con mecanografía y cambie a escritura de tipo. Entonces, ¿por qué pasar por la molestia, aprender mecanografía ahora.

No necesita aprenderlo antes de Angular 2. Ni siquiera necesita aprender TypeScript en absoluto. Pero eso no significa que no debas aprender TypeScript.

La belleza de TypeScript reside en el hecho de que es un superconjunto de JavaScript y, por lo tanto, todo JavaScript también es TypeScript válido . Puede crear un archivo .ts ahora mismo y comenzar a escribir bien todo JavaScript, ya que seguirá siendo válido. Las nuevas funciones de JavaScript, como las clases y las funciones de flecha, también son TypeScript perfectamente válidas.

Ahora, la seguridad de tipos y la gran variedad de características de TypeScript son algo que lo capacitará y le brindará los medios para desarrollar aplicaciones a gran escala y mantener su código base bajo control.

En resumen , aprender TypeScript no es un requisito difícil antes de comenzar con Angular 2, pero es una recomendación inteligente. Le aconsejaría que primero eche un vistazo rápido a lo que TypeScript tiene para ofrecer, y luego profundice en Angular 2. Puede aprender TypeScript a lo largo del camino .

Angular 2 está utilizando TypeScript ya que soporta la próxima versión de JavaScript (Estándar ECMA-262).

First Typescript es compatible con JavaScript antiguo, por lo que está bien si utiliza el código antiguo y le da la oportunidad de escribir de antemano estándar (podemos decir JavaScript en el futuro).

Como Angular 2 está escrito en Typescript, tiene soporte para mecanografía. Pero sí, es compatible con escribir código en Dart & javascript también como en Angular 2 también. así que no hay necesidad de aprender si no te gusta.

es fácil de aprender y escribir el código de tipo para Angular 2 en escritura mecanográfica que escribirlo usando JavaScript en mi opinión.

No. Puedes aprenderlo MIENTRAS que aprendes Angular. Casi todos los tutoriales sobre uso angular ES2016 y TypeScript (incluido el que debe comenzar con Tour of Heroes en el sitio de Angular). TypeScript no es super complicado.

Antes de comenzar, debe asegurarse de tener una comprensión básica de algunas cosas, sin embargo, al menos los conceptos:

  1. Cómo funcionan los eventos de DOM y DOM de JavaScript y cómo escribir código de JavaScript básico: funciones y matrices, etc. – la materia de programación normal.
  2. Alcance y principios OOP. Clases Privado vs público, ese tipo de cosas. Sintaxis específica de ES2016 en torno a estas áreas (si conoce Java o C #, la mayoría de las veces se encuentra en la sintaxis de ES2016 y TypeScript).
  3. Cómo funciona el proceso de solicitud y respuesta de AJAX. No se preocupe por la sintaxis, solo asegúrese de entender lo que sucede en el cliente.
  4. Promesas y observables. Angular puede hacer uso de ambos, y con frecuencia usará observables, como cuando hace llamadas AJAX. Una vez más, todo lo que necesitas saber aquí es lo que hacen.
  5. El propósito de la inyección de dependencia.

No es necesario que sepa 2, 4 y 5 en detalle antes de comenzar a aprender Angular. Los tutoriales y otros programas de práctica y sitios te enseñarán estas cosas, pero debes entender los conceptos. Ahora, 1 y 3, deberías tener un poco de práctica antes. Si no tiene una comprensión adecuada de JavaScript, debe aprenderlo antes de aprender TypeScript, Angular, React o cualquier otra biblioteca o marco.

No es necesario aprender TypeScript, pero como otros lo han señalado, solo ayudará. TypeScript es excelente. Yo mismo lo he descubierto recientemente y me encanta cada parte.

Dicho esto, esto no implica que deba ignorar ES6. Sí, aún no está soportado en gran medida, pero ese es el futuro en lo que respecta a JavaScript. ¡Descansa todo es solo azúcar, menta y hielo!

No, pero es bueno saber de qué se trata TypeScript.

El equipo de Angular usa AtScript para desarrollar Angular 2.0, que tiene la misma sintaxis que el TypeScript de Microsoft.

También eche un vistazo a: Lo nuevo en AngularJS 2.0

-Actualizar-
El equipo de Angular 2 abandonó AtScript.
Ver: Angular 2: Construido en TypeScript, gracias a Quora User
* El uso de las características de TypeScript sigue siendo opcional.

Yo diría que aprenda TypeScript a medida que aprende Angular2, no necesariamente un tipo de cosa antes o después.

No hay mucho que aprender en TypeScript y uno puede aprenderlo a medida que aprende su Angular2.

Si bien todavía puede crear aplicaciones angulares2 en el ECMAScript 5 actual, debería verlo más como un soporte de script heredado, principalmente porque ES6 está finalizado y todos los navegadores lo admitirán, y escribir Angular2 en ES5 puede sentirse como escribir un montón de código.

Para mí, una de las principales ventajas de utilizar TypeScript es que puede detectar muchos errores en el momento de la codificación / compilación, y no tiene que depender de la consola del navegador para detectar cualquier error 404 o error tipográfico.

Vinci

Han pasado un par de meses desde que empecé a trabajar en estas 2 tecnologías. Y confía en mí, sería realmente beneficioso para ti si aprendes a escribir primero. Es porque al final tienes que escribir la lógica principal de tu código solo en Typescript. Angular2 estructurará tu proyecto, pero al final necesitarás Typescript para completar esas funcionalidades.

Puede practicar Typescript en este enlace-https: //www.typescriptlang.org/p…
Es realmente útil ya que tiene su propio patio de recreo en el que puedes practicar simultáneamente lo que estás aprendiendo.

Sí Es mejor aprender TypeScript primero antes de explorar Angular 2.
Y
Puedes encontrar todos los mejores tutoriales angulares de js aquí http://hackr.io/tutorials/angula

TypeScript es una de las opciones que proporciona Angular 2, por lo que si tiene un fondo de C # o Java, entonces no se siente como en casa en Typescript.

Personalmente creo que tienes que aprender tanto JavaScript (ECMAScript 6) como Typescript. Elige sabiamente según la naturaleza de tu trabajo.

  • Si tiene conocimientos de OOP, aprender mecanografiar no tomará más tiempo (en horas). Simplemente puedes ir a través de algunos tutoriales mecanografiados y puedes comenzar a aprender angular.
  • Si tiene un buen conocimiento de Javascript, entonces puede aprender mecanografiar comparando cómo se transpilita su código mecanografiado real (Playground · TypeScript).

Aunque no es un requisito aprender a utilizar Typescript antes de utilizar Angular 2, una vez que haya aprendido a usar Typescript, se dará cuenta de esto: “¿Por qué he estado usando JavaScript todo esto cuando había mecanografía?”

Sí. es muy beneficioso Puede comenzar sin mecanografiar si ha trabajado con cualquier lenguaje OOP como JAVA. Pero el gasto de un día o más en el check-in de escritura vale la pena la inversión.

No está obligado a hacerlo, hay una serie de opciones admitidas oficialmente.

Sin embargo, con la forma en que van las herramientas y la comunidad, creo que se enfrentan a un par de opciones:

1) ¿Tienes una buena razón para usar otra cosa? (por ejemplo, Dart)

2) ¿Crees que TypeScript es algo peor que JS, ES6?

3) ¿Tiene un conocimiento suficiente de JS para poder omitir la mayoría de los ejemplos de código, tutoriales y preguntas y respuestas de tipo stackoverflow que probablemente serán de código de escritura mayoritaria?

No es obligatorio aprender TS para Angular2. Puedes crear la aplicación ng2 usando JavaScript y Dart también.

Consulte el sitio de Angular 2 más detalles ..

Angular 2

No es un requisito, ya que vanilla javascript también funcionará y se detendrá, ya que los métodos y las declaraciones en javascript son poco complejos y necesitan más tiempo para aprender. Así que diría que comience con la escritura de caracteres y disfrute de lo que ofrece el marco en lugar de luchar con las complejidades.

Yo diría que no, la razón detrás de esto es que angular no usa todo el poder del mecanografiado solo en piezas pequeñas como Tipos, Interfaces y Decoradores, y por supuesto que hay muchas, pero esas son esenciales para comenzar con angular

Una respuesta simple es ‘No’, ya que Angular 2 también funciona con ES, etc., pero es bueno aprender a escribir en TypScript.