Est-il nécessaire d’apprendre le TypeScript avant d’essayer d’apprendre Angular 2?

La position officielle de l’équipe AngularJS est que cela sera complètement optionnel. Vous pouvez écrire la totalité de votre application dans le code JavaScript connu aujourd’hui (ECMAscript5). Mais pour être honnête, cette version pose de sérieux problèmes.

* pas de vraies classes et héritage (seulement prototype)
* pas de vérification de type
* pas de système de module (chargement de parties de javascript)

Si vous voulez toujours l’écrire dans ECMAscript, vous devrez écrire plus de code pour faire la même chose, et il y a donc plus de chances que des bogues entrent dans votre code.

Vous pouvez l’écrire dans ECMAscript 6, qui est la version suivante. Malheureusement, il n’est pas encore pris en charge par la plupart des navigateurs. Mais vous pouvez déjà l’utiliser, puis compiler votre code dans ECMAscript 5 pendant le déploiement (vous pouvez configurer GRUNT pour le faire).

Enfin, vous pouvez utiliser le type de script. Il offre toutes les offres ECMAscript et plus. L’apprentissage ne doit pas être assimilé à l’apprentissage d’une nouvelle langue, car JavaScript est également valide dans Typescript. Ils ont juste ajouté du sucre syntaxique pour le rendre plus puissant et utile. Vous devrez toujours le compiler dans ECMAscript 5 pendant le déploiement.

Le nombre d’avantages que vous allez expérimenter en apprenant à l’utiliser l’emporte largement sur les tracas de l’apprentissage.

Vous pouvez même essayer sur leur site Web: http: //www.typescriptlang.org/Pl…

METTRE À JOUR:

Depuis que j’ai écrit cette réponse l’année dernière, plusieurs changements ont eu lieu. à la fois à transpiler et au cadre angulaire. Bien qu’il soit encore possible d’écrire des applications angulaires à l’aide de JavaScript vanille ou de Babel, le cadre angulaire a divergé des standards Web de manière spectaculaire.

Les workflows par défaut de la structure impliquent désormais un processus appelé compilation AOT (Time of Time). Sous AOT, vous n’écrivez plus ni JavaScript ni TypeScript, mais plutôt dans un dialecte incompatible non standard de ce dernier qui fonctionne spécifiquement avec le cadre angulaire. Il a une sémantique différente de TypeScript, de sorte qu’il ne s’agit plus d’un sur-ensemble de JavaScript.

Pour cette raison, je vous recommande d’éviter de développer des applications utilisant Angular.

Je tiens également à noter que, depuis que j’ai écrit cette réponse, TypeScript a maintenant implémenté la mise à niveau inférieure des fonctions `async` (ainsi que d’autres fonctionnalités ES2015) vers ES5.1 et ES3 à peu près au même degré que Babel. Cela signifie qu’il n’est plus nécessaire d’utiliser Babel dans un pipeline avec TypeScript pour accéder à ces fonctionnalités lors du ciblage d’anciens environnements d’exécution. Il existe encore des cas d’utilisation combinant les deux transpileurs mais ils sont diminués.

FIN MISE À JOUR

La réponse courte est un non définitif.

La réponse longue est vraiment destinée à nourrir la réflexion.

Si vous lisez la documentation sur Angular 2, vous remarquerez qu’ils proposent des exemples dans 3 langues: TypeScript, JavaScript et Dart.

Puisque TypeScript est un sur-ensemble de JavaScript, qui ne fournit aucun comportement d’exécution supplémentaire, vous pouvez, par définition, écrire des applications Angular 2 en JavaScript.

La question à laquelle vous devez répondre est en réalité une question de workflow / toolchain.

Prévoyez-vous d’utiliser un transpiler (mot prétentieux pour compilateur)? C’est-à-dire, dans quelle version de JavaScript prévoyez-vous écrire? ECMAScript 5.1 (la version disponible depuis longtemps dans la plupart des navigateurs) ou ECMAScript 6 (la version récemment normalisée qu’aucun navigateur ne prend pleinement en charge et qu’il ne sera pas viable de déployer directement pendant au moins 4 ans)?

Je suppose que si vous répondez non, il sera plus difficile de trouver des tutoriels et de la documentation pour Angular 2, mais vous pouvez continuer à utiliser la version JavaScript (ES5.1) que vous connaissez déjà et vous pouvez développer et déployer avec beaucoup moins chaîne d’outils complexe que si vous avez répondu oui.

Si vous répondez oui, vous devrez quand même utiliser une chaîne d’outils assez complexe.

Il existe plusieurs options (TypeScript, Babel et autres).

