Ajaxを多用するWebアプリケーションのパターン


12

これまで、私はWebアプリケーションを開発するためのMVCパターンの大ファンでした。Webの場合、私は主にPHP(KohanaおよびCodeIgniterフレームワークを使用)およびRuby(RoR)で開発しました。

私のアプリケーションがAjax側で重くなると(単一ページのアプリなど)、MVCの非常に基本的な概念を裏切るしかないわけではないことに気付きました。Javascriptはほとんどの作業を行っています。ビューまたはその他のjs / jsonコードを要求するためだけにコントローラーを呼び出すことは間違っているようです。

すべてのルーティングジョブをコントローラーに保持するように努めた後、基本的にそれらを(つまり、フレームワークのPoV、ビューの一部から)Javascriptに分割しました。JSONを求める場合にはMVCの転覆は、より明白になります要求をしているJSコードがあるコントローラ。フレームワークのコントローラーは、単にモデルのデータのプロキシとして機能しているだけです-私が実際に求めているのは。

だから、私は何を調べるべきですか?

バックボーンとしてbackbone.jsとドキュメントベースのjson-spittingデータベース(couchDB)を使用するなど、純粋なjavascriptアプリケーションを考えていましたが、リレーショナルデータベースが大好きです。

別のオプションは次のとおりです。PHP/ ruby​​ / go / whatnotで「ルーティングモデル」を作成するだけです。それらはリクエストを分析し、dbを呼び出し、jsonを返します。

このアプローチは私には興味深いように見えますが、実質的な文書や学術的な分析がないため、飛躍を少し恐れています。

アイデア?


Socketstreamのようなものに移行したい。これは、リアルタイムのクライアントの重いアプリケーション向けに設計されています
-Raynos

2
変化を恐れないでください。リレーショナルデータベースには場所がありますが、プロジェクトでリレーショナルデータベースが必要ない場合は、使用しないでください。
beatgammit

回答:


1

学術的な分析がない場合は、自分で行ってください。次の小規模プロジェクトを試してみて、どのように気に入っているかを確認してください。Paul Grahamのエッセイを読んでください。Lispが一般的には使用されていなかったにもかかわらず、彼がスタートアップにLispを選んだ理由について。http://www.paulgraham.com/avg.html

MVC javascriptフレームワークはたくさんあります。主にjavascriptアプリケーションを作成する場合は、実行します。

Railsで安らかなAPIを構築するか、データベースの単なるラッパーであるフレームワークを使用すれば、リレーショナルデータベースを放棄する必要はありません。これがサーバーベースのロジックアプリケーションである場合、データベースを呼び出すようにAPIを呼び出すだけです。

さらに、この方法でアプリをビルドすると、オフラインサポートを非常に簡単に組み込むことができます。


次のプロジェクトでこれを試します。javascriptフレームワークについては、何を提案しますか?今のところ検討しているのはバックボーンだけです。
cbrandolino

@cbrandolinoバックボーンは、私がそれをいじらなければならなかった限られた時間から良く見えます。より小さなプロジェクトについては、sammyjs.orgを確認することをお勧めします。
セスアーチャーブラウン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.