76

Angular.js については少し知っていますが、Dart と Angular.dart については独学で学びたいと思っています。とはいえ、この 2 つの違いは何なのか、少し興味があります。Angular.dart のチュートリアルでは、この 2 つを比較しないと具体的に述べています。両方を使用したことがある人は、違いが何であるかについての見通しを持っていますか?

4

3 に答える 3

96

更新 #2 (2016 年 8 月) Angular の Dart バージョンが Github の Dart チームによって維持されるようになりました: github の dart/angular2

更新: AngularDart プロジェクトは停止され、Angular2 に取って代わられました。Angular2 は Angular の最新版であり、Dart で動作します。

以下の元の回答は、AngularDart と AngularJS 1.x を比較しています。

AngularDart と AngularJS はどちらも Angular チームによって維持されています。JS 側から多くの知識を取り入れ、それを Dart に適用しました。また、多くのコードを取得して、Dart の世界に直接移植しました。

技術レベルでは、Angular のコアで:

  • 式言語は、2 つのバージョン間で互換性があります。AngularDart パーサーは、JS からの直接の移植として開始されましたが、独自に進化してきました。大きな違いは、Dart パーサーが Dart コード ジェネレーターを含む複数のバックエンドをサポートしていることです。

  • DIシステムは異なります。Dart ではクラス ベースですが、Javascript ではシンボル ベースです。

  • コンパイラは Dart バージョンで完全に書き直されました。これは、ディレクティブの動作が異なり、DOM を変更する「構造ディレクティブ」、「装飾ディレクティブ」、およびコンポーネントが区別されることを意味します。

  • ng-transclude は「ブラウザーに溶け込み」、標準のシャドウ DOM に置き換えられました。

  • ディレクティブ コントローラーはコンポーネントに統合されました

  • AngularDart のディレクティブは、注釈付きのクラスで宣言されます。リンク/コンパイル関数は適用関数に置き換えられます

  • AngularDart では、スコープは Dart ゾーンを介して自動的に消化され、scope.$apply の必要性がなくなりました。

  • AngularDart には、まだ AngularJS に戻っていない属性マップの概念があります。これは、ディレクティブが必要とする scope.$watches または Scope への依存性を大幅に減らす必要があることを意味します。

他にも違いがあるかもしれませんが、それはあなたが始めるための良いリストです.

于 2013-12-10T20:50:33.447 に答える