Différences entre angulaires.JS et Angular.dart? [fermé]

Je m'y connais un peu en angle.js, mais je veux m'apprendre la fléchette et L'angle.dart maintenant. Je suis un peu curieux de connaître les différences entre les deux. L'Angulaire.Dart tutorial spécifiquement dit qu'il ne sera pas comparer les deux . Est-ce que quelqu'un qui a utilisé les deux a une perspective sur ce que sont les différences?

65
demandé sur d4nyll 2013-11-15 08:09:50

3 réponses

mise à Jour N ° 2 (Août 16) Une version Dart Angulaire est désormais maintenu par l'équipe Dart sur Github: dart/angular2 sur github

Update : le projet AngularDart est bloqué et a été remplacé par Angular2. Angular2 est la plus récente itération D'Angular et fonctionne en fléchettes.

la réponse originale ci-dessous compare AngularDart et AngularJS 1.x.

AngularDart et AngularJS sont tous deux maintenus par L'équipe D'Angular. Nous avons pris beaucoup de connaissances du côté de JS et l'avons appliqué à Dart. Nous avons également pris beaucoup de code et porté directement à la Dart monde.

au niveau technique, au cœur de L'angle:

  • l'expression langue est compatible entre les deux versions. Le parser AngularDart a commencé comme un port droit de JS mais a été l'évolution sur son propre. Une grande différence est que L'analyseur de fléchettes prend en charge plusieurs sauvegardes, y compris un générateur de code de fléchettes.

  • le système DI est différent. Dans Dart il est basé sur la classe où dans Javascript il est basé sur le symbole.

  • le compilateur a été complètement réécrit dans la version Dart. Cela signifie que les directives se comportent différemment et qu'il y a désormais une distinction entre les directives "qui modifient le DOM," directives décoratives " et composants.

  • ng-transclude a " fondu dans le navigateur", remplacé par le DOM shadow standard.

  • les contrôleurs de la directive ont été fusionnés en composants

  • les directives D'AngularDart sont déclarées avec une classe annotée. lien / compiler les fonctions sont remplacées par une application de fonction

  • à AngularDart, la portée est digérée automatiquement à travers les zones Dart, éliminant le besoin de la portée.$appliquer.

  • AngularDart a un concept de cartes d'attributs qui n'est pas encore revenu à AngularJS. Cela signifie que les directives devraient avoir beaucoup moins de champ d'application.$montres ou même une dépendance sur le Champ.

il peut y avoir d'autres différences, mais c'est une bonne liste pour vous aider à démarrer.

92
répondu James deBoer 2016-08-16 21:29:03

donc la première différence est assez évidente: AngularJS est écrit en JavaScript tandis que Angular.dart est écrit en dart.

alors que Angular.dart suit les principes de base de AngularJS il semble être un peu d'un terrain de jeu pour de nouvelles fonctionnalités à évoluer. Je suppose que l'équipe de base prend toutes les leçons D'AngularJS et tente de mettre en œuvre les choses juste un peu mieux pour la version Angular.dart . Actuellement, il semble comme si un tas de choses sont d'abord mis en œuvre dans la version dart D'Angular avant qu'ils soient rétroportés à AngularJS . Par exemple, ils viennent d'ajouter une version plus légère de ng-repeat qui devrait finir par AngularJS .

également L'équipe Angular a récemment partagé quelques idées sur ce qui est prévu pour Angular 2.0. Je parie que la plupart de ces choses atterriront d'abord en Angular.dart avant d'atterrir en AngularJS .

16
répondu Christoph 2013-12-07 21:02:57

mise à jour 01/2018

Voir aussi Quelle est la différence entre un angle de 2 TS et un angle de 2 Dard?

mise à Jour 08/2016

Angulaire 2 pour JS et Dart sont maintenant indépendants de projets et divergent à un certain degré.

par exemple le NgModule introduit dans le TS RC.5 ne se posera probablement pas dans Dart et aussi le routeur module ne sera probablement pas traduit directement. Ce sont les changements qui étaient nécessaires dans TS pour le chargement paresseux. Dart a une histoire de chargement paresseux plus facile et n'a pas besoin de beaucoup des changements introduits dans Angular2 pour TS.

mise à Jour

avec L'angle 2 Il n'y a (presque) plus aucune différence parce que L'angle.fléchettes et angulaires.js sont générés automatiquement à partir de la même source dactylographiée. http://techcrunch.com/2015/03/05/microsoft-and-google-collaborate-on-typescript-hell-has-not-frozen-over-yet /

Original

cet article énumère plusieurs différences: ANGULARDART pour les développeurs ANGULARJS. INTRODUCTION TO THE BEST ANGULAR YET.

14
répondu Günter Zöchbauer 2018-01-25 17:36:30