Interface First

RoR で有名な37signals。そこが出していたwebアプリ開発の指南書「Getting Real」が無料公開された(HTML版のみ)。
https://gettingreal.37signals.com/toc.php

いろいろと考えさせれれることがある良いエッセイである。

ここでは、Interface Firstのところについて。
https://gettingreal.37signals.com/ch09_Interface_First.php

ロジックのところのプログラミングからはじめるのではなくて、HTMLのデザイン関係からはじめよという。プログラミングの変更は手間なのでHTMLデザインを咲き決めようということと、ユーザが見るのはHTMLページなのだからそこが重要であって先に決めようということかな。

まったく同感な感じ。自分でもそう作ってるしね。PHPを使うと、超簡単なサイトなら、HTMLにPHPコード埋め込みで出来る。複雑なサイトになると、ロジックとビューがごっちゃになって、大変というのが問題ではあるが、個人的にはそんなに大きいのは作らないので。

それで、このエッセイ読んで個人的に気づいた。strutsの影響を受けてか、PHPにもフレームワークがいろいろあるが、いずれもどうも不満があった。何でだろうなと思っていたのだが、ロジックのところにあわせてビューを作るような構造になっているのが合わなかったのだろう。

ビューを書いて、ビュー間のアクションを経るフローを書いて、実際の処理はされないがモックとして動く用にまでする。そうして概要が固まったところで、アクションを書いていく。そういう流れがほしい。

それを行うには、フレームワークのビューのところをしっかりと作りこまなければいけない。smartyや他のテンプレートシステムを持ってきて、それでビューはOKというのじゃなくて、素のHTMLから作り始めて、さらにビューのロジックやフローを、アクション無しに先に作りこめるようになっていないといけない。