HTML5Canvasベースのアプリを開発しようとしています。このアプリは基本的に財務データの視覚化アプリであり、HTML5 Canvasで完全に実行されます。つまり、すべてのボタン、イベント処理、グラフはすべてHTML5Canvasで実行されます。
これまで、巨大なコードベースを管理するために2つのライブラリを使用してきました。
- 描画とイベント処理のためのjCottonは、jCottonに他の広範な機能を変更および追加する必要があり、非常にうまく機能しています。
- モジュール化のためのRequireJSも正常に機能しています
ただし、プロトタイプ段階であったため、適切なMVCフレームワークに投資しなかったため、関心の分離、つまりデータモデル、排他的ビューは、当時は概念実証プロジェクトであったため、適切に維持されませんでしたが、現在はコードをリファクタリングし、頑丈なMVCフレームワークを使用してコードベースをより適切に整理することを考えています。
今ここに私が直面している問題があります、私はどのフレームワークを選ぶべきかについて本当に混乱しています。Backbone、EmberJS、SpineJSなどがあります。どれもとても良いようです。しかし、私はそれらのいずれについても最適な決定を下すことができません。私はJSの専門家ではなく、JSをコーディングしてから1年しか経っていないので、これらの問題が発生しているもう1つの理由があります。
これらのフレームワークの多くは、私のプロジェクトでは不要なDOM操作に非常に重点を置いているようです。キャンバスでシーンを表すために、カスタムデータ構造があります。JSクライアントは、バックエンドサーバーとの通信とデータ受け渡しにカスタムxmlを使用します。私はしばらくの間バックボーンを掘っています。アプリはCanvas内で実行されるため、ルーターは役に立ちません。ただし、イベントベースのモデルはかなり魅力的なようです。
似たような状況に直面したことがあるかと思いますが、そのために何をしましたか。Backbone、EmberJSなどを使用する必要がありますか、それとも独自のミニマルなMVCフレームワークを設計する方がよいでしょうか。サードパーティのMV*フレームワークを使用することを提案した場合、どちらを選択すればよいですか?私が言ったように、私はそれが私のニーズに合うかどうかを確認するためにバックボーンを掘り下げてきました、私はこの特定のニッチの他のフレームワークについてもっと知りたいです。