|
開発ツール/フレームワーク/アプリケーションサーバ。Javaシステム開発に欠かせない主なツールの使用状況について、@IT Java Solutionでは定期的に読者調査を実施している。Javaのプロフェッショナルは現在どのような開発環境を利用し、今後何に注目しているのか? その最新状況をレポートしよう。
■開発しているJavaアプリケーションの種類は?
初めに読者が現在Javaで開発しているアプリケーションの種類を尋ねたところ、全体の77%が「JSP/Servletによるサーバ・サイド・アプリケーション」を挙げており、Webシステムに強いJavaの特徴が確認された(図1)。ただしその一方でJSP/Servlet以外のアプリケーション開発率はいずれも3割未満にとどまっていることから、“オールマイティなシステム構築プラットフォーム”としてのJavaの理想像は、いまだ十分に確立されていない様子だ。
図1 Javaで開発しているアプリケーションの種類(複数回答 N=453) |
■エディタからIDEへ:Java開発スタイルの歴史的転換!?
では上記のようなJavaアプリケーションを、読者はどのような環境で構築しているのだろうか? まず読者が現在使用している開発ツールを聞いたところ、オープンソースの「Eclipse」が、今回調査でついにトップに立った(図2 青棒)。 Java開発ツール分野では、1年前に実施した第8回読者調査に至るまで、長らく「エディタ+JDK」主流の時代が続いてきた。しかしEclipseの急速な普及(ver.1.0登場から、まだ2年半にすぎない)により、今後は開発生産性の向上とともに、Java開発者人口のすそ野を広げる効果も期待できそうだ。
図2 Java開発ツールの使用状況(複数回答 N=453) |
■Eclipseが選ばれる理由は?
ところでJavaのIDE(統合開発環境)製品は以前から複数存在しているのに、なぜEclipseだけが短期間にこれだけ多くの支持を集められたのだろうか? その理由を知るべく、Java開発ツール選択のポイントを尋ねたところ、「ツール自体のパフォーマンス/動作の軽さ」に重点を置く読者が82%に上った(図3)。
Eclipseの使用メリットとしては、まず“オープンソースであること”が頭に浮かぶが、それは「NetBeans」にも当てはまる。そしてNetBeansになく、Eclipseにある特徴の1つが、SWTを使ったGUIによる“動作の軽快さ”だ。開発ツールはデベロッパが最も頻繁に使用するインターフェイスであるだけに、そのパフォーマンスが思考速度についていかないことは、開発生産性の低下に直結する。多くのIDEが訴求してきた“Pure Javaで書かれている”点へのこだわりが、かえってJavaにおけるIDE活用を遅らせていたのかもしれない。
図3 Java開発ツール選択時の重視点(複数回答 N=453) |
またEclipseの可能性は、IDEだけにとどまらない。間もなくリリース予定のEclipse 3.0では、“RCP(Rich Client Platform)”フレームワークが提供され、Eclipse Platform上で各種アプリケーションが構築可能になる(下記関連ニュース参照)。エンドユーザーが使用するアプリケーション分野では、IDE以上にGUIやパフォーマンスが重視されるだろう。Eclipse-SWTアプリケーションの成否は、今後のJava技術の適用領域拡大をかけた挑戦になりそうだ。
関連記事/ニュース
■フレームワークの使用状況は?
次に、Java開発フレームワークの使用状況を見てみよう。読者のかかわるプロジェクトで、現在使用しているフレームワークを尋ねたところ、オープンソースの「Struts」がトップに挙げられた(図4 緑棒)。 Strutsの使用率は1年前の前回調査から11ポイント上昇しており、Eclipseに次ぐ普及速度を示している。また読者が今後使用を予定/検討している製品では、ここでもStrutsがダントツの支持を得ているのに加えて、「Tapestry」「Turbine」といったほかのオープンソース製品への注目度も高まっているようだ(図4 黄棒)。
図4 Java開発時のフレームワーク製品使用状況(複数回答 N=453) |
関連記事/ニュース
■次に来るアプリケーション・サーバの波は?
最後にJ2EEシステムの要となる、アプリケーション・サーバ環境をチェックしておこう。現在の使用製品では、オープンソースのServlet/JSPサーバ「Tomcat」が、前回調査に続いてトップの座を維持した(図5 青棒)。一方、読者が今後使用を予定/検討している製品を見ると、オープンソースのJ2EEアプリケーション・サーバ「JBoss」が、Tomcatをかわして1位に挙げられている(図5 黄棒)。
JBossはこの1年間にJCPへの参加、MySQLやIONAとの提携、O/Rマッピングツール「Hibernate」のグループ化などの戦略的活動を進める一方、“POJO+AOP”フレームワークの提供など、技術的な先進性も発揮している。Tomcatと商用APサーバ群の間隙を縫ってどこまでシェアを伸ばせるか、今後の動向が気になる製品の1つであることは間違いない。
図5 Java開発時のアプリケーションサーバ製品使用状況(複数回答 N=453) |
関連記事/ニュース
- 製品紹介:JBoss 3
- ニュース:JBossとアスペクト指向プログラミングの密接な関係
■調査概要
- 調査方法:Java SolutionフォーラムからリンクしたWebアンケート
- 調査期間:2004年3月22日〜4月16日
- 有効回答数:453件
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
|
|