第一回Wicket勉強会で話してきた
今月の1日に開催された第一回Wicket勉強会で先日リリースした予測コミュニティ「こうなる。」話してきました。
Wicket勉強会はid:t_yanoさんが主催で行われたJavaのWebフレームワークの一つであるApache Wicketについての勉強会です。
会場はXarts株式会社さんにお借りしました。面白そうなことをやっている会社だったので、時間があったら社員さんとお話がしてみたかったですけど残念。
「こうなる。」ではWicketを使っているので、実際に開発する上で困ったことなどについてを話しました。
以下は発表資料です。
Wicketはこうなる! 予測コミュニティ「こうなる。」のご紹介
発表で取り上げたWicketのURLの話題については以下で以前記事で書いているので、興味があったら参照してみてください。
- WicketのURLをcoolにする - public static void main
- RestartResponseExceptionでリダイレクトしない件 - public static void main
話してみての感想
こういうパブリックな技術系の勉強会で発表会をしたのは初めてだったので、LTだったのに結構長くなってしまったりと反省することは結構あるのですが、いい経験ができました。
課題としては一回ぐらいは会場を笑わせるということでしたが、うまく出来ていたでしょうか?
話してみて思ったことは、話す側はテンションが話しているうちにテンションが上がってくるので割と楽しく話せるのですが、逆に周りが見えなくなってきて突っ走りすぎてしまいがちになるかな、ということでした。
勉強会経由で「こうなる。」に興味を持ってもらった人も何人かいるようでうれしく思っています。
勉強会の発表のメモと感想
WicketとAjax(id:t_yano)
- 例のみんな大好きなサービスを150行で作るぞ
- Wicketはセッションでページの状態を保持する
- 全てメモリ上に持つわけではなく、最新のもの以外はセカンドレベルキャッシュに置かれバージョン管理される
- クラスタリングを行うと、セッションが同期されている間はキャッシュも同期されるが、サーバが落ちてしまうと同期されない→これはWicketの領域の問題ではない
- WicketのコンポーネントとAjax
- 課題
- エレメントの追加が苦手
- DOMのidと相性が悪い
- Wicketのバージョン1.4m3でTwitterもどきを作成
- wicket:removeタグで必要のないHTMLを表示しなくできる → ただのHTMLとしてファイルを見ることができる!
Wicketの説明としては非常にわかりやすかったです。
セカンドレベルキャッシュのあたりの話はほとんど理解していなかったので参考になりました。
会場から、「Swingの概念を意識して作ってるっぽいけど、EventListenerがないよね」という質問。内部的にはListenerを持っているらしくて、一部は公開されているらしいのでそれをいじることもできるようです。
Wicket as Meta-Framework(たけうち(chimera)さん)
ComponentResolverを使ったComponentの自動解決方法についての話が非常に面白かったです。
ただWicketの理念的にはどうなのよ?ということで若干宗教論争に。
コード書く量が減ってもそれが見通しが良いプログラムになるとは限らない、という発言が会場からあったのですが、Wicketを書いてるとなるほどなあ、と感じられました。
Wicketは拡張ポイントが多いということがわかったので、Wicketをいろいろいじってみたくなるプレゼンでした。
Wicketによる運用事例(gishiさん)
- 大学の技術部の方の発表
- 大学だと一回作って終わりじゃなくて、仕様変更が多い
- StrutsやJSFをつかって開発していたけど教育コストや変更要求に耐えられなくなった
- 特に大学生が開発に関わっていると結構な周期で人員が入れ替わるので大変
- id:mdgwさんからWicketを教えてもらって使ってみた。
- Wicketを使って幸せになりました
- 教育コストの削減
- 開発期間の削減
- 残業時間が130時間から60時間に!
Wicketを使っていると、リリース後に修正するのが非常に楽なのは感じていて、HTMLファイルやコンポーネント単位での分離が行われているので、ここを変えたらどこに影響がでるのかわからない!という状況がほとんど発生していません。