Je connais un peu Angular.js, mais je veux maintenant m'enseigner Dart et Angular.dart. Je suis un peu curieux de savoir quelles sont les différences entre les deux. Le tutoriel Angular.dart indique spécifiquement qu'il ne comparera pas les deux . Quelqu'un qui a utilisé les deux a-t-il une idée des différences?
Réponses
Trop de publicités?AngularDart et AngularJS sont à la fois maintenu par l'Angulaire de l'équipe. Nous avons pris beaucoup de connaissances de la JS côté et l'a appliqué à Dart. Nous avons également pris beaucoup de code et porté directement à la Dart monde.
Au niveau technique, dans le cœur du moment cinétique:
Le langage d'expression est compatible entre les deux versions. Le AngularDart analyseur a commencé comme un droit de port à partir de JS, mais a été l'évolution de sa propre. Une grande différence, c'est que la Dart analyseur prend en charge de multiples mécanismes, y compris un Dart générateur de code.
La DI système est différent. Dans Dart il est de la classe de base où en Javascript, il est symbole de fonction.
Le compilateur a été complètement réécrit dans la version Dart. Cela signifie que les directives se comporter différemment et maintenant il y a une distinction entre structurel "directives" qui modifient les DOM, "décoratif directives" et des composants.
ng-transclude a "fondu dans le navigateur", remplacé par la norme de l'ombre DOM.
la directive contrôleurs ont été fusionnées dans les composants
directives en AngularDart sont déclarées avec un annoté de la classe. lien / compiler les fonctions sont remplacées par une application de fonction
Dans AngularDart, la portée est digéré automatiquement par l'intermédiaire de Dart zones d'éliminer le besoin de l'étendue.$s'appliquent.
AngularDart a une notion d'attribut de cartes qui n'a pas fait de retour à AngularJS encore. Cela signifie que les directives devraient avoir besoin de beaucoup moins de portée.$les montres ou même une dépendance sur le Champ.
Il y a peut être d'autres différences, mais c'est une bonne liste pour vous aider à démarrer.
Donc, la première différence est assez évident: AngularJS
est écrit en JavaScript alors qu' Angular.dart
est écrit dans dart.
Alors qu' Angular.dart
suit les principes de base de l' AngularJS
il semble être un peu d'une aire de jeux pour les nouvelles fonctionnalités d'évoluer. Je suppose que le noyau de l'équipe prend tous les apprentissages à partir d'AngularJS et tente de mettre en œuvre les choses un peu mieux pour l' Angular.dart
version. Actuellement, il semble comme si un tas de choses qui sont d'abord mis en œuvre dans la version dart Angulaire avant qu'ils arrivent à portée de AngularJS
. Par exemple, ils ont juste ajouté un plus léger de la version de ng-repeat
qui finalement finissent AngularJS
.
Aussi l'Angulaire de l'équipe récemment partagé des idées sur ce qui est prévu pour Angular 2.0. Je parie que la plupart de ces choses ne première terre, en Angular.dart
avant d'arriver en AngularJS
.
Analogique de ngTransclude Angulaire.Dart
Angulaire.dart utilise shadowDom tout en AngularJs n'est pas.
AngularJs utilise ngTransclude à la place.Quelle est la différence entre ng-app et data-ng-app?
Angulaire.dart ne semble pas à l'appui d'autres préfixes comme discuté dans la question.Angulaire.dart n'a pas d'équivalent à
ng-init
. (voir aussi GitHub question - port: ng-init)Angulaire.dart n'a pas d'
ng-controller
directive (port: ngController)
au lieu de cela@NgController(selector:'[foo-controller]', publishAs:'foo')
est utiliséAngulaire.dart ne prend pas en charge
ng-repeat
avec des cartes (ng-repeat avec une Carte ne fonctionne pas)Angulaire.dart n'a pas d'
restrict
A Angulaires.dart directive équivalente à AngularJS `limiter`Misko Hevery le créateur de AngularJS et membre de la AngularDart équipe répondu à une question similaire ici
Cet article répertorie plusieurs différences: ANGULARDART POUR ANGULARJS DÉVELOPPEURS. INTRODUCTION À LA MEILLEURE ANGULAIRE ENCORE.