web-dev-qa-db-ja.com

Angular、React、Blaze(クライアント側Meteor)の設計上の大きな違いは何ですか?

私はAngular vs. React、vs Meteorの質問が何度も尋ねられるのを見てきました。流星側では、その質問に対する答えは必然的に流星の範囲がどのくらい大きいかの説明です( DDP、展開、すべてのサーバー側のもの、およびそれが提供するその他すべてのものがあります)。

この質問を、Blazeエンジンとそれらが多少重複するもの、特にクライアント側のコードの記述または構造化に関して追加の機能や機能を提供できるものだけに制限したいと思います。

  • それらは互いに補完し合うところはどこですか? (例: https://github.com/lvbreda/Meteor_angularjs テーブルに持ってくる)
  • 上記が特定の利点をもたらすと仮定すると、純粋な流星を使用する場合、どのようにそれを補償しますか?
  • angularは、MVCのクライアントでコードをかなり厳密に分離することを奨励しているため、MVVMパターンに従うために、流星のクライアントで適切なコードをどのように構成する必要がありますか?テンプレート、クライアントモジュール、モデル)
32
funkyeah

私が言うことができる限り、3つの異なる質問をしています。

それらは互いに補完し合うところはどこですか? (例: https://github.com/lvbreda/Meteor_angularjs テーブルに持ってくる)

AngularJSは、フロントエンド開発のためのさまざまな機能を提供するフルスタッククライアント側フレームワークです。

上記の標準的な流星の表には、次のものが含まれています。

  • テスト:Angularはクライアント側に完全なテストフレームワークを提供します
  • フォームの検証
  • ローカリゼーション
  • コンポーネント(例: http://angular-ui.github.io/

上記が特定の利点をもたらすと仮定すると、純粋な流星を使用する場合、どのようにそれを補償しますか?

純粋な流星を使用している場合は、jQueryなどの可能なほとんどすべてのクライアント側ライブラリを使用できます。または、フォーム検証のような手動でangularからいくつかの便利な関数をコーディングできます。

angularは、MVCのクライアントでコードをかなり厳密に分離することを奨励しているため、MVVMパターンに従うために、流星のクライアントで適切なコードをどのように構成する必要がありますか?テンプレート、クライアントモジュール、モデル)

コードを構造化するには多くの方法があります。 Meteorは、コードの編成についてそれほど意見を述べていません。ガイダンスとして http://docs.meteor.com/#structuringyourapp を使用できますが、実際のコーディング方法によって異なります。コードをフォルダー内の異なるファイルに分割したり、すべてを1つの大きなファイルにまとめたりすることが可能です。非常に小さなアプリの場合、すべてを1つのファイルに保存することを好みます。

コードを2つのフォルダーに分割したい:

  • クライアント側のもののためのフォルダー(ビューやアセットのようなサブフォルダーは時々素晴らしい選択です)
  • サーバー側のもののためのフォルダー

あなたが良い習慣を探しているなら、あなたは http://telesc.pe/ ソースコードも見ることができます: https://github.com/SachaG/Telescope

19
Bijan

Abigail Watsonは、MeteorクックブックでMeteorが他のMVCフレームワークとどのように関連しているかについての良い要約を書いています。

https://github.com/awatson1978/meteor-cookbook

[モデル、ビュー、コントローラ]セクションまでスクロールします。

6
Andrew Mao