FlashからJavaScriptへ
――今回、翔泳社が4月16日に発売した『ブレイクスルーJavaScript フロントエンドエンジニアとして越えるべき5つの壁―オブジェクト指向からシングルページアプリケーションまで』の編集を担当された関根さんに話を聞きます。まずは本書の企画意図を教えてください。
関根:これまで20年ほど本作りをしてきましたが、本書に繋がっている本として、Flashの解説書があります。ウェブのインターフェースを作るFlashはOSやブラウザに依存しないがゆえに広まりましたが、Flashがウェブから消えてしまって……その代わりに出てきたのがHTML5とJavaScriptです。時代の流れを感じますね。
AjaxやGoogle Mapsが出てきた頃からJavaScriptでいろいろなことができるという見方が増えてきました。そしてiOSとAndroidが出てきて、マルチデバイス対応のウェブ(ブラウザアプリ)を作るにはJavaScriptが便利だということになりました。環境が激しく変化する中で、求められるのはHTMLやJavaScriptのような自由度なのですね。そのため、学びたい言語ランキングで上位に来るようになったんです(※関連ニュース:新人ITエンジニアが学んでおくべきプログラミング言語の第1位は――)。
jQueryを使ってとりあえずそれっぽいスマホサイトを作れるようになりましたという人が増えました。そういう人たちはマークアップ言語をやってきているので、エンジニアリングをやるには敷居が高い。言語仕様を読んでもなんのこっちゃとなる。で、必ず壁にぶつかるというんです。それで本書を企画し、タイトルは「ブレイクスルー」になりました。
5つの「壁」をおいしいとこ取りして学べる
――本書の特徴はどういうところでしょうか。
関根:本書では5つの「壁」を設定し、それをブレイクスルーしていくという構成になっています。これまでのフロントエンドエンジニアは、極端に言えばプラグインなどを使って、JavaScriptの根本的な部分を知らなくても間に合っていた人が多いんですよ。ですが、現場ではそれだけでは対応しきれない問題がたくさんあります。
といって、JavaScriptの本を手に取っても、分厚くて挫折しちゃう。そういう人を救いたいという気持ちがあるんです。何百ページという本はもうありますし、読み通すのもたいへんですから、「壁」の部分だけを取り上げました。
類書には2013年にオライリー・ジャパンから出版された『開眼! JavaScript』があり、これがたいへん好評でした。本書はそれのおいしいところをいただいて、自分で手を動かしながら学べるという形にしました、ここだけの話ですが(笑)。
本書でもJavaScriptのライブラリをどのくらい使うかを考えたんですが、どんどん新しいものが出てくるんです。ですから、特定のフレームワークに依るよりは、ライブラリを使うときにそれらを理解できる本質的な力を養えるようにする、というのが本願です。
――具体的にはどういう人がターゲットなんでしょうか。
関根:JavaScriptの入門書は読んだことがある人、HTMLやCSSが好きな人、jQueryは使えるけれどプラグインでなんとか生き延びてきた人、要するに少し上のエンジニアを目指す人たちに読んでもらいたいですね。JavaScriptを使う中で「壁」にぶつかると思いますが、そのときにこそ。
ところで、西畑一馬さんの『Web制作の現場で使うjQueryデザイン入門』、通称ドーナツ本というすごく売れた本がありまして。うちでも「打倒ドーナツ本」で頑張っていましたが、なかなか……。しかし、この本を読み終えて、次を考えている人たちに関心を持ってもらえると嬉しいです。
――ほかの解説書と比較して、本書はどういう位置づけになりますか?
関根:まだまだjQueryを学びたいという人もたくさんいると思いますが、フロントエンドエンジニアにとっては脱jQueryが課題になりつつあるそうです。そこでいきなり一から百まで書いてあるJavaScriptの解説書で基本を学んだとしても、はたしてその知識が実際の案件で使えるかどうかということですよね。これが意外と難しい。「壁」にぶつかってしまいます。
本書で設定した壁――オブジェクト指向、UI・インタラクティブ表現、グラフィック表現、Ajax・API連携・データ検索、シングルページアプリケーション――は、いま最も関心の高い5つのテーマで、ぶつかる壁です。本書を読んでから、JavaScriptによるオブジェクト指向プログラミングの本や、Canvasによるグラフィック表現の本を読む、というのがおすすめです。いわば踏み台のような本ですね。
本の新しい価値は、バイキング形式でお届けすること
――JavaScriptの、特にライブラリのような、どんどん変化するものを本という形でパッケージングしようとするとき、ある程度の期間を設けて制作することにどういった価値を考えていますか?
関根:情報がまとまっていることが重要です。俯瞰的に見ることができるのが本のいいところですね。折衷案ではないですが、ページ数を抑えたのはスピーディに作りたかったからです。これをいわゆるごりごりの解説書にすると、いったい何年かかるのか分かりません(笑)。一定期間、普遍的な価値を保証し、なおかつ開発環境のスピードに対応して出版できる形というのが、本書なのかもしれません。いまはこういう形でないと作りにくいとも感じています。
コンテンツの消費にも変化が起きています。食事で例えると、いままでは幕の内弁当で、決まった場所に決まった量があって、それぞれを食べていく、という消費の仕方です。それが、「バイキング形式」になるのではないかと。つまり、食べたいものを食べたい分だけ取るという形になる。
本は幕の内弁当的に作られていますよね。ですが、これからはそれより小さいモジュールにして提供していく必要があるのかなと思っています。本書がまさにそうです、「これが知りたい」という部分だけ。加えて、言語の基本は検索すれば分かりますから、ネットにない情報をパッケージにして素早く出すということをやってみました。
――最後に、読者に向けて一言お願いします。
関根:プログラミングの入門書ではないので、入門的な解説はしていません。とはいえ、これからプログラミングをやりたい人なら本書を読んでから厚めの解説書を読んでもいいかもしれません。
本書を読めば……仕事と収入は増えるかもしれません。外に振らなければならなかった仕事を自分でできるようになりますし。レベルは確実に上がって、フロントエンド側からサーバーサイド側のこともできるようになるはずです。それで、エンジニアリングを面白いと思ってもらえればいいですね。