バージョンアップ情報
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
スプリングフレームワーク。Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。
-
サポート対象
Apache Tomcat
アパッチトムキャット。JavaサーブレットやJSPを実行するためのソフトウェア