CakePHP を使用したサーバー側 MVC アプリ開発の経験が数年あり、さらにバニラ PHP を使用した経験もあります。残念ながら、Mootools を使用して静的ページにスパイスを加えた経験はありますが、JS アプリについては同じことは言えません。
だから今、私はクライアント側のアプリ構築を研究しようとしていますが、これまでの成功はそれほど大きくありません. 私が触れた MVC は CakePHP だけなので、すべての JS MV* フレームワークはせいぜい理解できないようです。きれいな CakePHP と Mootools クラスのコードを書くことに慣れすぎて、JS コードの大きなブロックが無秩序に感じられるようになったことは、まったく役に立ちません。
私は、CakePHP を模倣して、主に学術的な使用のために、独自の単純な MVC のようなライブラリを作成しようとさえしました。言うまでもなく、私はそれで本当にどこにも行きませんでした。
自分の MVC を勉強して書いているときに気付いたことがいくつかあります。
- Js は非同期です。PHP は同期的であるため、CakePHP はそのように動作します。JS には、別の方法で実装する必要があることの無限のリストと、非同期のおかげで別の方法で実行できることの長いリストがあります。サーバー側 MVC (またはその CakePHP 実装) とクライアント側 MV* の最も重要な違いは何ですか?
- 私はまだクライアント側モデルの概念をよく理解していません。Cake では、データ検証とデータベース接続を処理します。一方、クライアントは安全でない環境であるため、クライアント側のモデルは基本的なデータ フィルタリング、事前検証、およびデフォルト値しか実行できません。ここで私は完全に間違っていますか?
- 一部のアプリには、対応するサーバーが必要です。サーバーもMVCにする必要がありますか?
- クライアント側の MV* では、複数のコントローラーを同時に持つことができるようです。用途があることはある程度理解できますが、現時点での私の知識は非常に少なく、「それは何の役に立つのですか?」よりも適切な質問を思いつくことさえできません。
また、 TodoMVCをダウンロードして、さまざまなフレームワークを調べようとしましたが、ほとんど成功しませんでした。それの主な問題は、それが単一ページ(アクションは異なるURLで発生しますが、レイアウトは同じままです)であり、実装が非常に異なるため、最適なフレームワークを見つけることは言うまでもなく、基本を理解することさえ困難です。私のため。また、サーバーとはまったく通信しません。これは、さまざまなフレームワークがどのように通信するかを確認したかったので、非常に残念です。
したがって、この質問に対する最適な答えは、Client-side JavaScript MV* For Dummies (サーバーサイド MVC の経験しかない)という本へのリンクです。これにより、通常の StackOverflow に加えて約 500 のインターネットを獲得できます。報酬。
私のとりとめのない質問のトピックに関する洞察(完全なリンク)に非常に感謝します。あなたには通常の +1 が与えられます。さらなるインセンティブとして、あなたのニックネームをポストイットに書いて、翌月まで私のモニターに保管することをお約束します。もちろん、最も役立つ回答をした人は承認され、さらに、ニックネームに沿って印刷する写真を提供して、私のモニターに添付することもできます.