2013-11-15 51 views

回答

92

更新#2(八月'16)角的飛鏢版本現在由鏢隊保持在Github上:dart/angular2 on github

更新:AngularDart項目已被封存,並已被Angular2取代。 Angular2是Angular的最新版本,可在Dart中使用。

下面的原始答案比較了AngularDart和AngularJS 1.x.

AngularDart和AngularJS都由Angular團隊維護。我們從JS方面獲得了很多知識並將其應用到Dart。我們也採取了很多代碼並將其直接移植到Dart世界。

在技術層面上,在角的核心:

  • 表達式語言是兩個版本之間的兼容。 AngularDart解析器從JS開始是一個直接的端口,但它自己正在發展。 Dart分析器支持多個後端,包括Dart代碼生成器,這是一個很大的區別。

  • DI系統是不同的。在Dart中,它是基於類的,它在Javascript中是基於符號的。

  • 編譯器已在Dart版本中完全重寫。這意味着指令的行爲不同,現在在修改DOM,「裝飾指令」和組件的「結構指令」之間存在區別。

  • ng-transclude已經「融入瀏覽器」,被標準陰影DOM所取代。

  • 指令控制器已經被合併到組件

  • 指令在AngularDart聲明有註解的類。鏈接/編譯功能被替換爲應用功能

  • 在AngularDart中,範圍通過飛鏢區域自動消化,無需範圍$ apply。

  • AngularDart有一個屬性映射的概念,它還沒有回到AngularJS。這意味着指令應該需要更少的範圍。$ watch或甚至依賴於範圍。

可能還有其他的不同,但這是一個很好的清單,讓你開始。

+2

任何想法,當它將在一個可用的狀態?即使一些基本功能現在似乎丟失了,並且很興奮開始使用Dart :( –

+0

@SalmanPK AngularDart是可用的。你缺少哪些功能? –

+0

[ngModel](https:/ /github.com/angular/angular.dart/issues/131)和[ngForm](https://github.com/angular/angular.dart/issues/113) –

16

所以第一個區別很明顯:AngularJS是用JavaScript編寫的,而Angular.dart是用dart編寫的。

雖然Angular.dart遵循AngularJS的核心原則,但它似乎對於新功能的發展具有一定的作用。我想這個核心團隊從AngularJS那裏學到了所有的知識,並試圖爲Angular.dart版本實現稍微好一點的事情。目前看來,在Angular的Dart版本中,首先實現了一堆東西,然後它們被backport到AngularJS。例如,他們只是增加了一個更輕量級版本的ng-repeat,最終應該以AngularJS結束。

此外,Angular團隊最近分享了有關Angular 2.0計劃的一些見解。我敢打賭,大多數這些東西在登陸AngularJS之前將首先登陸Angular.dart

+1

這個陳述來自一個非常**高的觀點。 我知道這個問題可能不適合SO,但是Angular.dart的文檔並不多。 所以我希望能有一些更實質性的信息,比如 - 標記在哪裏不一樣(這應該不是很大程度上取決於語言語法(至少是最常見的構造來獲得想法)。 - 可用的標記構造在一個但不是在其他 恕我直言,這兩個產品是相關的,並由兩個團體開發的相互交談是有點薄。 –

+0

備份關於'操場'的觀點 - http://stackoverflow.com/a/21055757/3966682 – d4nyll

13

更新01/2018

又見What's the difference between Angular 2 TS and Angular 2 Dart?

更新08/2016

角2 JS和飛鏢現在是獨立的項目,並且將偏離到一定程度。

例如,TS RC.5中引入的NgModule可能不會落入Dart,而且路由器模塊可能不會直接轉換。 這些是TS中用於延遲加載所必需的更改。 Dart有一個更簡單的延遲加載故事,並且不需要Angular2中爲TS引入的許多更改。

更新

具有角2有(幾乎)沒有差異了,因爲Angular.dart和Angular.js是自動生成的來自相同源打字原稿。 http://techcrunch.com/2015/03/05/microsoft-and-google-collaborate-on-typescript-hell-has-not-frozen-over-yet/

原始

本文列出了幾個不同點:ANGULARDART FOR ANGULARJS DEVELOPERS. INTRODUCTION TO THE BEST ANGULAR YET.