6

すべてのアプリはphpmvcであり、クライアント側の最上部に非常に単純なjsビヘイビアーレイヤーがあります。javascriptをさらに構造化し、単純な動作を実行するための「スニペット」の要求を停止したいと考えています(たとえば、さまざまなjqueryプラグインをあちこちにロードするなど)。javascript MVCフレームワークを使用せず、新しいアプリに最適なソリューションを検討しています。

最も魅力的な解決策の1つは、Twitterのように、サーバー側のレンダリングを維持することです。彼らはそれを「Hijax+サーバーサイドレンダリング」と呼んでいます。javascriptで本格的なMVCフレームワークを使用したくないのですが、ブログからのこれらの引用は非常に魅力的です。

契約により、コンポーネントは単一のDOMノードに接続し、委任を介してイベントをリッスンし、DOMでイベントを発生させ、それらのイベントはDOMイベントバブリングを介して他のコンポーネントにブロードキャストされます。[...]次に、すべてのコンポーネントはAMDを使用して定義されています。

私たちは独自の何かを構築しようとしていますが、JavaScriptの高度な専門知識がなければ、これを達成することはできません。jquery-pjaxのようなものは、非常に単純なケースにも適したソリューションのようです。

を探しています:

  1. XHRとDOMを大まかに結合するためのUI/データの分離
  2. イベントドリブンUI。開発者はあらゆる種類のDOMオブジェクトにリスナーをアタッチできます

このためのjavascriptフレームワークのようなものはありますか?pushStateますます注目されるようになり、何かが利用できるようになることを願っています。何か案は?

4

2 に答える 2

2

History.jsAmplifyjsをチェックアウトすることをお勧めします(いくつかのコンポーネントをまとめるための microjs もあるかもしれません)

于 2013-02-07T07:08:10.243 に答える
0

できる限りご質問にお答えいたします。そうは言っても、あなたの質問は非常に広く、非常に曖昧です。JavaScript ライブラリで探しているものを正確に伝えることができていません。あなたは、すべて複雑で、それぞれがクライアント側の開発で特定の目的をサーバーに提供するために存在するさまざまなトピックについて言及しました。これらの概念のすべてが実際に実装されている可能性がありますが、すべての問題を解決するための明確な答えはありません。

「UI/データ分離」の最初のポイントから始めます。この概念は、実際には関心の分離に関するものです。UI をデータとは別に存在させたい。ここで本当に求めているのは、HTML がデータ モデルの現在の状態を反映することです。また、これが自動的に行われるようにしたいと考えています。これは、MVC デザイン パターンを使用した非常に一般的なワークフローです。JavaScript にはいくつかのオプションがあります: Backbone.jsAngularJSEmberJS、そしてリストは続きます...

これらのさまざまなフレームワークのかなりの数を使用した私の個人的な経験では、柔軟で軽量な性質を持つ Backbonejs をお勧めします。Backbone には、データ モデルに直接関連付けることができる「ビュー」の概念があります。また、Routes メカニズムを通じて、希望する「pushSate」の概念もサポートします。

「イベント ドリブン UI」の部分は、さまざまな JavaScript ライブラリで処理できます。jQuery は、"あらゆる種類の dom 要素" にイベントをアタッチするためのおそらく最も人気のあるライブラリです。また、Backbone.js を使用すると、その View オブジェクトを使用して (イベント バブリングを通じて) イベント委任を簡単にセットアップできます。

要するに、JavaScript に構造を追加しようとしている場合は、それが何を望んでいるかによって異なります。簡単なことなら、手作りの jQuery を少し使えば十分です。成長する可能性がある、より MVC スタイルのアプリが本当に必要な場合は、Backbone のような MVC フレームワークが最適です。

于 2013-02-08T04:32:53.360 に答える