Java の初心者向けに Wicket を教える機会を得ましたが、Wicket はそこまで大量に日本語情報があるわけではなく、Java 初心者が最初の Webアプリケーションとして触るのは辛いように思いました。
どのような順序で学習を進めればよいか、考えてみました。
考えた結果を以下に記載します。
前提
-
Javaの初心者のレベル
Java の初心者のレベルは以下を想定しています。-
Javaの入門書籍を1冊勉強した。基本的なJavaの構文の理解はできる。
-
デザインパターンはあまり知らない。
-
アプリケーションサーバーはあまり知らない。
-
RDBはあまり知らない。
-
-
実行環境
Windows 環境を想定しています。
Getting Started
Maven のインストール
Wicketで 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 へのリンクになります。
- 公式 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 の日本語訳が一部存在します。
- wicket_user_guide_jp/04.md at master · wicket-sapporo/wicket_user_guide_jp
- wicket_user_guide_jp/05.md at master · wicket-sapporo/wicket_user_guide_jp
- Apache Wikcet 7.x ユーザガイド7章邦訳+訳注 - Qiita
- Apache Wikcet 7.x ユーザガイド8章邦訳+訳注 - Qiita
- Apache Wikcet 7.x ユーザガイド9章邦訳+訳注 - Qiita
- Apache Wicket ベストプラクティス(日本語) - tyano’s Techlog
最新版の Reference Guide が 29 章あるので、断片的ですが、基本的な部分と、キャッシュのバージョン管理など Wicket の特徴的な動きが抑えられている章の翻訳なので、動作を理解するのに重要な情報かと思います。
Introducing Apache Wicket の意訳文書
Introducing Apache Wicket というWicket の紹介記事の日本語訳です。
Introducing Apache Wicketの超意訳まとめ - Fight the Future
Wicket の動作の仕組みをざっくり知るのに良い文書だと思います。
カテゴリー Wicket でまとまった記事
以下、カテゴリー Wicket でまとまった記事があります。
逆引きで見つける場合もあるかと思いますが、正引きでまず情報を仕入れて置くと問題にぶつかった際に検索語句がすぐに浮かぶようになります。
-
Wicket カテゴリーの記事一覧 - Oboe吹きプログラマの黙示録
個人のブログで、Wicket の記事を書いている方の Wicket カテゴリーの記事の一覧です。 -
Wicketに関する新着記事 - Qiita
Qiita の Wicket タグが付与された記事の一覧です。 -
Wicketに関連する質問一覧|teratail
teratail の Wicket タグが付与された記事の一覧です。
書籍
日本語の書籍として過去に1冊だけ出版されています。
中古でしか手に入らず、値段も安くはないですが、日本語情報で Wicket の動作が記載されているので、長い期間メンテナンスをすることになった人は手に入れても損はないかと思います。
英語の情報を確認する
以下は、Wicket の英語情報へのリンク集です。
基本的に後は、業務を進めながらわからないこと、実装方法がわからないところを都度調べていけば良いかと思います。
日本語ドキュメントが少ないフレームワークやライブラリは日本語で見つからなかったら英語で検索する
Wicket に限らずですが、日本語情報が少ないフレームワークやライブラリは日本語で求める情報が見つからなかった場合は、検索語句を変更して英語で検索するようにしましょう。
日本語で求める情報が見つからない場合も、英語では見つかることが多いです。
例えば、Wicket ListView 使い方
で求める情報が見つからない場合は、Wicket ListView usage
、Wicket ListView exmpale
で検索しましょう。
検索語句は Google 翻訳で、日本語から英語に単語を翻訳するとそれっぽい検索語句が入手できます。
英語の記事も、Google 翻訳の英語から日本語に翻訳すると、だいたい何が書いてあるのか理解できます。
awesome-wicket の日本語訳
Wicket の学習の補助線の足しに、awesome-wicket
の翻訳を作成しました。
awesome-wicket からのリンク先は、英語のリソースで中級者/上級者向けですが、実業務でぶつかった課題を解決するライブラリや、
Wicket を使用しているオープンソースプロダクトのソースが実装方法の参考になるかもしれません。
awesome-wicket/README.ja.md at master · PhantomYdn/awesome-wicket
英語の情報
awesome-wicket
には記載はありませんが、有益な英語の情報へのリンク集になります。
-
Newest ‘wicket’ Questions - Stack Overflow
Stack Overflow の Wicket タグのついた質問になります。 -
Wicket-user Home - MarkMail - Community libraries
Wicket の ユーザーメーリングリストの過去メールの検索ができます。
Google 検索でもヒットしますが、ノイズも多いので直接検索したい場合は上記から検索するのがいいかと思います。 -
wicket – Mkyong.com
Wicket の情報を検索すると良くヒットするブログです。
Wicket の最新情報を取得する
Wicket に限らず、フレームワーク、ライブラリの最新情報を追いかける場合、以下を実施しておくとだいたい追いかけることができます。
-
Google アラートで
Apache Wicket
をキーワード登録する
Google アラートで、Apache Wicket
をキーワード登録して、メールもしくは、RSS Feed で登録すると定期的にWebの情報を通知してくれます。
Googleアラートで定期的な情報収集を!マーケター必見です! | ビジネスチャットマスター -
Twitter で公式アカウントをフォローする
Twitter で Apache Wicket(@apache_wicket)さん | Twitter をフォローすると、定期的につぶやきをウォッチできます。
TwitterのRSSフィードを取得する方法 | よこのじ.work 等を参考に RSSにして購読してもいいかと思います。 -
Qiita の Wicket タグの RSS を購読する
https://qiita.com/tags/wicket/feed.atom で Wicket タグのついた新着投稿を、RSS で取得できます。 -
メーリングリストへの登録
Wicket のユーザーグループのメーリングリストへの購読申請をすれば、新しい投稿があった場合にメールを受け取ることができます。 -
RSSの購読はSlackが便利
Slack には RSS の連携機能があって、RSS購読ができます。
Twitter の連携機能もあるので、Slackに情報の集約ができるようになります。
SlackをRSS Readerとして使う - はしくれエンジニアもどきのメモ
身近に知っている人がいれば、聞いてみる
2019年段階で、自主的にフレームワークを触ってそれが Wicket という人は少なく、参画プロジェクトや、勤めている企業で使っているのかと思います。
学習に行き詰まったら、身近にいる詳しそうな人に聞いてみましょう。
Google検索や、自分でExample を写経するよりも学習効率が良い場合があります。
以上です。
コメント