Webアプリ開発の全体像を知る
ゲームやSNS、ECサイトなど、いまやほとんどのアプリケーションやサービスがネットワークを介して使用するWebアプリ・サービスとなり、アプリケーションといえばスタンドアロンアプリ(デスクトップアプリ)という時代は終わりました。
Webアプリの開発は仕組みが複雑化し、フロントエンドとバックエンドの開発は分業が普通になっています。しかし、フロントエンドの開発をしている方は、バックエンドのことがよく分からない、ということがありませんか? 逆もまた然り。Webアプリ開発に携わる分業エンジニアにとって、他方は知らなくてもよいものなのでしょうか。
翔泳社が8月17日(月)に刊行した『絵で見てわかるWebアプリ開発の仕組み』は、Webアプリ開発を大きくフロントエンドとバックエンドに分け、その全体像を多数のイラストで描写した解説書です。本書の担当編集・小川は、Webアプリ開発者なら全体を把握しておくべきだといいます。それはいったいなぜでしょうか。
開発者としてキャリアアップするには、専門外の知識が不可欠
分業は、どんな分野でも作業を高速化する反面、同じ製品を作っているにもかかわらず、自分の担当領域外で何が行なわれているのか分からないという現実があります。また、ライブラリやフレームワークを使うことで作業の高速化・簡略化が図られますが、これもまた、いわば技術のブラックボックス化を促進する種になっています。
より効率を求めるなら、専門化や簡略化は避けられません。そうした環境では、開発者は、自分が作っているものがどういう仕組みで動くのか、どういうサービスを提供するのかという全体像を必ずしも知っておく必要もありません。自分は得意な領域だけで作業をすればいいからです。
しかし、もし開発者としてキャリアアップを目指すなら、そこで満足していてはとても夢叶わないのではないかという懸念が、本書制作のきっかけだったそうです。
Webアプリ開発の分業はもはや当たり前ですが、自分の関与しない領域がブラックボックス化していると、新しい技術が出てきたときにそれがどういうもので、どこで適用できるのかを理解できません。ただでさえ進歩の早い業界ですから、これは仕事をするうえで大きなリスクになります。
また、担当領域にこもっていると、自分が作りたいと思うようなWebアプリやサービスを、どうやって作ればいいのか想像がつきません。開発者として一つ上を目指すのであれば、自分の得意領域の仕事をこなしているだけでは難しいでしょう。Webアプリを企画、統括し、さらに目的の仕事ができる人材を探すには、どうしても全体像を知っておく必要があります。
そこで本書は、開発技術の基礎は分かっているけれど、専門領域以外ではあまり仕事をしない方に向けて、Webアプリの全体像を伝えることを目的としています。それは「絵で見てわかる」シリーズの特徴です。
特に現場で仕事を始めて1年目、2年目の方に読んでもらいたいです。実装のスキルを持っていても、まだまだWebアプリの全体像の把握ができていないという方ですね。基本的な知識として知っておいて、そのあと得意分野を洗練していくのがいいでしょう。
本書の著者陣7名は、フロントエンド、バックエンドそれぞれ得意分野を持つプロの方々。ですが、執筆を進める中、自分以外の著者が使用した専門用語の意味を尋ねることもあったそうです。
現場の知識とノウハウを解説
分業が当たり前とは言われつつ、一人の開発者が任される開発領域は否応なく広がりつつあるのが現実です。そもそもできる人がいなかったり、「やってよ」と言われてしまったりすることもあるとか。
そうしたとき窮地に陥らないようにするためにも、本書で知識をカバーしておくのが得策です。では、本書には具体的にどういった内容が書かれているのでしょうか。
目次
第1章 Webアプリとは
第2章 Webアプリの開発
第3章 バックエンド開発の環境構築
第4章 フロントエンド開発の環境構築
第5章 サーバーサイドプログラムの実装例(PHP編)
第6章 サーバーサイドプログラムの実装例(Node.js編)
第7章 クライアントサイドプログラムの実装例
第8章 運用管理
付録 ネットワーク基礎概論
本書の目次は3つのパートに分けることができます。第1章と第2章は、「Webアプリとは」という全体的な話です。スタンドアロンアプリとの違いなどですね。
第3章から第7章では、バックエンドとフロントエンドに分けて、開発環境や実装例を挙げて、どういった技術が使われていて、どう実装すればいいのかを解説しています。また、どんな考え方で処理をすればいいのかも書いていますね。
このパートが本書の中心ですので、もちろん具体的な開発環境やツールの紹介もしています。第5章と第6章ではいま主流のPHPとNode.jsを取り上げています。
最後の第8章で、Webアプリの運用管理について説明しています。Webアプリは作って納品して終わりとはいかず、長期間、運用というフェーズが必要になりますので、そこで考慮すべき点に触れています。
付録としてネットワーク基礎概論がありますが、Webアプリにはこうした知識が欠かせませんので、不安な方はここで補強してもらえればと思います。
本書は現場の1、2年生に読んでもらいたいので、なるべく現場寄りの知識やノウハウを解説するようにしています。Webについての一般的なことに終始せず、コードの実装例やエディターに触れていることが特徴といえますね。
基礎は一生役に立つ
本書で紹介しているツールやエディターはどんどん新しいものに入れ替わっていくかもしれませんが、例えば自動化ツールがあることや、テストツールが必要だという考え方、そもそもフロントエンドとバックエンドがあることなど、大きな枠組みはそうそう変わらないでしょう。
ですから、将来を見据えていまのうちからWebアプリ開発の基礎を知っておくことは、けっして損のないことです。もしかしたら今後、一人ですべてこなすフルスタックエンジニアが当たり前になる時代も来るかもしれません。いずれにせよ全体像を知り、ある程度両サイドの開発の仕組みが分かるようになっておけば、一生役に立つのは間違いないでしょう。
『絵で見てわかるWebアプリ開発の仕組み』は、目の前の問題を片付けてくれる実践的な解説書ではありませんが、長く戦っていくために必要な知識が書かれています。一度ちょっと立ち寄って、読んでみてもらえればと思います。
そして読んだあと、勉強したいこと、足りないこと、必要だと思うことを見つけて、より深く学んでいってもらえるといいのではないでしょうか。
本書のあとには、「10日でおぼえる」シリーズや「独習」シリーズなど、作りながら覚える解説書がおすすめです。