トップ OSS紹介 Apache Wicket

Apache Wicket

NRIのOpenStandiaが提供するApache Wicket最新情報

バージョンアップ情報

Apache Wicket情報

Apache Wicketとは

Apache Wicket(アパッチウィケット、以下Wicket)は、Javaで実装されたコンポーネントベースのWebアプリケーションフレームワークです。2005年6月にVer1.0が発表され、2007年6月にApacheのトップレベルプロジェクトになっています。

Wicketが一般的なWebアプリケーションフレームワークと大きく異なるのは、オブジェクト指向言語としてのJavaの特徴を最大限に活用した開発 ができることです。Wicketでは、ウェブページもその上に配置するラベルやテキストフィールド、リストボックスなどもすべてJavaのオブジェクトと して扱います。そして、それらを継承して拡張することができます。基本的に、設定ファイルはweb.xmlのみで、画面の作成はHTMLファイルのみを使 用します。JSPなども使用せず、デザインとロジックを分離した開発ができます。

主な特徴

JavaとHTMLによる開発

JavaとHTMLの知識を活用してWebアプリケーションを作成することができます。

デフォルトセキュリティ

URLでは機密情報を公開せず、すべてのコンポーネントパスはセッションにひも付きます。Wicketは明示的に公開する部分を除き、モデルをプライベートに保つことができます。

Ajaxコンポーネント

JavaScriptコードを1行も記載することなく、Ajaxアプリケーションを作成することが可能です。

コード保守性

Wicketのページとコンポーネントはカプセル化、継承、イベントをサポートする純粋なJavaオブジェクトです。CSS、JavaScriptなどのその他のリソースも再利用可能なパッケージとしてバンドルできます。

国際化

25を超える言語をサポートし、複数の言語に対応したアプリケーションを作成できます。

マルチタブ&マルチウィンドウ対応

Wicketでは、マルチタブやマルチウィンドウの状態を自動的に維持するストレージ機能を提供しており、煩わしさがありません。

JavaScript/CSSの統合

グローバルなJavaScriptライブラリやCSSは、ローカルのリソースと適切に統合されたカスタムコンポーネントライブラリを使用することができます。

ページ&コンポーネントテスト

ブラウザ内での実行や、コンテナを起動せずに、ページをテストすることができます。また、コンポーネントを直接テストしたり、レンダリングされたマークアップタグ、属性、コンテンツを確認したりすることができます。

インジェクションサポート

Wicketは、CDI(JSR-305)、SpringおよびGuiceと統合できます。

Java EE/Jakarta EEとの統合

Java EE6やそれ以降のWebプロファイル(JPA、EJB、Bean Validation、CDIなど)と、Wicketを統合することができます。

類似プロダクト

Webアプリケーションフレームワークという観点で言うと、同様のソフトウェアは多数あります。Javaで実装された代表的なものとして、SpringとStrutsが挙げられます。Java以外であれば、Django(Python)、Ruby on Rails(Ruby)、Laravel(PHP)、React(JavaScript)などが有名です。Wicketと概念的には似たJavaのフレームワークとしては、JavaServer FacesとTapestryが挙げられます。

WicketはXMLによる設定やアノテーションがなく、プレーンなJavaとHTMLやCSSで実装できるため、StrutsのようにXML過多 (「XML地獄」)になったり、Springのようにアノテーション過多(「アノテーション地獄」)になることはありません。基本的にJavaで全てを実 装するため、IDEのリファクタリングなどの機能が活用しやすく、デバッグもしやすい点がメリットと言えます。

Apache Wicketのライセンス

Apache Wicketのライセンスは、「Apacheライセンスバージョン2」(Apache License version2)というライセンスに基づいて公開され、営利、非営利を問わず、誰でも自由かつ無償で利用・改変・再配布できるようになっています。

オープンソース年間サポートサービス

OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。

お気軽にお問い合わせください

関連OSS

  • Spring Framework
    サポート対象

    Spring Framework

    スプリングフレームワーク。Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。

  • Apache Tomcat
    サポート対象

    Apache Tomcat

    アパッチトムキャット。JavaサーブレットやJSPを実行するためのソフトウェア

オープンソースに関する様々な課題、OpenStandiaがまるごと解決します。
下記コンテンツも
あわせてご確認ください。