rhacoの作者のtokushimaさんに誘われたので、rhaco Riaf Conference 1に行ってきました。(というか、rhacoさんとこへのリンクにfavicon付けるとカエルだらけになるねw)
なんか良い意味でユルくて楽しかったです。詳しい内容とかはsotarokさんとかが書いているのでそちらを観てね。↓
個人的に印象に残った事をツラツラと。
言葉にするのは難しい感覚なのですが、なんか色々勇気付けられました。自分ももうちょっと行動せんとなー。ハフハフ。
誘われたので行って来ました。rhaco勉強会。rhacoはphpのウェブフレームワーク、作者のrhacoさん曰く「ウェブフレームワークっていうのは正確には違う」との事ですが、php自体がウェブサイト構築言語としての比重が高いので、ウェブサイト構築という意味でのライブラリという感じかな。
rhacoを使って一通りの流れもやった事が無かったので(オイ)、今回は一からある程度の機能を使って表示させる所までを出来たので概要は理解する事ができたのでありがたかった。実際の内容は「rhaco.org – 初めての rhaco アプリ、その1」からのチュートリアルに沿って進めた感じ。
自分的にrhacoのウリは「コマンドラインいらね」「ライブラリ豊富」「テンプレートの継承」かなと。深い所までは全然理解していないので、便利な機能とかの説明は出来ないけど、「テンプレートの継承(extend)」というのがすごいすごいとは聞いていたのだが、多少凄さが伝わったのでメモを書いておく(概念説明に近いので役には立たぬ)。
大概のテンプレートエンジンと言われている物は開発、修正を楽にするためにファイル自体を細かく分割して管理するという「部品読み込み型」で枠となるページから部品をインクルードするのが多いと思う。
上記の例は、3ペインを横でブロックとして区切っているページの場合。frame_1.tplの「C」のブロックのみが違う新しいページを作るとすると、c.tplとframe_2.tplを新たに追加する必要がある。また、frame_1.tplはA,B,Cそれぞれのブロックファイルを用意しているのでファイル総数としては6ファイル用意する必要がある。ファイル名が「.php」じゃないのはテンプレートであるという意味で使ってます。
んで、rhacoのextendが出来るテンプレートの場合(Djangoリスペクトって事みたいだけど)。
上記のようにA,B,Cがすでに書かれているframe_1.tplをframe_2.tpl側で継承(extend)してあげて変更のあるブロックのみ記述すればOKという形になるみたいだ。変更があるブロックのみが入れ替わるのでA,Bなどはそのまま流用される。この形だと用意するファイルは2ファイルで済む。
A,Bに関してinludeファイルの部分を分割しているからそうなるんじゃないか?というご指摘もあるかと思うが(そのようにあえて作為的に書いていますw)、frame_1.tplからframe_2.tplを作る際に増えるファイルが1つであるというのはそれだけで利点があると思う。
また、多段継承できるらしいので元になるフレームを一個つくれば後は継承でブロックを入れ替える事が出来るのはデザイナーにとってもフレンドリーなテンプレート形式だと思う。
以上。間違ってたら指摘しておくれやす。
勉強会の後は同時開催されていたDjango-jaの勉強会の方々と恐れ多くも懇親会に参加させて頂いた(本当に場違いだったなぁ~俺)。Pythonの人にスゴイ人が多いってのは分かった。w