2

以下を使用する Web アプリケーションの開発を開始します。

  1. Spring MVC フレームワーク
  2. 休止状態
  3. MySql または MongoDB (あるいは両方)
  4. ブラウザーで実行されるモバイル アプリ用の HTML5 (これは、実際の Web アプリの二次的な部分になります)

これまで、javascript MVC/MV* フレームワークを使用したことがありません。必要なときはいつでも、プレーンな jQuery やその他のライブラリを使用してきました。

Web アプリの要件:

  1. 通常ログインなど
  2. 分析、グラフなどを表示するダッシュボード。
  3. フォーム デザイン ツール - たとえば、ユーザーが新しい行を入力できる編集可能なフォームと、変更のライブ プレビューがそれに隣接するモバイルのような画面に反映される必要があります。モバイルビューでどのように見えるかを見てください。ユーザーは新しい行を追加、編集、および削除できます。つまり、インタラクティブなフォーム構築インターフェースになります。(これは、MV* ライブラリー/フレームワークが私を助けると思うところです。何と言いますか?それとも、jQuery がそのトリックを行うことができますか?)

HTML5 モバイル アプリの要件:

  1. ユーザーはブラウザからアプリにアクセスします。
  2. ネイティブ アプリのように見えるはずです (ただし、実際には HTML5 アプリになります)。
  3. 最大で 2 ~ 3 ページ ([次へ] ボタンを含む) と、入力用の単純なテキスト領域 (電子メール、電話番号など) と [送信] ボタンがあります。(jQuery モバイルを使用するのが最善の解決策でしょうか? それとも、MV* ライブラリーなど、HTML5 との相性が良く、作業が楽になるものを使用する必要があります。何を使用すればよいでしょうか?)

Backbone.js、Ember.js、KnockoutJS、AngularJS などのフレームワークとライブラリの配列に少し混乱しています。

誰かが私を案内してくれませんか。大変お世話になり、感謝しております。私は最高のフレームワークを期待しているわけではありません。上記の状況に「最高の」フレームワークが必要なだけです。:)

4

1 に答える 1

4

半年前、私はあなたの靴に座っていました。私は同じスタックを使用しており、同じ設計原則を持っていました。私は一緒に行きましたがAngularJs、これ以上幸せなことはありません:)。

私はこの一連のフレームワークを評価してきました:

  • ノックアウト JS
  • バックボーン JS
  • パブサブ
  • バットマンJS
  • サミーJS
  • スプラウトコア
  • JS MVC
  • アンギュラーJS

そして、私はそれらの条件を評価していました:

  • 複数のモデル?(同じページでスムーズに実行されている DOM の小さなチャンクを個別に処理するいくつかの個別のコントローラーを使用できますか)
  • UI とデータバインディング? (UI の変更はオブジェクトの状態に反映され、その逆も同様です)
  • 自動コンテンツ切り替え?#dashboard(または#postsフレームワークでサポートされているコンテンツ変更 ID に移動した場合)
  • テンプレート?(テンプレート化にサードパーティのライブラリを使用する必要はありません)
  • 異なるフレームワークとの統合? (jQueryのように)
  • HTML 5 ローカル ストレージをサポートしていますか? (ローカルストレージをサポートしていますか、それともフレームワークに統合されていますか)
  • 単体テストのサポート (フレームワークの性質により、テストが容易になりますか)

私のリストにあるほとんどのフレームワークは、これらすべての条件をサポートしているか、満たしていました。あるものが他のものよりも優れていることが証明されることを望んでいたので、それは私にとって驚くべきことでした. それらはすべてかなり近いことがわかったので、私の場合は、1つずつ試してみるしかありませんでした. いくつかのチュートリアルに従った後、AngularJs を使用することにしました。

正直に言うと、ほとんどすべてのフレームワークが役に立ちます。あなたにとって最も重要なことは、おそらくビューとモデルの宣言的なバインディングでしょう。選択したフレームワークのほとんどは、それをサポートします。

私と同じアプローチに従うことをお勧めします。そのうちの 3 つでシンプルなアプリを作成し、自分のコーディング スタイルに最も適したものを見つけてください。

于 2013-02-13T08:22:47.203 に答える