3日目ですよ。前日に引き続き @localdisk が担当させていただきます。
Laravel というフレームワークは欧米では人気があるんですが、ここ日本では新しもの好きが使用するという範囲に収まっておりまだまだ普及というにはほど遠いという現状です。
ただ、@HiroKws さんという強力なサポーターの存在もあって Laravel は PHP フレームワークの中で最も日本語の書籍が多いものの一つとなっています。なんと現時点で5冊。そしてもう1冊出る予定です。詳しい内容は 一日目 を読んでください。
そういうわけで、フレームワークの(一般への)普及を妨げる一番大きな障壁である「日本語での情報の少なさ」はある程度解消されており、あとは僕らが Web 上に情報を流していけばゆるやかにですが Laravel というフレームワークが広まっていくのではないかと考えています。
もうひとつ、フレームワーク等の技術の普及を加速させていく重要なものとして「強力なユーザーコミュニティ」というのがありますがこの部分はまだ未成熟です(一応 Facebook と Google+ にコミュニティがあります)。自分だけでどうにかなる問題でもありませんし(うまいこといけばいいなぁ…)と思う次第。
来年の Advent Calendar は盛況だといいなぁ…。
そんなわけで「日本語に翻訳された書籍」が情報として先行し、Web の情報が書籍のそれに比べてイマイチ少ないという逆転現象が起きているというのが Laravel の日本事情というわけです。で、このままだと中々でてこない情報というものがあります。それが、拡張(Package)です。
Laravel にはその機能を追加するためにパッケージという方法が用意されています。この機能を使用することによって、フレームワークに手をいれることなく機能を追加することができます。パッケージの導入は Composer に委ねておりユーザーは作成したパッケージを Github や Bitbucket にホスティングし Packagist に登録することによって、ユーザーがより手軽に利用できるよう配慮しています。いまいちピンとこない人は Rubygems を思い浮かべてください。それで大体あってます。
で、なんでパッケージの情報が書籍ではでてこないのかというと、パッケージのほとんどが個人で開発されており、その寿命は長いとは言えません。そのため、どうしても書籍で紹介するのがためらわれる分野なんですね。フレームワークのそれと比べて賞味期限(?)がすごく短いので陳腐化してしまうのが早く、1年後とかにその書籍のなかで紹介されているパッケージを使おうとしても開発が止まっているということが往々にしてありうるわけです。Ruby on Rails を使用している人のブログを見ると「大変だなぁ」と思うわけですが、他人事ではありません。かくいう僕も OpenPEAR というサイトに幾つか自作のライブラリを登録していますが、まったくメンテナンスしておりません。すいません。
Laravel のパッケージは色んな方がたくさん作っていましてそれを効率よく探すために Laravel のパッケージをまとめているサイトがあります。それが Laravel Packages Registry です。
この Laravel Package Registry は非常に便利で、拡張ごとに tag が付けられておりその拡張の役割が一目でわかるようになっています。そして Trust と Popularity という項目で信頼性や人気がわかる仕組みになっています。Trust はテストの有無、テストが fail してない、コミットが最近あったという項目で数値が増減します。Popularity はダウンロード数、スターの数等で数値を増減させているようです。この仕組みはとても気に入っています。サイトが軽くなればもっと良いのですが。
で、本日はその中から Ardent というパッケージを紹介したいと思います。
…あの、すいません、なんか調子に乗ってたくさん書いたので Ardent 明日でいいですか。あしたも僕なので。すいません。すいません。