共著者として参加していた書籍『React,Angular,Vue.js,React Nativeを使って学ぶ はじめてのフロントエンド開発』が、2018/5/9に技術評論社さまより発売となりました。
React、Angular、Vue.js、React Nativeを使って学ぶ はじめてのフロントエンド開発
- 作者: 原一浩,taisa,小松大輔,永井孝,池内孝啓,新井正貴,橋本安司,日野洋一郎
- 出版社/メーカー: 技術評論社
- 発売日: 2018/05/09
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
どんな本か
React、Angular、Vue.js、React Nativeそれぞれが、同じサーバのAPIを参照し、同様の機能を持ったアプリケーションとして作成します。React Nativeは、ネイティブアプリを開発するためのフレームワークなため、SPA(Single-page application)だけでなく、スマートフォンアプリ開発についても学習ができます。
つまり、同一のアプリケーションを、それぞれのフロントエンドフレームワークで作ると、作り方にどのような違いがあるのかということもわかる書籍となっているのです。
ちょっと言い過ぎかもしれませんが、JavaScriptフロントエンドフレームワークのロゼッタストーンと言えるかもしれません。(はじめに より)
本書ではReact、Angular、Vue.js、React Nativeそれぞれで、Slackライクなサンプルアプリケーションを作っていく流れを紹介しています。特定のフレームワークを深く掘り下げるのではなく、JavaScirpitフレームワークを用いた開発の流れや各フレームワークの特徴・違いなどをつかむことを目的としています。このなかのAngularの章を自分は担当しました。
またサンプルアプリケーションの実装に入る前準備として、JavaScriptの歴史背景・SPAに関する用語解説・環境構築・ECMAScript 2015・TypeScriptの解説もあります。最近のJavaScriptはよく知らないという方でも安心して進められる構成となっています。
React、Angular、Vue.jsという日本で人気のあるフレームワークをまとめて1つの書籍で取り上げるだけでなく、APIサーバとしてFirebaseを採用し、まだまだ進化がはやいReact Nativeも扱うというとても意欲的な1冊となっています!
こんな方におすすめ
本書は以下の方に向けて書かれています。
- jQueryは使えるけど、SPAの経験がない人
- JavaScriptの最新動向を押さえておきたい人
- JavaScriptフレームワークを比較検討したい人
本書は、React、Vue.js、Angularなどのフロントエンド系JavaScriptフレームワークを使用したいと考えているWeb制作者に向けて書きました。
もし、あなたが「今までjQueryなどで実装をしてきたけど、そろそろSPAでも」と考えているWebエンジニアもしくはWebデザイナーであれば、本書にピッタリな読者といえるでしょう。 (はじめに より)
SPAの勉強をはじめたい人や、どのフレームワークを選べばいいか悩んでいるという人がいれば、「これ読んでおいて」と言って渡す本としておすすめです。
書いたきっかけ
今回の企画には、ベースがありました。御徒町にて月1回、クローズド形式でひっそりと開催されているOkachi.jsという勉強会があります。以前、この勉強会でJavaScriptフレームワークの比較検討会が行われました。参加者がそれぞれ1つずつフレームワークを持ち寄り、プレゼンするという内容です。その企画が、紆余曲折を経て、この書籍へと結びついたという経緯があります。執筆陣もOkachi.jsへ参加している面々だったりします。(はじめに より)
「はじめに」にあるように2017年6月に開催されたOkachi.jsの内容がこの書籍のもとになっています。
また、JavaScriptの勉強をしたいけど「なにから始めればいいかわからない」「おすすめの書籍教えてください」という声を周りからよく聞いていたので、そういった方々のための本があればいいなと考えていたのも執筆に参加する動機となりました。
パンダの由来
「JavaScriptの本でなんでパンダ?」と思った方も多いと思うので、ここで由来を紹介しておきます。
というのが、パンダの由来となっています。
デザイナーの方にも手にとってもらいやすいイラストになったのではないかと思います。このパンダは本書のなかで色々なポーズをしているので、読み進めながらかわいい姿にぜひ癒されてください。
サポートリポジトリ
本書に登場するコードは、以下のリポジトリで公開しています。