うわー、それはかなり大雑把な投稿です。一度に 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 の他の誰か) よりもはるかに多くのことを知ることができます。