InfoQ

News

Raible氏、Webフレームワークの比較を再び議論

作者 Bryan Clauser, 翻訳者 沼田 暁子 投稿日 2007年12月5日 午前12時45分

コミュニティ
Java
トピック
Webフレームワーク
タグ
GWT,
Wicket,
Flex,
JBoss Seam,
Grails,
Struts

先日、Matt Raible氏は、ApacheConでJavaのWebフレームワークの比較に関するプレゼン (source)(1(PDF・英語), 2(PDF・英語)) を行った。これは、彼が数年前に行ったプレゼンの続きとなるものである。

2つのPDFで扱っているJavaのWebフレームワークのリストは以下の通りである。

新しい講演では、わずかに異なる技術のリストを対象としているが、これは開発環境の変化によるものである。

このプレゼンでは、リストに挙げたWebフレームワークを以下のような規準で対比している。

  • Ajaxのサポート:ビルトインで使いやすいか?

  • ブックマークできるか:ユーザはページをブックマークし、簡単にマークしたページに戻れるか?

  • バリデーション:どのくらい使いやすく、クライアントサイド(JavaScript)のバリデーションをサポートしているか?

  • テスタビリティ:コンテナ無しでのテストがどれだけ容易に行えるか?

  • コミュニティとサポート:質問に対して、すぐに(そして丁寧な)回答を得られるか?

Raible氏は、全てのWebフレームワークについて、短所はもちろん長所も見出だしている。StrutsとJSFが良く使われるフレームワークであることを表すいくつかの統計が示されたが、Raible氏は、求人市場で人気のある多くのWebフレームワークがあることを示している。

プロジェクトのために適切なWebフレームワークを選定することは開発者の責任であることに言及し、Raible氏はWebフレームワーク選択の際に考慮すべき重要な要素を挙げた。

  • どのようなタイプのアプリケーションを構築しようとしているか?

  • フルスタックはオプションか?

  • 技術的な特徴

予想通り、Raible氏のWebフレームワークのレビューは、活発な議論を引き起こした。Seamの創始者、Gavin King は次のような意見を述べた。

この(Webフレームワークの)リストについて私が最も興味深いと思うことは、純粋に、これらのフレームワーク間にどのくらいの差異があるかということです。2~3年前には、トップのWebフレームワークのどんなリストでも、たくさんある似たようなアクション・スタイル・MVCフレームワークとして、おそらく1つか2つのコンポーネント・スタイル・MVCのフレームワークとともに取り上げられたでしょう。

AdobeのJames Ward氏は、Raible氏のFlexに対する最初の評価に異議を唱え反論(source)した。

さて、我々はこれらの賛否両論について1日中議論することもできます。しかし、それは本当に、何を構築しようとしているかに拠るのです。私が最もおもしろいと思ったのは、リッチ・インターネット・アプリケーション(RIA)の構築に、これらのフレームワークがどう関係するかということです。このことは、非常にコンテンツ・セントリックなアプリケーションとRIAとの大きな相違を少し縮めるのに役立つでしょう。しかし、RIAとは何でしょう?私はRIAを定義(source)してみようとしました。
それらの特徴にもとづき、私は皆さんにもっと断定的に、RIAフレームワークとしてFlexがどのように比較されるかを話せるのです。

Raible氏は、全ての競争がWebフレームワーク界で起こっており、未来は明るいと述べた。このプレゼン中に含まれているフレームワークの半数が、彼の最初のプレゼンの中では話題の周辺になかったことを考えると、彼は正しい。

原文はこちらです:http://www.infoq.com/news/2007/11/raible-web

ブックマーク
digg+,
reddit+,
del.icio.us+,
dzone+,
Hatena

No comments

返信

ジャンル別一覧

ファイルシステムでHello World

この連載では"ファイルシステムの作り方"をご紹介します。第1回目の今回は簡単なイントロダクションと単純なHello Worldファイルシステムの作り方を説明します。次回以降で詳しい解説と本格的なファイルシステムの作り方をご紹介しようと思います。

Guice(ジュース)を早飲みしすぎていませんか?

あなたのチームが、既存アプリケーションを「シングルトンの入れ子」設計から依存性注入(DI)へ移行しようとしているなら、この論文に心引かれるでしょうが、DIへの移行は難しいことが分かっています。論文にはGoogleのJava DIコンテナ(Guice)の名を入れていますが、Javaや.NET、Python、Rubyなどにも当てはまります。

チームがキュービクルと引き換えにコミュニケーションスキルを得る手助けをせよ

アジャイルの「自己組織化チーム」のパラダイムでは、チームのメンバに新しいスキルが要求されます。この記事では、発展しつつあるチームの自己組織化を壊さずに、新たなスキルを伝えるためのいくつかの戦略を提案します。そして、新しいスキルを身につけるのに役立つ資料のありかを提示しています。

F#の土台を越えて - 非同期ワークフロー

今回の記事では、非同期ワークフローと呼ばれるワークフロー機能の面白い使用法を考察しますが、非同期ワークフローは.NETの非同期プログラミングモデルを単純化することを目的としています。

言語としてのアーキテクチャ: ストーリー

アーキテクチャは一般に、Word文書に主として見られるような極めて実体のない、ソフトウェアシステムの概念的な側面であるか、または完全に技術によって駆動されるものかのいずれかです。そのどちらも間違っています。では、どう対処すればよいでしょうか? この記事ではアイデアを説明します、そしてアプローチのキーポイントを要約します。

メタプログラミングを使ってRubyにプロパティを追加する

Werner Schuster氏が、簡単な例を示しながら、Javaのようなプロパティをメタプログラミングを使ってRubyに追加する方法を示します。

BlazeDSとAMFでWebとデスクトップのアプリケーションを構築する

現在のRIAアーキテクチャにおいて、クライアント/サーバーの通信は重要な位置を占めています。本稿では、James WardとShashank TiwariがアドビによるオープンソースのBlazeDSメッセージングサーバーの世界へ飛び込みます。

業務ソフトに手を加えずに暗号化を実現する~秘文の挑戦~

hibun

ウィルス対策ソフトや情報漏えい防止用のソフトは、いわば影の存在です。ユーザの操作性やGUIを工夫する以上に、いかに目立たない存在となるかにその技術を注ぎ込んでいます。ここでは日立ソフトが開発した「秘文」の事例を紹介します。