NAME
HTML::Shakan::Doc.ja.pod - Japanese doc.
CONCEPT
I cannot write long document in English. If you want to read this document, please use Google translate or other stuff.
英語かくのがつらいので日本語でコンセプトをしるす。
Django の newforms みたいなライブラリが欲しい、というのが出発点でした。 Django をみていて、フォームの HTML を生成することができる validation ライブラリが欲しくなったのでした。
HTML::FormFu が存在することは前から知っていたのですが、「やたらとクラス数が多い」という点がまずひっかかりました。なぜフォームの生成/バリデーションのライブラリに Crypt::DESや Template-Toolkit や Locale::Maketext::Simple が必要なのか、と。軽量なライブラリ好きになっている自分としては、ちょっと許しがたい。また、ドキュメントが Catalyst 前提で、YAML をフォーム記述につかうのを前提にしている風なのがひっかかりました。YAML でフォーム記述なんてめんどくさい。そう思ってしまいました。
今回実装上のポイントとしたのは、「可読性の高いコードで書く」ということと「高速であること」そして「拡張容易であること」といったところです。おおむねこれらの条件は満たされているのではないかとおもいます。
Widgets というクラスにフォームの各フィールドの描画を分離することによって、見た目とフィールドの分離をおこなっています。これは Django を参考にしたやりかたです。