web-dev-qa-db-ja.com

BackboneJSとExpressJSについて混乱している

NodeJSアプリケーションを作成したいのですが、開発を容易にするためにインストールする必要のあるパッケージについて詳しく学んでいます。特にExpressJSとBackboneJSの2つのパッケージは、私を混乱させます。 2つの違いは何ですか?バックボーンはMVC構造を提供しますが、ExpressJSはビューとコントローラーも処理しませんか?これらの2つのパッケージを互いに組み合わせて使用​​するにはどうすればよいですか、それとも互いに組み合わせて使用​​する必要がありますか?

ありがとう!

40
egidra

バックボーンはフロントエンドフレームワークです。 Expressはバックエンドフレームワークです。

さらに明確にするために、バックエンドをサポートせずにBackbone.jsをスタンドアロンで実行できます(HTML、CSS、JavaScriptのみ)。ハッシュタグの変更によってHTMLテンプレートを読み込み、CookieまたはlocalStorageを介してデータを読み込んで保存する「ページ切り替え」を行うことができます。ただし、最終的には、アプリは、ユーザーの認証やデータベースからのデータの保存/復元などのためにバックエンドサービスと通信する必要があります。そこで、Express /node.jsを使用する必要があります。

BackboneなしでExpress(または別のバックエンド言語/フレームワーク)だけでこれらすべてを行うこともできますが、その場合、すべてのページはサーバーへの個別のリクエストになります(フロントエンドでカスタムを設定しない限り)。バックボーンは、すべてをまとめて事前にテンプレートを作成できるようにするため、バックエンドから要求する必要があるのはプレーンデータオブジェクトだけであり、基本的に1ページをロードするだけで済みます。

これは単純化しすぎですが、本質的にはそれだけです。

60
Mauvis Ledford

ASP.NET MVC、Rails、Sinatra、Djangoなどのサーバー側MVC開発に慣れている場合は、Expressの使用が直感的になります。

バックボーンは、ビューエンジン、パーシャルをレンダリングするための規則、およびそのようなものを含めるには至っていません。また、サーバー側ではあまり意味をなさないクライアント側のブラウザ履歴サポートなどの機能も含まれています。 Nodeを使用してサーバー側で技術的に使用することもできますが、Backboneは、クライアント側でシングルページインターフェイスアプリを構築することを目的としています。

11
Dave Ward

バックボーンは通常、クライアント側(ブラウザー)で使用され、Expressはサーバー側(NodeJS)で使用されます。

サーバーでバックボーンを使用する場合、Expressはこれらのいずれも提供しないため、ほとんどの場合モデル用です。

11
evilcelery

バックボーンはフロントエンドフレームワークです。それ以外の場合、expressはnode.jsに基づくバックエンドフレームワークです。

一般的なセットアップは、REST APIサーバーとしてのExpressと、フロントエンドフレームワークとしてのバックボーンです。

6
gaggina

Backbone.js、Angular.js、Ember.js =>クライアントサイドJavaScriptフレームワークは、Webアプリケーションのクライアントサイドを構築するためのビルディングブロックを提供することを意味します。 Node.jsは同じ種類で、V8 Chromeエンジンの上に構築されています。

Expressは、サーバー側の開発を容易にするためにNode.js上に構築されたフレームワークです。

0
Rubin bhandari