Coding for Fun

ruby on railsを中心としたウェブ技術つれづれ日記

jQueryではなくExt JSを使うべきとき

WebにおけるJavascriptフレームワーク論争は終結した、そんな風に思っていた時期が私にもありました。黙ってjQueryを使っていればよいと。GitHubとかrailsコミュニティの様子を見ていると、そんな印象を受けます。Railsも3でprototypeを捨ててjQueryに移行したところですし。


でも、Ext JSを知らない私は未熟者でした。とりあえず公式サンプルのスクリーンショットを見てください。これ、ブラウザ内で動くサンプルアプリですよ?

f:id:eliya:20120430112913p:plain
http://dev.sencha.com/deploy/ext-4.1.0-gpl/examples/feed-viewer/feed-viewer.html

f:id:eliya:20120430112909p:plain
http://dev.sencha.com/deploy/ext-4.1.0-gpl/examples/desktop/desktop.html


それに引き替えjQueryのサンプルは「アプリ」ではありません。
f:id:eliya:20120430114322p:plain
http://jqueryui.com/demos/accordion/


この公式サンプルの差が2つの差を表しているとは思いますが、蛇足をすこし。

jQueryと比べたときのExt JSの利点

  • デザイン、グリッド、グラフ、その他諸々全部込み。つまり、jQueryで悩まされるプラグイン探し、互換性の確認、サポートの有無やプラグインのバグ、といったことから無縁。あと、デザインはjQuery UIのようにウィジェットだけじゃなくて、画面レイアウトも含めて全部込み。Ext JSだけでデスクトップみたいなユーザー体験が。
  • ちゃんとMVC。大規模アプリケーションでも、コーディングもメンテもテストもしやすい。
  • jQueryほどではないものの、コミュニティが大きい。企業のサポートもある。
  • javac#などと似ているので、JSに詳しくない人が入りやすい。
  • 業務のプログラミングをプロフェッショナルにやる感じがする。


jQueryと比べたときの欠点

  • ライセンスがきつい。お金を払う必要があるかも。
  • Googleで調べたときの情報量がjQueryには負ける。
  • デザインがもっさり。手頃なテンプレートもない。
  • 重いので、読み込みに時間がかかる。
  • MVC構造はJSのレイヤーが薄いときは邪魔。単純なことをしようとすると、jQueryよりずっとコード量が多い。デザイナーさんが作るとか無理無理。
  • かゆいところに手が届くようなプラグインの充実はない。
  • Web技術者では、jQueryに詳しい人のほうが多い。
  • ハッカー気分がなくなる。


デスクトップアプリケーションみたいなものを大規模に作りたいのならExt JSで、そうでもないならjQueryかな。