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?
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.
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
.
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
-
analogue de ngTransclude en angle.Dart
Anguleux.dart utilise l'ombre alors Qu'AngularJs ne le fait pas.
AngularJs utilise ngTransclude à la place. -
Quelle est la différence entre ng-app et data-ng-app?
Anguleux.dart ne semble pas supporter d'autres préfixes comme ceux discutés dans la question liée. -
Angular.dart n'a pas d'équivalent de
ng-init
. (voir aussi GitHub issue - port: ng-init ) -
Angular.dart n'a pas de directive
ng-controller
( port: ngController )
au lieu de@NgController(selector:'[foo-controller]', publishAs:'foo')
est utilisé -
Angular.dart ne prend pas en charge
ng-repeat
avec des cartes ( ng-repeat avec une Carte ne fonctionne pas ) -
Angular.dart n'a pas de
restrict
a un angle.dart directive an equivalent à AngularJS 'restrict ' -
Misko Hevery le créateur de AngularJS et membre de la AngularDart équipe répondu à une question similaire ici
cet article énumère plusieurs différences: ANGULARDART pour les développeurs ANGULARJS. INTRODUCTION TO THE BEST ANGULAR YET.