MVCについて学ぶのは初めてです。
特に backbone.js のようなフロントエンド ライブラリを使用する場合に、バックエンドではなくフロントエンドでどのようなロジックを使用するかを分割して決定するためのヒューリスティック (プログラム的に話さない) があるかどうか疑問に思っています。
つまり、backbone.js のようなライブラリはデータを DOM 要素から分離するため、サーバー側で実行されていた洗練されたクライアント側のロジックを作成するのに役立ちます。
前もってありがとうジョーイ
MVCについて学ぶのは初めてです。
特に backbone.js のようなフロントエンド ライブラリを使用する場合に、バックエンドではなくフロントエンドでどのようなロジックを使用するかを分割して決定するためのヒューリスティック (プログラム的に話さない) があるかどうか疑問に思っています。
つまり、backbone.js のようなライブラリはデータを DOM 要素から分離するため、サーバー側で実行されていた洗練されたクライアント側のロジックを作成するのに役立ちます。
前もってありがとうジョーイ
モデル - ビュー - コントローラーを実行する「古典的な」方法は、サーバー上に 3 つすべてを配置することです。次に、HTML および一部の JS のビュー レイヤー出力がブラウザーによってレンダリングされます。
Rails はその好例です。
「新しいクールな」方法は、ブラウザーをメインのコンピューティング エンジンとして扱い、バックエンド サーバーがservicesAPI を介して提供することです。
この場合、モデル、ビュー、およびコントローラー ソフトウェアはすべてクライアント上で (Javascript または coffeescript として) 実行されます。Backbone は多くの場合、ブラウザ側のソリューションの一部ですが、spine、angularJS などの代替手段があります。
バックエンド サーバーでは、dbms と適切な API システムを実行します。Ruby/Rack で構築されている優れたフレームワークがいくつかあります。Daniel Doubrovkine による code.dblock.org の投稿を参照してください。ここには多くの選択肢があります。
クライアントでの MVC の利点
短所
選ぶ
それはあなた次第です。決定は、時間枠、リソース、経験、ニーズなどによって異なります。バックボーンなどを使用する必要はありません。そうすることはトレードオフです (上記を参照)。使用しない方が常に高速/簡単ですが、使用しない (または同様のもの) と目標を達成できない場合があります。
Rails だけで、またはアドオン ライブラリを使用した PHP やその他の MVC ソリューションから、優れた MVC アプリを構築できます。
プログラム以外の意味でヒューリスティックという言葉を使用していると思いますか?つまり、「経験則」に沿って何かを意味するためにそれを使用していますか?
経験則として:
結論は漠然としていますが、真実です。すべてはトレードオフであり、製品に必要なものを決定する必要があります。
最初に頭に浮かんだのは、セキュリティと検索の 2 つです。