クライアントサイドは縛られないのが大事

JavaScriptラッパを使うべきか、JavaScriptフレームワークを使うべきか

過去に何度か書いているとおり個人的にはサーバーサイドにビジネスロジック+DBをもってクライアントとの通信にはJSONXMLをつかういわゆる3層式のRPC形式が一番だと思ってます。


そうなるとクライアントの形態は客の状況にあわせて自由に作るだけでよいということになります。重要視するのは予算なのか、開発スピードなのか、ランタイムを入れても良いのかなどを最初に決めるべきです(これは現状のWebアプリ開発のプロジェクトでもいえることだと思いますが、このへんはこの数年特に無視され続けてますね)。

クライアントはサーバー側よりもどうしても流行りとかに影響されやすいので状況に合わせて適切に選択できれば良いというwけです。

例えば、クライアントは社内LANだけということならばWin32ネイティブアプリとかでもいいのです。この場合開発効率や操作性の高いのを選ぶのが良いことが多いと思います。無理して開発効率が悪く、UIもわるいjavascriptベースで考える必要はまずないでしょう。これが一般的に公開されるアプリだとまた変わってきますし、BtoBとか社内の拠点間でのアクセスとなるとWebstartやapplet、ノータッチデプロイメントといったバージョン管理ができてなおかつUIがリッチなものが重要になってくるでしょう。


サーバー側はJAX-RSのように1つのサービスに対してJSONXMLを自動で作り出すのがいいですね。JSONだけとかXMLだけとかじゃなくどちらも対応できるやつで。


したがって、参照記事に対する回答は「案件しだい」となります。どちらに転んでもいいように両者とも勉強しておくのが良いと思う。社内用やBtoB用ならば、はるかにリッチなUIで開発効率も何倍も高いGWTを選択するのがいいと思うし、オープンなコンテンツならばデザイナと共同でjQueryを使うのがいいでしょう。

今後は狭く深い知識が必要なのは非常に減ってくるかもしれません。同じアプリをさまざまなクライアント環境で用意できる力があるかがポイントになるような気もします。

ただ、アプレットやWebStartにしてもそうですけど、オープンなコンテンツ以外で大量に使われていても
一般的なユーザーの目に留まらないので技術的なアピールが弱いような気がします。そこが逆にjQueryの強みかもしれないですね。逆に自分の得意分野が食われないことがわかっているからこそMSはjQueryをサポートしたとも考えられます。