第一回Wicket勉強会で話してきた

今月の1日に開催された第一回Wicket勉強会で先日リリースした予測コミュニティ「こうなる。」話してきました。

Wicket勉強会はid:t_yanoさんが主催で行われたJavaのWebフレームワークの一つであるApache Wicketについての勉強会です。
会場はXarts株式会社さんにお借りしました。面白そうなことをやっている会社だったので、時間があったら社員さんとお話がしてみたかったですけど残念。
「こうなる。」ではWicketを使っているので、実際に開発する上で困ったことなどについてを話しました。
以下は発表資料です。
Wicketはこうなる! 予測コミュニティ「こうなる。」のご紹介

発表で取り上げたWicketのURLの話題については以下で以前記事で書いているので、興味があったら参照してみてください。

話してみての感想

こういうパブリックな技術系の勉強会で発表会をしたのは初めてだったので、LTだったのに結構長くなってしまったりと反省することは結構あるのですが、いい経験ができました。
課題としては一回ぐらいは会場を笑わせるということでしたが、うまく出来ていたでしょうか?
話してみて思ったことは、話す側はテンションが話しているうちにテンションが上がってくるので割と楽しく話せるのですが、逆に周りが見えなくなってきて突っ走りすぎてしまいがちになるかな、ということでした。
勉強会経由で「こうなる。」に興味を持ってもらった人も何人かいるようでうれしく思っています。

勉強会の発表のメモと感想

WicketAjaxid: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さん)
  • 大学の技術部の方の発表
  • 大学だと一回作って終わりじゃなくて、仕様変更が多い
  • StrutsJSFをつかって開発していたけど教育コストや変更要求に耐えられなくなった
  • 特に大学生が開発に関わっていると結構な周期で人員が入れ替わるので大変
  • id:mdgwさんからWicketを教えてもらって使ってみた。
  • Wicketを使って幸せになりました
    • 教育コストの削減
    • 開発期間の削減
    • 残業時間が130時間から60時間に!

Wicketを使っていると、リリース後に修正するのが非常に楽なのは感じていて、HTMLファイルやコンポーネント単位での分離が行われているので、ここを変えたらどこに影響がでるのかわからない!という状況がほとんど発生していません。

Scala on Wicketid:keisuke_n

scala自体があまりわかってないので、?となってしまいましたが、少しscalaを書いてみた感じだと、たしかにWicketとあわせて使えればもっと効率よく開発できるかもと思いました。

不動産広告系ASPサービスのWebアプリの事例(id:u1tnk
  • Wicketを採用した理由→前任者が暴走して採用→使っているうちに気に入る
  • セッションが大きくなりがちなので、WebLogicのDB保存機能を利用
  • 動的にアンケートフォームを作成する仕組みなど

wicket本について話すときに、id:t_yanoさんがナイスタイミングで電話に出たので笑ったw
実運用の辞令の話は参考になりました。
動的にアンケートフォームを作成する辺りはもっと細かく話が聞いてみたかったです。


全体的な感想

懇親会には参加者のほとんどの方が参加されていました。
懇親会ではわりとStrutsの素晴らしさ(笑)について話をしていた気がします。
Wicketに興味を持っている方の多さが感じられたので、Wicketがもっと普及していくことを願っています。
そういえば発表者はなぜか大学関係者が多かったですねw


話は変わりますが、メーリングリストで勉強会の話題になったときに関西の方が結構いらっしゃったので、もし近くに関西でもWicket勉強会が開催されるなら、是非参加したいです。