Chacun de ceux-ci vous donnera accès à des fonctionnalités telles que les décorateurs et les classes fortement utilisées par Angular 2.

J’ai de l’expérience avec TypeScript et Babel et, bien que les deux soient exceptionnels, je préfère TypeScript en raison de sa fiabilité et de la prise en charge de l’outillage facilitée.

TypeScript est un excellent transpiler qui génère un code JavaScript fiable et lisible. Il est conçu et mis à jour par les meilleurs concepteurs de langages de programmation.

Microsoft prend TypeScript très au sérieux en tant que produit, beaucoup plus au sérieux que Google ne prend Angular pour sa valeur.

Cependant, vous n’avez pas à choisir. Vous pouvez utiliser Babel pour certains modules de votre application et TypeScript pour d’autres. Vous pouvez même les mélanger à différentes étapes de la transpilation, ce qui vous donne accès à une union de leurs fonctionnalités linguistiques prises en charge. Par exemple, TypeScript et Babel fournissent des fonctions asynchrones mais avec des avantages / inconvénients différents de leurs implémentations respectives. TypeScript vous donne des outils de qualité, comprenant le flux des types de promesse en valeurs résolues même avec des chaînes asynchrones arbitrairement profondes, permettant à votre IDE d’afficher les informations de type correctes et de vous avertir en cas d’utilisation incorrecte. Cependant, TypeScript ne compile pas cela dans EcmaScript 5.1, ce qui le rend inutilisable dans la plupart des navigateurs. En revanche, Babel compile de manière asynchrone des cibles de niveau inférieur. Vous pouvez les combiner et obtenir les deux avantages.

Si vous êtes développeur javascript, arrêtez tout et apprenez dactylographié en premier.

Les raisons pour pousser le manuscrit sont les suivantes

  • Fonctionnalités ECMA6 / 7: Lorsque vous tapez du manuscrit, ce n’est pas comme si vous appreniez une nouvelle technologie. Ce n’est pas comme du café-script. C’est l’avenir du javascript avec l’avantage supplémentaire de la frappe. Avec typescript, vous avez la possibilité d’utiliser la version future de javascript, avec toutes les fonctionnalités intéressantes telles que la syntaxe lambda (=>), les classes, les modules, etc. Et ECMA5 est un manuscrit valide, de sorte que tous vos anciens codes fonctionnent parfaitement ici
  • Intelisense: Typescript surcharge votre IDE (webstorm dans mon cas). Il écrit presque des codes par lui-même. J’ai personnellement découvert que je pouvais détecter les erreurs et les bogues avant même d’exécuter le script (au moment de la compilation). Cela augmente beaucoup la productivité des développeurs.
  • Saisie: Bien que la frappe soit facultative dans Typescript, cela permet de détecter les erreurs dans le programme à un stade précoce. C’est particulièrement utile dans une grande équipe. Un nouveau développement lorsque commence à travailler sur une classe, l’EDI montrerait automatiquement toutes les propriétés et les méthodes qui y sont contenues, et fournit également les types, propriétés et paramètres de toutes les méthodes. Les nouveaux développeurs n’ont pas besoin de passer par le code source pour comprendre ces choses et facilite la maintenance de tout projet volumineux.
  • Intégration avec angular 2: Celle-ci est valide si vous prévoyez d’utiliser angular2 à tout moment dans le futur. Angular utilise de nombreuses fonctionnalités dactylographiées pour beaucoup de ses fonctionnalités principales. Des choses comme l’ajout de décorateurs (métadonnées supplémentaires en classe, similaires à ce qu’il ya java) sont quelque chose que vous devez faire fréquemment dans angular2. Cela a l’air trivial en texte dactylographié, mais son équivalent ecam5 a l’air horrible. De même, l’injection de dépendance dans Angular2 est aussi simple que l’affectation d’un type de variable. Si vous êtes familier dans les textes dactylographiés, la plupart des éléments angular2 apparaîtront très simples et conviviaux, car ils ont été écrits de manière à pouvoir exploiter toutes les fonctionnalités les plus récentes et les plus performantes de javascript et à ne pas s’embourber dans l’héritage javascript.

Tout cela étant dit, comme cela a été souligné dans de nombreuses réponses précédentes, il n’est pas du tout nécessaire de connaître le manuscrit dactylographié pour apprendre angular2. Mais bientôt, vous constaterez que la plupart des tutoriels angular2 sont écrits en dactylographie, et que vous finirez par en avoir marre d’utiliser d’anciens logiciels obsolètes (pas exactement: p), ECAM5 vous permet de faire quelque chose qui fonctionne de manière triviale dans angular2 avec dactylographie et de passer en dactylographie. Alors, pourquoi passer à travers les tracas, apprendre maintenant le manuscrit.

