概要
IE8でも動作するJSフレームワークを検討しました。前提条件は以下です。
前提条件
- 悲しいことにIE8をサポートしなければならない
- JavaScriptフレームワークを導入することで開発コストが下がる
- IE8のサポートは2016年1月12日に終了するため、それまでの運用となる
Angular.js 1.2系
- フルスタックなフレームワーク
- ひな形を使うとアプリケーションを構築するまでの手間が少ない
- 他の業務で使用しているため、使い慣れている
- 1.3系はIE8をサポートしないため、2016年1月12日にIE8のサポートが終了するまでの一時的な使用となる
課題
- サポートがなくなる
- 2.0系のことも考えると様子を見たい気持ちもある
参考
Backbone.js
- IE7でも動作する。
- MVC
- APIたくさん使う時は活躍しそう
- Backbone.js ではじめるクライアントサイド MVC プログラミング
課題
- (IE対応を抜きにして)同じMVCならAngular.jsでの開発ができればスキルセット的には十分なのではないか=>IEのためにBackbone.jsを学習する意味はあるのか
参考
Knockout.js
- IE6でも動作する。
- Bindingに特化したフレームワーク
- 機能は少ないが、導入するのが容易
- jQueryだけでやるならKnockout.jsをいれたほうがよい、というレベル
課題
- Routerなど、フルスタックな機能がない
- Vue.jsよりもさらに自由度が高いので、設計が必要
- 2016/1以降に薄いフレームワークを使う時は、Knockout.jsではなくVue.jsを使う予定なので、IE対応でしか使うことがない
参考
React.js
-
こちらにあるPolyfillsを使用すればIE8にも対応可能。- =>React.jsをIE8に対応させるPolyfillsのひとつである、es5-shimのissueにより、React.jsをIE8に対応するのは現状不可能、または、大きなコストがかかる。
- JSXでComponent志向
- Not MVC But Flux
- 今後のためにも一度はやっておきたい
- React.js 実戦投入への道 - Qiita
参考
まとめ
結果、Angular.jsを使用するのが最もコストが低い、かつ効率的に開発ができると判断しました。ご意見お願い致します。