tutorial tour que language heroes example apps angularjs dart angular-dart

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

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 .