Vous n’avez pas besoin de l’apprendre avant Angular 2. Vous n’avez même pas besoin d’apprendre TypeScript. Mais cela ne signifie pas que vous ne devriez pas apprendre TypeScript.

La beauté de TypeScript réside dans le fait qu’il s’agit d’un surensemble de JavaScript. Par conséquent, tout JavaScript est également valide . Vous pouvez créer un fichier .ts dès maintenant et commencer à taper correctement tout le code JavaScript, car il sera toujours valide. Les nouvelles fonctionnalités de JavaScript, telles que les classes et les fonctions de flèche, sont également parfaitement compatibles avec TypeScript.

Désormais, la sécurité du type et le large éventail de fonctionnalités TypeScript vous donneront les moyens de développer des applications à grande échelle et de garder le contrôle de votre base de code.

En résumé , l’apprentissage de TypeScript n’est pas une exigence absolue avant de démarrer avec Angular 2, mais c’est une sage recommandation . Je vous conseillerais d’abord de jeter un coup d’œil rapide sur ce que TypeScript a à offrir, puis de creuser dans Angular 2. Vous pouvez apprendre TypeScript en cours de route .

Angular 2 utilise TypeScript car il prend en charge la prochaine version de JavaScript (norme ECMA-262).

First Typescript supporte l’ancien JavaScript, donc c’est bien si vous utilisez l’ancien code et vous donnez une chance d’écrire à l’avance en standard (nous pouvons dire que le futur JavaScript).

Comme Angular 2 est écrit sur dactylographie, il est supporté par dactylographie. Mais oui, il supporte l’écriture de code sur Dart & javascript aussi comme dans Angular 2 également. donc pas besoin d’apprendre si vous n’aimez pas.

Il est facile d’apprendre et d’écrire le code de type pour Angular 2 en dactylographie que de l’écrire en utilisant JavaScript à mon sens.

Non, vous pouvez l’apprendre pendant que vous apprenez Angular. Presque tous les didacticiels sur Angular utilisent ES2016 et TypeScript (y compris celui avec lequel vous devriez commencer, Tour of Heroes sur le site Angular). TypeScript n’est pas super compliqué.

