Различия между угловыми.js и угловой.Дарт? [закрытый]


Я немного знаю об угловом.js, но я хочу научить себя Дарт и угловой.теперь Дарт. Хотя мне немного любопытно, в чем разница между ними. Угловатый.Дарт учебник конкретно говорит, что он не будет сравнивать два. Кто-нибудь, кто использовал оба, имеет представление о том, каковы различия?

3 65

3 ответа:

Обновление #2 (Aug ' 16) версия Dart Angular теперь поддерживается командой Dart на Github:dart / angular2 на github

обновление: проект AngularDart законсервирован и был заменен Angular2. Angular2-это самая последняя итерация Angular и работает в Dart.

исходный ответ ниже сравнивает AngularDart и AngularJS 1.x.

AngularDart и AngularJS оба поддерживаются Угловая команда. Мы взяли много знаний со стороны JS и применили их к Dart. Мы также взяли много кода и портировали его прямо в мир дротиков.

на техническом уровне, в основном угловых:

  • язык выражения совместим между двумя версиями. Парсер AngularDart начинался как прямой порт от JS, но развивался сам по себе. Большая разница заключается в том, что парсер Dart поддерживает несколько бэкэндов, включая генератор кода дротика.

  • система DI отличается. В Dart это класс, основанный на том, где в Javascript он основан на символе.

  • компилятор был полностью переписан в версии Dart. Это означает, что директивы ведут себя по-разному, и теперь существует различие между "структурными директивами", которые изменяют DOM, "декоративными директивами" и компонентами.

  • ng-transclude " расплавился браузер", замененный стандартным теневым DOM.

  • контроллеры директив были объединены в компоненты

  • директивы в AngularDart объявляются с аннотированным классом. функции link / compile заменяются функцией apply

  • в AngularDart, объем усвоен автоматически через зоны дротика, исключил потребность от объема.$применять.

  • AngularDart имеет a концепция атрибутивных карт, которая еще не вернулась к AngularJS. Это означает,что директивы должны иметь гораздо меньший объем.$часы или даже зависимость от области.

там могут быть и другие различия, но это хороший список, чтобы вы начали.

Итак, первое различие довольно очевидно:AngularJS написано на JavaScript тогда как Angular.dart написано в dart.

пока Angular.dart следует основным принципам AngularJS Это, кажется, немного площадка для новых функций, чтобы развиваться. Я думаю, что основная команда берет все уроки от AngularJS и пытается реализовать вещи немного лучше для Angular.dart версия. В настоящее время кажется, что куча вещей впервые реализована в версии Dart Angular прежде чем они вернутся в AngularJS. Например, они просто добавили более легкую версию ng-repeat который в конечном итоге должен закончиться в AngularJS.

также команда Angular недавно поделилась некоторыми соображениями о том, что планируется для Angular 2.0. Держу пари, что большинство из этих вещей сначала приземлится в Angular.dart прежде чем они приземляются в AngularJS.

01/2018 обновление

см. также в чем разница между Angular 2 TS и Angular 2 Dart?

08/2016 обновление

Angular 2 для JS и Dart теперь являются независимыми проектами и в какой-то степени будут расходиться.

на NgModule введено в TS RC.5, вероятно, не приземлится в Dart, а также модуль маршрутизатора, вероятно, не будет переведен напрямую. Эти изменения были необходимо в TS для ленивой загрузки. Dart имеет более легкую историю ленивой загрузки и не нуждается во многих изменениях, внесенных в Angular2 для TS.

обновление

С угловой 2 нет (почти) никаких различий больше, потому что угловой.дротик и угловой.js автоматически генерируются из одного и того же машинописного текста источник. http://techcrunch.com/2015/03/05/microsoft-and-google-collaborate-on-typescript-hell-has-not-frozen-over-yet/

Оригинал