File tree 1 file changed +4
-2
lines changed
1 file changed +4
-2
lines changed Original file line number Diff line number Diff line change @@ -12,11 +12,13 @@ order: 19
12
12
13
13
- Vue.js は、より柔軟で自己を主張しないライブラリと言えます。すべてにおいて Angular way を余儀なくされるのに対して、自分の好みのやり方でアプリを構築できます。本格的な SPA を作成せずとも、インターフェイス・レイヤーとしてページ内に軽度の機能実装を実現できるので、他のライブラリとの組み合わせを自由に選ぶ余地が生まれます。しかし、より多くのアーキテクチャ上の意思決定する責任があります。例えば、Vue.js のコアは、デフォルトでルーティングや ajax 機能が付属しておらず、そして通常は、外部モジュールバンドラを使用してアプリケーションを構築していると前提としています。これが、おそらく最も重要な違いと言えるでしょう。
14
14
15
- - Vue.js は、dirty check を行わないため優れたパフォーマンスを持ち、より容易に最適化できます。 Angular は、スコープに変更がある度、すべてのウォッチャを評価し直すため、ウォッチャが多く存在すると遅くなりがちです。そのうえ、いくつかのウォッチャのトリガが他のトリガを更新する場合、digest cycle は "安定化のため" に複数回実行しなければならない可能性があります。Angular の利用者は多くの場合 digest cycle を回避するために難解な技術に頼る必要があり、そしていくつかの状況では多数のウォッチャを伴うスコープを容易に最適化する方法は存在しません。Vue.js は非同期のキューイングによって透過性依存的追跡を監視するシステムを採用しているので、明らかな依存関係が無い限りすべての変更のトリガは独立して機能し、この問題に悩まされることはありません。唯一最適化のヒントとして `track-by` パラメータをリストの `v-for` の際に渡せます 。
15
+ - Angular はスコープの間で two-way バインディングを使用します。Vue もまた明示的に two-way バインディングをサポートしていますが、それはデフォルトで one-way で、親から子へのデータフローはコンポーネント間流れます。one-way バインディングを使用すると、大きなアプリケーションでは理由について、簡単にデータの流れを作ります 。
16
16
17
17
- Vue.js では、コンポーネントは独自の View とデータロジックを持つ自己完結型のユニットであり、その中でディレクティブはさまざまな DOM 操作のひも付け(カプセル化)を行うものとして、両者の役割を明確に分離しています。Angular では、両者の使い分けに多くの曖昧な点が存在しています。
18
18
19
- 興味深いことに、Vue で存在していないかなりの数の Angular 1 の問題は、Angular 2 でも設計上の決定によって対処されます。
19
+ - Vue.js は、dirty check を行わないため優れたパフォーマンスを持ち、より容易に最適化できます。Angular は、スコープに変更がある度、すべてのウォッチャを評価し直すため、ウォッチャが多く存在すると遅くなりがちです。そのうえ、いくつかのウォッチャのトリガが他のトリガを更新する場合、digest cycle は "安定化のため" に複数回実行しなければならない可能性があります。Angular の利用者は多くの場合 digest cycle を回避するために難解な技術に頼る必要があり、そしていくつかの状況では多数のウォッチャを伴うスコープを容易に最適化する方法は存在しません。Vue.js は非同期のキューイングによって透過性依存的追跡を監視するシステムを採用しているので、明らかな依存関係が無い限りすべての変更のトリガは独立して機能し、この問題に悩まされることはありません。唯一最適化のヒントとして `track-by` パラメータをリストの `v-for` の際に渡せます。
20
+
21
+ 興味深いことに、なんと Angular 2 にはかなりいくつかの類似点があり、そして、Vue はこれらの Angular 1 の問題に対処しています。
20
22
21
23
## React
22
24
You can’t perform that action at this time.
0 commit comments