Avant de commencer, vous devez toutefois vous assurer de bien comprendre certaines choses, au moins les concepts:

  1. Comment fonctionnent les événements JavaScript DOM et DOM et comment écrire du code JavaScript de base: fonctions et tableaux, etc. – les tâches de programmation normales.
  2. Portée et principes de la POO. Des classes. Privé vs public, ce genre de chose. Syntaxe spécifique à ES2016 autour de ces domaines (si vous connaissez Java ou C #, vous utilisez principalement la syntaxe ES2016 et TypeScript).
  3. Comment fonctionne le processus de demande et de réponse AJAX Ne vous préoccupez pas de la syntaxe, assurez-vous de bien comprendre ce qui se passe sur le client.
  4. Promesses et observables. Angular peut utiliser les deux, et vous utiliserez souvent des observables, comme lors d’appels AJAX. Encore une fois, tout ce que vous devez savoir, c’est ce qu’ils font.
  5. Le but de l’injection de dépendance.

Vous n’avez pas besoin de connaître les détails 2, 4 et 5 en détail avant de commencer à apprendre Angular. Les tutoriels et autres programmes et sites de pratique vous apprendront ces choses, mais vous devez comprendre les concepts. Maintenant, 1 et 3, vous devriez avoir un peu de pratique avant. Si vous ne maîtrisez pas bien JavaScript, vous devez le maîtriser avant de connaître TypeScript, Angular, React ou toute autre bibliothèque ou structure.

Il n’est pas nécessaire d’apprendre TypeScript, mais comme d’autres l’ont souligné, cela ne fera qu’aider. TypeScript est excellent. Je ne l’ai moi-même découvert que récemment et j’aime tout.

Cela dit, cela ne signifie pas que vous devez ignorer ES6. Oui, il n’est pas encore largement supporté, mais c’est l’avenir en ce qui concerne JavaScript. Reste tout n’est que sucre, menthe et glace!

Non, mais il est bon de savoir en quoi consiste TypeScript.

L’équipe Angular utilise AtScript pour développer Angular 2.0, qui a la même syntaxe que TypeScript de Microsoft.

Regardez aussi: Quoi de neuf dans AngularJS 2.0

-Mettre à jour-
L’équipe Angular 2 a abandonné AtScript.
Voir: Angular 2: construit sur TypeScript, merci à Quora User
* L’utilisation de fonctionnalités TypeScript reste facultative.

Je dirais apprendre TypeScript comme vous apprendrez Angular2, pas nécessairement avant ou après.

Il n’y a pas beaucoup à apprendre dans TypeScript et on peut l’apprendre en même temps que votre Angular2.

Bien que vous puissiez toujours créer des applications angular2 dans le ECMAScript 5 actuel, vous devriez le considérer plutôt comme un support de script hérité, principalement parce que l’ES6 est finalisée et que tous les navigateurs le supporteront, et écrire Angular2 dans ES5 peut donner l’impression d’écrire beaucoup de code.

Pour moi, l’un des principaux avantages de l’utilisation de TypeScript est que vous pouvez intercepter beaucoup d’erreurs au moment du codage / compilation, sans avoir à dépendre de la console du navigateur pour capturer les 404 ou les fautes de frappe

Vinci

Cela fait quelques mois que j’ai commencé à travailler dans ces 2 technologies. Et croyez-moi, il serait très bénéfique pour vous d’apprendre d’abord le manuscrit. En fin de compte, vous devez écrire la logique principale de votre code uniquement dans Typescript. Angular2 structurera votre projet, mais vous aurez finalement besoin de Typescript pour compléter ces fonctionnalités.

Vous pouvez vous exercer à écrire ce script-https: //www.typescriptlang.org/p…
C’est vraiment utile car il a son propre terrain de jeu sur lequel vous pouvez pratiquer simultanément ce que vous apprenez.

Oui, il est préférable d’apprendre TypeScript avant d’explorer Angular 2.
Y
Vous pouvez trouver tous les meilleurs tutoriels js angulaires ici http://hackr.io/tutorials/angula…

TypeScript est l’une des options proposées par Angular 2, donc si vous avez l’arrière-plan de C # ou de Java, vous vous sentirez comme chez vous dans Typescript.

Personnellement, je pense que vous devez apprendre le JavaScript (ECMAScript 6) et le script écrit. Choisissez judicieusement selon la nature de votre travail.

  • Si vous avez des connaissances en programmation orientée objet, l’apprentissage du tapuscrit ne prendra pas plus de temps (en heures). Vous pouvez simplement parcourir quelques tutoriels dactylographiés et commencer à apprendre angular.
  • Si vous avez une bonne connaissance du langage Javascript, vous pouvez apprendre le manuscrit dactylographié en comparant les transpilations de votre code typographique actuel (Playground · TypeScript).

Bien qu’il ne soit pas nécessaire d’apprendre le dactylographie avant d’utiliser Angular 2, une fois que vous avez appris le dactylographe, vous vous en rendez compte: «Pourquoi ai-je utilisé JavaScript tout cela alors qu’il était dactylographié?

Oui. c’est très bénéfique. Vous pouvez commencer sans dactylographie si vous avez travaillé avec n’importe quel langage POO tel que JAVA. Mais passer un jour ou deux à la caisse dactylographiée vaut l’investissement.

Vous n’êtes pas obligé de le faire, un certain nombre d’options sont officiellement prises en charge.

Cependant, compte tenu de la façon dont les outils et la communauté évoluent, je pense que vous devez faire face à plusieurs choix:

1) Avez-vous une bonne raison d’utiliser autre chose? (par exemple, Dart)

2) Pensez-vous que TypeScript est en quelque sorte pire que JS, ES6?

3) Avez-vous une connaissance suffisante de JS pour pouvoir ignorer la majorité des exemples de code, des tutoriels et des questions-réponses de type stackoverflow qui seront probablement du code à la majorité typographique?

Ce n’est pas obligatoire d’apprendre TS pour Angular2. Vous pouvez également créer une application ng2 en utilisant JavaScript et Dart.

Reportez-vous au site Angular 2 pour plus de détails.

Angulaire 2

Ce n’est pas une obligation, car javascript en mode vanille fonctionnera également. Le problème, c’est que les méthodes et les déclarations en javascript sont peu complexes et nécessitent plus de temps pour apprendre. Je dirais donc que commencer par dactylographier profite de ce que propose le cadre au lieu de lutter contre la complexité.

Je dirais que non, la raison derrière cela, angular n’utilise pas toute la puissance du manuscrit dactylographié, mais uniquement de petits morceaux tels que Types, Interfaces et Decorators, et bien sûr, il y en a beaucoup, mais ils sont essentiels pour commencer angular

Une réponse simple est «non» car Angular 2 fonctionne également avec ES, etc., mais il est bon d’apprendre à écrire des caractères dactylographiés.