20

MeteorJS で Handlebars の代わりに AngularJS を使用することを検討しています。私は AngularJS に慣れていますが、そのままでは Meteor ではうまく動作しません。Handlebars は、MeteorJS で使用されるデフォルトのテンプレート エンジンです。

たとえば、AngularJS がハンドルバーよりも柔軟なフロントエンド コーディングを提供するかどうかなど、2 つの間のトレードオフを知りたいです。

私の質問は、Meteor とペアリングする場合、フロントエンド プログラミングの観点から、AngularJS で実行でき、Handlebars で実行できないことは何ですか?

(人々は双方向バインディングとデータ モデルの一部 b/c で AngularJS を愛していますが、Meteor-Handlebars もこれらを非常にうまく行っていることに注意してください)。

更新: Angular と Handlebars を比較する SO の別の質問と重複していると思われる場合は、この質問を閉じるために投票しないでください。Meteor は、「クライアント上のデータベース」アプローチにより、ハンドルバーに大きな力を加えました。

4

5 に答える 5

7

Angular と Meteor は組み合わせることができ、非常に優れた組み合わせです。Angular のテンプレート システムとその双方向バインディング (DOM から JS モデルへ) は、​​完全に機能し、Meteor コレクションとの同期を保つことができます。このように Angular と Meteor を組み合わせると、DOM とデータベースの同期が瞬時に行われます。これは非常に優れています。Angular はそれ自体でそれを行うことはできず、Meteor も (多かれ少なかれ退屈なイベント ハンドラーを記述せずに) 実行できません。

angular-meteor Meteor パッケージは、ほぼ ngMeteor の後継 (ngMeteor コード上に構築) であり、Meteor コレクションを Angular モデル、2 つのテンプレート システム、Meteor セッション変数などと統合します。

于 2014-07-18T13:20:51.893 に答える
6

TL;DR : Meteor は、パッケージ (jQuery、bootstrap、d3、underscore、stylus、less など) でフレームワークを強化するため、最もよく機能します。これらの同じパッケージは、Angular も強化します (まあ、一種の)。Angular はエンド ツー エンドのフレームワークであるため、Meteor のような別のエンド ツー エンドのフレームワークの上に Angular を統合しようとすると、頭痛の種になります。

Handlebars には、おそらく Angular でおなじみの非常によく似た式とバインディングがあります。しかし、テンプレート エンジンは似ていますが、大きく異なるのは残りのフレームワークです。

Angular は、内部ディレクティブ (ng-repeat、ng-form、ng-bind など) に大きく依存して、javascript (つまり、power) をマークアップに簡単に結び付けます。舞台裏にはたくさんの魔法があります。

Meteor は、pub/sub モデルと実際のデータ ストアへの接続に大きく依存しています。彼らの秘密のソースは、パッケージを簡単に追加できますが、パッケージを抽象化することにあります (handlebars はデフォルト パッケージの 1 つですが、その他には、bootstrap、accounts-ui、d3 などがあります)。

Meteor は非常に異なるイデオロギーに従い、フレームワークの設計に関して Angular とは異なる意見を持っています。私の意見では、プロジェクトはまだ比較的初期段階にありますが、Meteor の方が優れています。Meteor は、特にユーザー サポートを結び付ける必要があり、Twitter/Facebook/Google を使用したい場合に、プロトタイプをすばやく作成するのに非常に優れ ていることがわかります。

どちらかを選択したほうがよいでしょうが、サーバー側が苦手な場合は、API サーバーとして機能する非常に洗練された Meteor アプリを作成できます。

于 2013-11-13T20:11:48.227 に答える
3

一般的に言えば、AngularJS はバージョン 1.0 のマイルストーンを通過しており、Meteor がまだアルファ版ソフトウェアである間に、製品として使用する準備ができていると見なされています。その結果、Angular はより洗練され、ディレクティブ、モジュール、およびAngularUIのような豊富なサードパーティ ライブラリを備えています。

しかし、最先端のフレームワークを試してみたい場合は、非常に凝ったテンプレート作成を行う必要はなく、組み込みのデータベースが必要な場合は、Meteor を使用してください。

于 2013-02-16T18:14:07.990 に答える