Java の初心者向けに Wicket を教える機会を得ましたが、Wicket はそこまで大量に日本語情報があるわけではなく、Java 初心者が最初の Webアプリケーションとして触るのは辛いように思いました。
どのような順序で学習を進めればよいか、考えてみました。
考えた結果を以下に記載します。


前提

  • Javaの初心者のレベル
    Java の初心者のレベルは以下を想定しています。

    • Javaの入門書籍を1冊勉強した。基本的なJavaの構文の理解はできる。

    • デザインパターンはあまり知らない。

    • アプリケーションサーバーはあまり知らない。

    • RDBはあまり知らない。

  • 実行環境
    Windows 環境を想定しています。


Getting Started

Maven のインストール

Wicketで<wbr> HelloWorld ではまず Maven のインストールが必要になります。
以下手順を参考にインストールするのが良いかと思います。

Wicket で HelloWorld

Wicket で HelloWorld を行っている記事です。
まず記事の内容を実行して、ローカル環境で Wicket のWebアプリケーションを立ち上げましょう。

Wicket の HelloWorld で必要になる前提知識

Wicket の HelloWorld を進めるには以下の前提知識が必要になりますが、一旦こういうものがあるとして先に進めて、あとで深掘りすればいいかと思います。

  • Maven
    Java のパッケージ管理ツールです。

  • 依存ライブラリ
    wicket-core依存しているライブラリです。
    基本的に、それほど多く登場することはないかと思います。

    • hamcrest
      Junit で使用するアサーションライブラリ

    • junit-jupiter-engine
      プラットフォーム上で JUnit5 ベースのテストを実行するためのコンポーネント群。

    • junit-jupiter-params
      JUnit5 ベースのパラメータライズドなテストを書くためのコンポーネント群。

    • openjson
      JSON を扱う軽量ライブラリ。

    • jdk-serializable-functional
      シリアライズ可能な、java.util.function と同様のインターフェースを提供するライブラリ。

    • commons-lang3
      ユーティリティメソッドが集まったライブラリ。

    • assertj-core
      Junit で使用するアサーションライブラリ

  • Jetty
    Java でできた 組み込みWebサーバ + サーブレットコンテナです。
    Wicket はサンプルアプリケーションの起動に Jetty を使用しており、mvn jetty:run コマンドを頻繁に実行します。


日本語のハンズオン資料

wicket-sapporoハンズオン資料が Web上で公開されています。
Getting Started が完了したら、このハンズオン資料を最後まで進めるのが良いかと思いました。
wicket-sapporo/wicket_handson: Apache Wicket Hands-On Project for a Seminar


公式 Exapmple の確認と写経

日本語ハンズオンが完了したら、公式 Example の確認と写経をします。
写経は勉強時間として確保されている時間にも依存しますが、一旦進めてもlibrary - A simple application. までが Wicket の基本ライブラリのみで実施できるので良いかと思います。
library - A simple application. 以降は、Wicket の拡張ライブラリーの追加が必要になるので、必要になったタイミングで実施しましょう。
以下、Version 8x ~ Version6x の Example へのリンクになります。

Examples は 1回目 と 2回目 で手順を変えながら実施します。

1回目

Example ごとに Javaプロジェクトを分けつつ、ソースコードをコピー&ペーストして実行します。
Javaプロジェクトを作ること、なんとなく、コンポーネント、API の使い道を理解します。

2回目

以下、2点に着目しながらアプリケーションを修正、挙動を確認します。

  • Example に変更を加えて、どのような挙動になるのか確認する。故意に Exception を発生させてみてどのようなエラーになるのか確認する。
  • Wicket の 各コンポーネントの Java Doc を確認しながら、気になった API を実行、挙動を確認する。
    Documentation | Apache Wicket

日本語情報を確認する

それほど日本語情報は多くないとは言え、重要なポイントをまとめた日本語の情報は存在します。

Wicket-ja

Wicket の情報が Wiki 形式でまとめられています。
Wicket-ja Wiki - Wicket-ja - OSDN

Reference Guide の日本語訳

以下、Reference Guide の日本語訳が一部存在します。

最新版の Reference Guide が 29 章あるので、断片的ですが、基本的な部分と、キャッシュのバージョン管理など Wicket の特徴的な動きが抑えられている章の翻訳なので、動作を理解するのに重要な情報かと思います。

Introducing Apache Wicket の意訳文書

Introducing Apache WicketいうWicket の紹介記事の日本語訳です。
Introducing Apache Wicketの超意訳まとめ - Fight the Future
Wicket の動作の仕組みをざっくり知るのに良い文書だと思います。

カテゴリー Wicket でまとまった記事

以下、カテゴリー Wicket でまとまった記事があります。
逆引きで見つける場合もあるかと思いますが、正引きでまず情報を仕入れて置くと問題にぶつかった際に検索語句がすぐに浮かぶようになります。

書籍

日本語の書籍として過去に1冊だけ出版されています。
中古でしか手に入らず、値段も安くはないですが、日本語情報で Wicket の動作が記載されているので、長い期間メンテナンスをすることになった人は手に入れても損はないかと思います。


英語の情報を確認する

以下は、Wicket の英語情報へのリンク集です。
基本的に後は、業務を進めながらわからないこと、実装方法がわからないところを都度調べていけば良いかと思います。

日本語ドキュメントが少ないフレームワークやライブラリは日本語で見つからなかったら英語で検索する

Wicket に限らずですが、日本語情報が少ないフレームワークやライブラリは日本語で求める情報が見つからなかった場合は、検索語句を変更して英語で検索するようにしましょう。
日本語で求める情報が見つからない場合も、英語では見つかることが多いです。
例えば、Wicket ListView 使い<wbr>方求める情報が見つからない場合は、Wicket ListView usageWicket ListView exmpale検索しましょう。
検索語句は Google 翻訳で、日本語から英語に単語を翻訳するとそれっぽい検索語句が入手できます。
英語の記事も、Google 翻訳の英語から日本語に翻訳すると、だいたい何が書いてあるのか理解できます。

awesome-wicket の日本語訳

Wicket の学習の補助線の足しに、awesome-wicket翻訳を作成しました。
awesome-wicket からのリンク先は、英語のリソースで中級者/上級者向けですが、実業務でぶつかった課題を解決するライブラリや、
Wicket を使用しているオープンソースプロダクトのソースが実装方法の参考になるかもしれません。
awesome-wicket/README.ja.md at master · PhantomYdn/awesome-wicket

英語の情報

awesome-wicket には記載はありませんが、有益な英語の情報へのリンク集になります。


Wicket の最新情報を取得する

Wicket に限らず、フレームワーク、ライブラリの最新情報を追いかける場合、以下を実施しておくとだいたい追いかけることができます。


身近に知っている人がいれば、聞いてみる

2019年段階で、自主的にフレームワークを触ってそれが Wicket という人は少なく、参画プロジェクトや、勤めている企業で使っているのかと思います。
学習に行き詰まったら、身近にいる詳しそうな人に聞いてみましょう。
Google検索や、自分でExample を写経するよりも学習効率が良い場合があります。

以上です。

コメント