angularjs - tour - ¿Diferencias entre Angular.js y Angular.dart?
dart web example (3)
Conozco un poco sobre Angular.js, pero quiero enseñarme Dart y Angular.dart ahora. Sin embargo, tengo un poco de curiosidad sobre cuáles son las diferencias entre los dos. El tutorial de Angular.dart específicamente dice que no comparará los dos . ¿Alguien que haya usado ambos tiene una perspectiva sobre cuáles son las diferencias?
Actualización 01/2018
Ver también ¿Cuál es la diferencia entre Angular 2 TS y Angular 2 Dart?
Actualización 08/2016
Angular 2 para JS y Dart ahora son proyectos independientes y divergirán hasta cierto punto.
Por ejemplo, el NgModule
introducido en TS RC.5 probablemente no aterrice en Dart y, además, el módulo de enrutador probablemente no se traduzca directamente. Estos son cambios que fueron necesarios en TS para la carga diferida. Dart tiene una historia de carga lenta más fácil y no necesita muchos de los cambios introducidos en Angular2 para TS.
Actualizar
Con Angular 2 ya no hay diferencias (casi) porque Angular.dart y Angular.js se generan automáticamente desde la misma fuente de TypeScript. http://techcrunch.com/2015/03/05/microsoft-and-google-collaborate-on-typescript-hell-has-not-frozen-over-yet/
Original
Analógico de ngTransclude en Angular.Dart
Angular.dart usa shadowDom mientras que AngularJs no.
AngularJs utiliza ngTransclude en su lugar.¿Cuál es la diferencia entre ng-app y data-ng-app?
Angular.dart parece no admitir otros prefijos como se discute en la pregunta vinculada.Angular.dart no tiene equivalente a
ng-init
. (ver también el número de GitHub - port: ng-init )Angular.dart no tiene ninguna directiva
ng-controller
( port: ngController )
en@NgController(selector:''[foo-controller]'', publishAs:''foo'')
lugar se@NgController(selector:''[foo-controller]'', publishAs:''foo'')
Angular.dart no admite
ng-repeat
con mapas ( ng-repeat con un Map no funciona )Angular.dart no tiene
restrict
Tiene una directiva Angular.dart equivalente a AngularJS''s `restrict`Misko Hevery, el creador de AngularJS y miembro del equipo AngularDart, respondió una pregunta similar here
Este artículo enumera varias diferencias: ANGULARDART FOR ANGULARJS DEVELOPERS. INTRODUCCIÓN AL MEJOR ANGULAR TODAVÍA.
Actualización n. ° 2 (agosto ''16) Una versión Dart de Angular ahora es mantenida por el equipo Dart en Github: dart / angular2 en github
Actualización : el proyecto AngularDart se detuvo y Angular2 reemplazó. Angular2 es la iteración más reciente de Angular y funciona en Dart.
La respuesta original a continuación compara AngularDart y AngularJS 1.x.
AngularDart y AngularJS son mantenidos por el equipo Angular. Hemos tomado mucho conocimiento del lado de JS y lo aplicamos a Dart. También hemos tomado un montón de código y lo hemos trasladado directamente al mundo de Dart.
A nivel técnico, en el núcleo de Angular:
El lenguaje de expresión es compatible entre las dos versiones. El analizador AngularDart comenzó como un puerto directo de JS, pero ha estado evolucionando por sí mismo. Una gran diferencia es que el analizador Dart admite múltiples backends, incluido un generador de código Dart.
El sistema DI es diferente. En Dart está basado en clases, donde en Javascript está basado en símbolos.
El compilador ha sido completamente reescrito en la versión de Dart. Esto significa que las directivas se comportan de manera diferente y ahora existe una distinción entre "directivas estructurales" que modifican el DOM, las "directivas decorativas" y los componentes.
ng-transclude se ha "fundido en el navegador", reemplazado por el DOM sombreado estándar.
controladores de directivas se han fusionado en componentes
las directivas en AngularDart se declaran con una clase anotada. las funciones de enlace / compilación se reemplazan por una función de aplicar
En AngularDart, el alcance se digiere automáticamente a través de las zonas de Dart, eliminando la necesidad del alcance. $ Apply.
AngularDart tiene un concepto de mapas de atributos que aún no ha regresado a AngularJS. Esto significa que las directivas deberían necesitar un alcance mucho menor. $ Relojes o incluso una dependencia del Alcance.
Puede haber otras diferencias, pero esa es una buena lista para comenzar.
Entonces, la primera diferencia es bastante obvia: AngularJS
está escrito en JavaScript mientras que Angular.dart
está escrito en dardo.
Si bien Angular.dart
sigue los principios básicos de AngularJS
, parece ser un pequeño campo de juegos para que evolucionen las nuevas características. Supongo que el equipo central toma todas las enseñanzas de AngularJS e intenta implementar las cosas un poco mejor para la versión de Angular.dart
. Actualmente, parece que muchas cosas se implementaron por primera vez en la versión de Darle de Angular antes de que se transfirieran a AngularJS
. Por ejemplo, acaban de agregar una versión más liviana de ng-repeat
que finalmente debería terminar en AngularJS
.
Además, el equipo de Angular recientemente compartió algunas ideas sobre lo que se planea para Angular 2.0. Apuesto a que la mayoría de esas cosas aterrizarán primero en Angular.dart
antes de que aterricen en AngularJS
.