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?

Author: d4nyll, 2013-11-15

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.

 92
Author: James deBoer,
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.

 16
Author: Christoph,
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

Este artículo enumera varios diferencias: ANGULARDART PARA DESARROLLADORES DE ANGULARJS. INTRODUCCIÓN A LA MEJOR ANGULAR HASTA AHORA.

 14
Author: Günter Zöchbauer,
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