どのフレームワークが最適か。多彩なJavaScriptフレームワークで実現したTodoアプリ「TodoMVC」
TodoMVCはTodoアプリを多様なJavaScriptフレームワークで実現、比較できるソフトウェア。
TodoMVCはHTML/JavaScript製のフリーウェア(ソースコードは公開されている)。今はJavaScriptが隆盛とあって、Webサイト開発において大抵利用される。そんな中、どのJavaScriptフレームワークを使うべきか適切に検討しているだろうか。慣れだけ考えてjQueryに落ち着いてしまったりしていないだろうか。
もちろん慣れはとても大事な要素ではある。だが全ての開発が一つのJavaScriptフレームワークでまかなえる訳ではない。もっと様々なフレームワークを検討すべきだ。そんな時の目安になり得る、とても面白いプロジェクトがTodoMVCだ。
TodoMVCはTodoアプリで、Web上でタスクを入力して登録し、チェックボックスを付けて消化していくというシンプルなものになっている。変わっているのはそれを異なるフレームワークで多数実装しているということだ。SproutCore、Backbone.js、Spine.js、JavaScriptMVC、Sammy.js、YUILibrary、KnockoutJS、AngularJSとなっている。
実現できているものは変わらないが、そのやり方はフレームワークによって様々だ。フレームワークが高機能で、殆どコードを書かずにできてしまうものもあれば、シンプルであるために色々なコードを書く必要があるものもあるだろう。MVCに分かれてコードが追いやすいものもあれば、一つのファイルにシンプルに収まるものだってあるだろう。
フレームワークそれぞれの特性が分かれば、向き不向きが分かってくる。しかしそれぞれのフレームワークサイトに行ってもそれはよく分からない。TodoMVCはそれを比較して見せてくれるので、とても勉強になるソフトウェアだ。
MOONGIFTはこう見る
個人的に嫌いなのは、相手の要望を聞かずに自分たちの技術を押し付ける連中だ。特にSIerにそういう輩が多い。相手の土俵にあがって考えるか、自分たちができないと考えるなら素直に去るべきだ。相手を自分たちのフィールドに下ろしても、相手にとっては何の得にもならない。
そのためには日々、新しい技術に関して特性と向き不向きをきちんと把握しておくことだ。そうしなければいつまでも自分たちの得意分野(それが時代遅れであっても)にしがみついて、害を及ぼす存在になってしまう。企業でも個人でもそうならないように日々前進が必要だ。