0

MVC フレームワークを使用して、Ruby on Rails でクイズ回答アプリを作成しました。純粋な JavaScript で基本的に同じことを行い、モバイル デバイスと特殊効果用の jQuery でさらに機能を追加したいと考えています。jQuery はそのように優れているからです。

フレームワークの比較のためにTodoMVCのようなサイトを見回しましたが、これらのフレームワークがどのように機能するかについてはよくわかりません。MVC 定義でCollectionはなく使用するのはなぜですか? Controllerこれらはクライアント側のフレームワークにすぎないように思えます。クライアント側の作業には Backbone.js のようなものを使用し、サーバー側の作業には Node.js を使用しますか?

純粋な JavaScript 関数を使用した開発がどのように機能するかについてはわかりません。クイズとユーザー情報を保存するデータベースを作成し、ほとんどのページを表示するときにそのデータベースにアクセスできるようにする必要があるため、MVC フレームワークが最適な方法だと感じています。

どこから始めればよいか、何か提案はありますか?

4

3 に答える 3

0

JavaScript MVCのようなフレームワークをお探しの場合は、Express.jshttp ://expressjs.comをご覧ください。

Express.jsはRailsよりもSinatraに似ていますが、サーバー側で優れた基盤を提供します。

于 2012-12-28T22:24:52.740 に答える
0

うわー、それはかなり大雑把な投稿です。一度に 1 つずつ取り上げてみましょう

MVC 定義で Controller ではなく Collection を使用するのはなぜですか?

正確な答えはライブラリによって異なりますが、単純な答えは、ほとんどの Javascript アプリのコントローラーはフレームワークを必要としないということです。それらは生の Javascript であり、通常はそれほど複雑ではないため、問題なく動作します。

さらに、「コントローラー」と見なされるパーツは、多くの場合、個別に提供されます。この主な例は、Backbone の Router オブジェクトです。これは、Rails の暗黙のルーティング (および routes.rb) や Django の urls.py に似ています。これらのフレームワークがルーティングを「コントローラー」の一部と見なさないのと同様に、バックボーン (および同様のフレームワーク) はルーティングを別の部分として提供します... MVC の C に該当する可能性がありますが。

同様に、jQuery が提供する DOM 操作機能の多くは通常、MVC アプリのコントローラーに属しているため、ある意味で jQuery はコントローラーの作成に役立ちます。Backbone.Model がモデルの構築に役立つ方法が明示されていないだけです。

クライアント側の作業には Backbone.js のようなものを使用し、サーバー側の作業には Node.js を使用しますか?

それは本当にリンゴとオレンジです。サーバー側の用語で言えば、Backbone は Rails に似ており、Node は Ruby (または Mongrel など) に似ています。ええ、一方はクライアント側で、もう一方はサーバー側ですが、違いはそれよりも深いものです。

どこから始めればよいか、何か提案はありますか?

フレームワークを選んで手を汚しましょう!真剣に、さまざまなフレームワークのレビューを読むのに何時間も費やしても、開始時よりも最終的に決定を下すことはできません (私は経験から話します)。しかし、1つだけ選んで試してみると、それがあなたと「ゲル化」するか、あまり速くないことに気付くでしょう.

個人的には、Backbone から始めることをお勧めします。理由は、A) 最近非常に人気があり、B) 私は偏見があります: 毎日使用し、気に入っているからです。また、CoffeeScript の担当者によって作成された (そして、CoffeeScript は Javascript をより Ruby に似せようとした彼の試みでした) ため、おそらくあなたにぴったりです。しかし、最近では Ember.js も非常に人気があり、Hector は ExpressJS について言及しました。

しかし重要なのは、1 つを選んで Hello World を実行するか、入門チュートリアルのようなもう少し複雑なものを作成することです (Backbone には To Do アプリに関するものがあります)。それを使用して数時間コーディングすると、それがあなたに適しているかどうかについて、私 (または Stack Overflow の他の誰か) よりもはるかに多くのことを知ることができます。

于 2012-12-28T23:37:20.127 に答える
0

私は間違いなくGoogle Closureを見ます。私は個人的なペット プロジェクトでLimeJsと一緒に使用し始めましたが、そのコンパイラとモジュール設計に本当に夢中になり ました。

これは実際には MVC ではありませが、JavaScript はより非同期的に考えるべきであるため、単純に要求、パイプライン、応答という方法ではなく、イベント駆動型と考える傾向があります。

そのため、クライアント側にはClosure LibraryjQuery / jQuery UI (両方ともGoogle API )、サーバー側にはExpressJsを使用します。また、こちらのフレームワーク比較表もご覧ください。興味深いかもしれません。

于 2012-12-29T00:12:29.580 に答える