特集

ASP.NET vs. Struts
フレームワーク徹底比較[前編]

山田 祥寛
2004/07/28

Page1 Page2 Page3 Page4

開発環境から見るASP.NETとStruts

 次に、開発言語と統合開発環境(IDE)といった観点から、ASP.NETとStrutsとを比べてみよう。統合開発環境の方は必ずしもフレームワークそのものではないが、統合開発環境がフレームワークによって提供される開発手法や開発プロセスを開発インターフェイスとして具現化したものであることを考えれば、統合開発環境とフレームワークとはやはり切っても切り離せない関係にあるといってよいだろう。

■開発言語の比較

 まず、ASP.NETでは開発言語の選択肢はVisual Basic .NET(以降、VB.NET)、C#、JScript .NET、J#と多岐にわたるが、統合開発環境は基本的にVisual Studio .NET(以降、VS.NET)に限られる。もちろん、ほかにもフリーの開発環境としてWeb Matrix(http://www.atmarkit.co.jp/fdotnet/webmatrix/index/)やサード・ベンダから提供されているBorland C#Builder for the Microsoft .NET Framework(http://www.borland.co.jp/csharpbuilder/)、SharpDevelop(http://www.icsharpcode.net/OpenSource/SD/)などもあるが、機能の充実度や普及度合い、実用度などを総合的にかんがみれば、事実上、.NETアプリケーションの標準的な開発環境はVS.NETであるといって間違いないだろう。

.NETの標準的な開発環境である「Visual Studio .NET」
画面は先ほど公開されたVisual Studio 2005ベータ1でWebアプリケーションを開発しているところ。

 VS.NETに関する詳細は、拙稿「ASP.NETで学ぶVisual Studio .NETの魅力」で詳説しているので、興味のある方は併せて参照いただきたい。

 一方、J2EEでは開発言語の選択肢はJavaに限定されるが、統合開発環境は多岐にわたる。現時点では、無償の開発環境として近年台頭してきたEclipse(http://www.eclipse.org/)や、アプリケーション・サーバとの親和性で高い人気を誇るIBMのWebSphere Studio(http://www-6.ibm.com/jp/software/websphere/studio/)などを利用するユーザーが多いかもしれないし、Struts開発に限定すれば、Scioworks Camino(http://www.10art-ni.co.jp/product/CoolVista/camino.html)なども挙げられるだろう。

J2EEの統合開発環境として近年台頭してきたEclipse
J2EEではこれといったスタンダードな製品は現時点で存在しないのが実情だが、Eclipseはオープンソースでありながら製品版統合開発環境と同等の充実した機能や、拡張が容易なプラグイン・アーキテクチャで人気がある。

 詰まるところ、J2EEではこれといったスタンダードな製品は現時点で存在しないのが実情だ。あるいは、特別な開発環境を用いずに、テキスト・エディタ+コマンド・プロンプトの環境で開発を行っている諸氏もいまだにかなりの数に上るかもしれない。

 以上を比較してみたとき、筆者の所感としては、開発言語の多寡については、いずれがより良いというものではないように思われる。というのも、現実問題として、ASP.NETがいかにさまざまな言語に対応していようとも、現場で採用されている言語の大部分は、結局のところ、VB.NETかC#、それに恐らくごくわずかにJScript.NETユーザーが加わるという程度であるからだ。1つの開発プロジェクト内で複数の言語が採用されるというケースは(恐らく)ほぼ皆無であるはずだし、(例えば)ほかのプロジェクトで作成したVB.NETコンポーネントをC#アプリケーションから参照するというケースも、コンポーネントの再利用率がさほどに多くない現状をかんがみれば、それほど多くはないと思われる。要は、門戸が広いこと自体は歓迎されるべきものであるが、技術としての良否を左右するポイントではないということだ。

■統合開発環境(IDE)の比較

 しかし、統合開発環境については、少なくとも執筆時点では、.NETがJ2EEに大きく水をあけているポイントの1つだろう。

 VS.NETでは、変化の多いフロントエンドを、Webアプリケーション、デスクトップ・アプリケーション、モバイル・アプリケーションを問わず、同一の感覚で、しかも、コントロールをフォーム・デザイナ上にドラッグ&ドロップするだけで簡単に構築することができる。

 この手軽さは、残念ながら、現時点でコード・エディタが中心となるJ2EE開発環境からは得られないものだ。逆に、.NET環境において、このような高機能な統合開発環境が当初から提供することができたのは、そもそも標準的なフレームワークが最初から備えられていたからであるにほかならない。

 もっとも、今後、次世代J2EEフレームワークであるJSFの普及とともに、J2EE用の統合開発環境も大きく進化することが予想される。

 例えば、先日、Sun Microsystems社から正式リリースされたSun Java Studio Creator(http://jp.sun.com/studio/)は、VS.NETを強く意識した製品だ。VS.NETと同様、GUIコンポーネントをマウスでドラッグ&ドロップしてユーザーインターフェイスを視覚的にデザインすることができる手軽さは、J2EEアプリケーションの開発生産性を大幅に向上させる可能性を持っている。

 しかし、筆者がEA(Early Access)版で確認した限りでは、(全体的なアプローチとしては興味深いものの)細かな使い勝手といった観点からは、まだVS.NETのこなれた操作性には届かずといった感覚であった。今後のバージョンアップに期待したい。

 続いては、各フレームワークの内部アーキテクチャを比較してみる。


 INDEX
  [特集]ASP.NET vs. Struts フレームワーク徹底比較[前編]
     1.フレームワークとは何か?
     2.実行環境から見るASP.NETとStruts
   3.開発環境から見るASP.NETとStruts
     4.フレームワークの内部構成
  [特集]ASP.NET vs. Struts フレームワーク徹底比較[後編]
     1.ユーザー・インターフェイス構築要素
     2.入力妥当性チェック機能/アプリケーションの構成ファイル
     3.セキュリティ管理/セッション管理/国際化機能
     4.キャッシング機能/テンプレート機能
 


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間