質問: **クローズされました**。この質問は より焦点を絞る 必要があります。この質問では現在、回答を受け付けていません。 --- **この質問を改善したいですか?** この投稿を編集し、1つの問題に焦点を当てるように質問を更新してください。 5年前 にクローズされました。 この質問を改善する はじめまして。JavaScriptのフレームワークについて質問します。 AngularやEmberやBackboneなどのフレームワークがありますが、 みなさんはどういった理由・観点からフレームワークを選定しますか? アプリケーションの種別とニーズに応じて選ぶべきだと思うのですが、 例えばどんなときに、何のフレームワークを選べばよろしいのでしょうか?
回答: フレームワークとはMVW(MVWhaterver)のことだとして話をします。 流行り廃りが激しい環境なので、枯れているかという点より、今現在どの程度アクティブにメンテナンスされているかが最も重要です。Githubの最終コミットが3ヶ月以上前のものは基本的に避けています。 とはいえ、開発/運用期間中にメンテナンスが放棄されることもあるので、自分はリスクを避けるために一つのライブラリの役割が目的に対して単機能であり、単機能故に学習コストが低く、アプリ全体の設計としてモジュールがいつでも置き換えられるかどうかを重視しています。(これが理由で自分はリスク面でAngularを採用していません。が、これに関しては恐らく自分と異なる意見があるという点を付記しておきます) その上で、求められるパフォーマンスと生産性のバランス、あとはプロジェクトメンバーのスキルセットを考慮して考えます。スキルが有るメンバーがいるならReactを推していますが、あまりJavaScriptのスキルが高くないメンバーが含まれないなら時期尚早かもしれません。 * Backbone.js系に違和感がないならMarionette.js * 単純なデータバインドが欲しいなら Vue.js/Knockout.js * 資料の少なさを乗りきれて、ある程度規模が大きくパフォーマンスを要求するならReact * 疎結合なコンポーネントを大量に統合するならAngular 色々使ってきましたがここらへんが現実的に取りうる選択肢だと思います。 500行未満ならjQueryも選択肢になるでしょうが、最近はダメな設計への割れ窓になりがちなので使用を控えたいと思っています。