web-dev-qa-db-ja.com

Angular.jsとAngular.dartの違いは?

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

72
CorayThan

更新#2('16年8月)AngularのDartバージョンは、GithubのDartチームによって保守されています。 githubのDart/angular2

Update: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への依存関係がはるかに少ないことを意味します。

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

94
James deBoer

2018年1月1日更新

Angular 2 TSとAngular 2 Dart? の違いは何ですか?

2016年8月更新

Angular 2 for JSとDartは現在、独立したプロジェクトであり、ある程度分岐します。

たとえば、TS RC.5で導入されたNgModuleは、おそらくDartに上陸せず、ルーターモジュールもおそらく直接変換されません。これらは、遅延読み込みのためにTSで必要だった変更です。 Dartはより簡単な遅延ロードストーリーを備えており、Angular2 for TSで導入された多くの変更を必要としません。

更新

Angular 2では、Angular.DartとAngular.jsは同じTypeScriptソースから自動生成されるため、(ほとんど)違いはもうありません。 http://techcrunch.com/ 2015/03/05/Microsoft-and-google-collaborate-on-TypeScript-hell-has-not-frozen-over-yet /

オリジナル

この記事では、いくつかの違いをリストします。 ANGULARJS開発者向けのANGULARDART。最高の紹介ANGULARまだ。

15

したがって、最初の違いはかなり明白です。AngularJSはJavaScriptで記述され、Angular.DartはDartで記述されています。

Angular.DartAngularJSの基本原則に従いますが、新機能が進化するための遊び場のようです。コアチームは、AngularJSからのすべての学習を取り入れて、Angular.Dartバージョンの実装を少しだけ改善しようとしていると思います。現在、Angular=のDartバージョンで最初に実装されるものは、AngularJSにバックポートされる前です。たとえば、より軽量なバージョンのng-repeatは最終的にAngularJSになります。

また、Angularチームは最近、Angular 2.0の計画についての洞察を共有しました。それらのほとんどは最初にAngular.Dartに着くでしょう。 AngularJSに着陸します。

15
Christoph