『効率的なWebアプリケーションの作り方』――PHPerよ立て、立てよPHPer
効率的なWebアプリケーションの作り方 ~PHPによるモダン開発入門 小川雄大(著) 技術評論社 2012年5月 ISBN-10:4774150827 ISBN-13: 978-4774150826 2919円(税込) |
■中身が素晴らしいので、外見をdisる
最初に言っておこう。本書は、PHPでWebアプリケーションを開発する人間にとって、とても大きな価値を持つ本である。
今はただの「PHPer(ぺちぱー)」であっても、この本を読んで「Programmer」にステップアップする可能性は十分にある。だからこそ思う、もっと適切なタイトルがあったのではと。
■大事なのは「効率」ではなく「モダン」
本書は、PHPによるWeb開発を仕事にしていて、なおかつ
- MVCに沿ったクリーンなコード
- フレームワークを活用した開発スタイル
- オブジェクト指向の基本と応用
- Gitによるバージョン管理
といったトピックを完ぺきに実践できていない「PHPer」のための本である。サブタイトルである「モダン開発」にも入門できるし、「プロの現場」で起きていることも体験できるし、「最新PHPプログラミング」の動向も知ることができる。
だからこそ、だからこそ! 「効率的な」ではなく、サブタイトルの「モダン開発」の方を、強くアピールしてほしかった。
いわゆる「PHPer」に必要なのは「効率」ではなく「モダンな開発スタイルの知識と実践」なのだから。
■ところで、ぺちぱーとは
さっきから書いている「PHPer」という言葉は、PHPをメインに書いているプログラマのことである。類義語として、Rubyなら「Rubyist(ルビイスト)」、Pythonなら「Pythonista(パイソニスタ)」がある。
しかし、「PHPer」にはやや侮蔑的なニュアンスが混じっているようにも思える。PHPばかりを好み、他のプログラミング言語やアーキテクチャ、モダンな開発スタイルに興味を持たないPHPプログラマを「PHPer」と呼んでいる場面が多い。
私が最初に体験したWeb開発の現場でも、「クラスってよく分からないから使いたくないんだよね」というPHPerが、業界第3位(当時)のサービスの大部分を開発していた。ご想像のとおり、そびえ立つレガシーコードの山であった……。
本書が書かれた真の目的は、この文脈での「PHPer」たちが、職業人としての「Programmer」にステップアップする手助けをするためであろう。
■PHPerよ立て、立てよPHPer
本書は大きく「前半」と「後半」に分割できる。両者にはまったく違った価値があるので、別々に紹介していく。
●後半は「実践編」
いきなり、後半から紹介する。後半はSymfonyというPHP製Webアプリケーションフレームワークを使い、実際に稼働するWebアプリケーションを開発する、という紙上ハンズオンになっている。フレームワーク上で開発をした経験がない人、それぞれの会社で使われている「オレオレフレームワーク」でしか開発していない人には有益なカリキュラムだ。プロの現場での開発、現場におけるフレームワークの使われ方を体験できる。
特に「オレオレフレームワーク」上で生活している人は、ぜひ読むだけでなく手を動かしてみていただきたい。OSSとして世界中のユーザーに使われているフレームワークがどんな思想で作られ、どんな機能やポリシーを提供しているのか。「オレオレフレームワーク」しか知らない人には、貴重かつ重要な体験となるはずだ。
●前半は「理論編」
対する前半は、理論に関する内容が中心。PHPerには不足しがちな「モダン開発」に必要な知識を紹介している。そしてこの「理論編」にこそ、著者からPHPerに向けられた強いメッセージが込められている。
各章の見出しを見てみよう。
- Part1 MVC開発の基礎知識
- 1章 MVC開発の概要
- 2章 オブジェクト指向
- Part2 フレームワークを利用する利点
- 3章 レガシーコードの欠点
- 4章 リファクタリング・デザインパターン実践
- 5章 フレームワークを活用する
これだけの内容を、わずか100ページ弱に詰め込むなんて「無茶しやがって……」としか言えないのだが、典型的なPHPerでは、これらの概念に触れることすらないまま、仕事としてWebアプリケーションを作り続け、レガシーコードの山を高くし続けている事例が多く見られる。
そんな状況を打破し、1人でも多くのPHPerを一人前に育てよう、という意気込み。これこそが著者からPHPerへのメッセージなのだ。
■「パーフェクト」の血筋
本書の著者は小川雄大(@fivestr)氏。先日書評した『パーフェクトPHP』の著者の1人である。なるほど、「パーフェクトPHP」を読んで感じた「決意」のようなものが、本書からも感じ取れた。
先日開催された「Symfony勉強会 #6」では、小川氏のセッションがあったようだ。スライドが公開されていたので、こちらも一読をお勧めしたい。本書が書かれた理由が語られている。ご自身の苦労や失敗、そして学びの経緯は、まさに「PHPer」が「Programmer」になる過程そのものだった。
■「PHPer」がdisられないために
冒頭でちょっと触れた、「PHPer」という言葉のちょっとネガティブなニュアンスは、本書から学ぶことで打ち消していけるかもしれない。パーフェクトなPHPを書き、モダンな開発手法を身に付けた、disられないPHPerが増えることを願っている。
そして、主に他のプログラミング言語を使っているプログラマ諸君にも、特に前半「理論編」は一読をお勧めしたい。ちゃんとできてるか? 大丈夫か?
(『Wife Hacks ~仕事と家族とコミュニティと~』
コラムニスト kwappa)