Diferencias entre Angular.js y Angular.dart? [cerrado]
Sé un poco sobre Angular.js, pero quiero enseñarme a mí mismo Dardo y Angular.dart ahora. Sin embargo, tengo un poco de curiosidad sobre cuáles son las diferencias entre los dos. El Angular.dart tutorial específicamente dice que no va a comparar los dos. ¿Alguien que ha usado ambos tiene una perspectiva sobre cuáles son las diferencias?
3 answers
Actualización # 2 (Aug '16) Una versión de Dart de Angular ahora es mantenida por el equipo de Dart en Github: dart / angular2 en github
Actualización: El proyecto AngularDart está suspendido y ha sido reemplazado por Angular2. 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 ambos mantenidos por el equipo Angular. Hemos tomado un montón de conocimiento del lado JS y lo aplicó a Dart. También hemos tomado una gran cantidad de código y portado directamente al mundo Dart.
A nivel técnico, en el núcleo de Angular:
El lenguaje de expresión es compatible entre las dos versiones. El analizador de AngularDart comenzó como un puerto directo de JS, pero ha ido evolucionando por su cuenta. Una gran diferencia es que el analizador Dart soporta múltiples backends, incluyendo un código Dart generador.
El sistema DI es diferente. En Dart se basa en clases, mientras que en Javascript se basa 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 hay una distinción entre "directivas estructurales" que modifican el DOM, "directivas decorativas" y componentes.
Ng-transclude se ha "fundido en el navegador", reemplazado por la sombra estándar DOM.
-
Los controladores de directiva se han fusionado en componentes
-
Las directivas en AngularDart se declaran con una clase anotada. las funciones link / compile se sustituyen por una función apply
En AngularDart, el alcance se digiere automáticamente a través de zonas de dardos, eliminando la necesidad del alcance.$aplicar.
AngularDart tiene un concepto de mapas de atributos que aún no ha vuelto a AngularJS. Esto significa que las directivas deberían tener un alcance mucho menor.watches relojes o incluso una dependencia en el alcance.
Puede haber otras diferencias, pero esa es una buena lista para comenzar.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-08-16 21:29:03
Así que la primera diferencia es bastante obvia: AngularJS
está escrito en JavaScript mientras que Angular.dart
está escrito en dart.
Mientras que Angular.dart
sigue los principios básicos de AngularJS
parece ser un poco un patio de recreo para que las nuevas características evolucionen. Supongo que el equipo central toma todos los aprendizajes de AngularJS e intenta implementar las cosas un poco mejor para la versión Angular.dart
. Actualmente parece como si un montón de cosas se implementan por primera vez en la versión de dart de Angular antes de que lleguen puestos a AngularJS
. Por ejemplo, acaban de añadir una versión más ligera de ng-repeat
que eventualmente debería terminar en AngularJS
.
También el equipo de Angular compartió recientemente algunas ideas sobre lo que está planeado para Angular 2.0. Apuesto a que la mayoría de esas cosas aterrizarán primero en Angular.dart
antes de aterrizar en AngularJS
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-12-07 21:02:57
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 aterrizará en Dart y también el módulo del enrutador probablemente no se traducirá directamente.
Estos son cambios que fueron necesarios en TS para la carga lenta. Dart tiene un más fácil lazy loading story y no necesita muchos de los cambios introducidos en Angular2 para TS.
Update
Con Angular 2 ya no hay (casi) diferencias porque Angular.dardo y Angular.js se generan automáticamente a partir de 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 usa ngTransclude en su lugar.¿Cuál es la diferencia entre ng-app y data-ng-app?
Angular.dart parece no soportar otros prefijos como se discutió en la pregunta vinculada.Angular.dart no tiene equivalente a
ng-init
. (véase también GitHub issue-port: ng-init)-
Angular.dart no tiene directiva
ng-controller
(puerto: ngController)
en su lugar@NgController(selector:'[foo-controller]', publishAs:'foo')
se usa Angular.dart no admite
ng-repeat
con mapas (ng-repetir con un mapa que no funciona)Angular.dart no tiene
restrict
Tiene Angular.directiva dart un equivalente a AngularJS ' restringir`Misko Hevery el creador de AngularJS y miembro del equipo AngularDart respondió una pregunta similar aquí
Este artículo enumera varios diferencias: ANGULARDART PARA DESARROLLADORES DE ANGULARJS. INTRODUCCIÓN A LA MEJOR ANGULAR HASTA AHORA.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-25 17:36:30