フロントエンドの地獄

みせてやりますよ。本当の地獄ってやつをね。

【書評】2020年にReact Nativeを始めるときの決定版的技術書が出ます!

「React Native ~JavaScriptによるiOS/Androidアプリ開発の実践」の書評になります。

PDF版はこちらで先行発売開始していて、

gihyo.jp

紙の本は2020/5/20から販売の予定です。

買おうと思っていた本の献本を頂き、いち早く読ませていだだいたのでせっかくなのでブログにします!

どんな本?

React Nativeの基本・具体的なアプリ開発はもちろん、React Nativeで の開発に必要な TypeScript・React も1冊で解説。登場時からReactNativeを追い続けた著者陣が、 現場実践をふまえて伝授します。

という紹介文にふさわしい内容と、全680ページほどの圧倒的なコンテンツ量のReact Nativeの技術書です。

本書のターゲットについて、まえがきから引用します。

  • 初学者のために説明を書く
  • 現場のノウハウについても触れる

のように、前半は初心者向けで、今から始めようという方のためのコンテンツが、300ページ弱かけて(!)しっかり書かれています。

後半は仕様策定から現場のノウハウ的な内容まで幅広く詰め込まれています。

初心者にも安心して勧められる内容

前半の目次とコンテンツをざっくり紹介します!

  • 第1章 React / React Nativeの 概要とその背景
  • 第2章 TypeScriptとECMAScript 2015の基本を押さえる
  • 第3章 IDEの導入
    • VSCodeの導入 (私もPrettierとか無いと生きていけない体になっているので大事!)
    • React Nativeプロジェクトのセットアップ (Android Studioのセットアップとか意外とつまづくからありがたい🙏)
    • GitHubのセットアップ
  • 第4章 React Nativeの基本
    • デバッグメニュー (ググってもあんまり出てこなかったりするのと新しいと変わってたり)
    • 標準コンポーネントの紹介や使い方
    • アニメーション(hooksでアニメーション書くコツがあっていい!)

などなど、、、React.js・React Nativeの概要から、誕生のバックグラウンドから含めて非常に丁寧にかかれています。

ググって出てくる情報も、なんだかんだ2,3年経っていたりすると結構古かったりするので、特に初心者は最新の情報で学ぶのが大切だったりしますよね。

また、TypeScript標準で書かれているのが非常に好印象です。今の現場ではTSがデファクトになってきているため、初心者であってもはじめからTSでやっていたほうがむしろバグが未然に防げるのでいいと思っています。今までJavaScriptでしか書いていなかった人でも、TypeScriptの入門についても書かれているので安心して読み進められます。

中級者以上の方・すでに開発が進んでいる現場でも、参考になる内容

現場のノウハウについても触れる

とありますが、React Nativeを本番で長年取り組んでいるエンジニアの方々である著者陣が書いているだけあって、非常に実践的です☺️後半の書かれている各章について解説していきます。

第5章 作成するアプリケーションの仕様策定

リーンキャンバスやユースケースのまとめ、それを元にした「画面遷移を考える」章などもあって、仕様の作成の部分で助けられる内容も

第6章 テストによる設計の質の向上

テストの書き方は結構ググったらでてくるんですが、それをCircleCIを取り入れて、セットアップして継続的にすすめるという内容にも触れています。(私もテスト全然書けてないからやらなきゃ!笑)

第 7章 Navigationの概要と実装

react-navigationもv5出たの結構最近なんですが、しっかりv5で書かれているのいいですね!安心。v4からガラッと変わった部分もあるので。

また、Stackの解説など結構詳しく説明してくれているのありがたいです。特にWebのReact.jsからReact Nativeに入った私みたいな人間だとWebに無い概念なので結構つまづきやすいんですよね。

第8章 Atomic Designと コンポーネントの実装

ガッツリ1章書けてAtomic Designについて、またコンポーネントの責務・分離についても書かれています。Atomic Designはもはやどの現場でも標準的に採用されている枠組みなので、ほぼほぼ必須な概念だと思います。

もちろんどのレベルで採用するかは現場にもよるんですよね。粒度どうするとか、共通コンポーネントどうするか、ディレクトリ構成どうするかって。でも基礎的な部分は一緒で、かつ概念的な部分は知っておくべきなので、それをReact Nativeの実際のコードとともに解説してあり、なおかつテストについても触れています。

第9章 データフローの設計および実装

Reduxを元にしたデータフローの設計です。store,action,reducerの設計やmiddlewareの実装などなど、結構ガッツリ目に書いてます。

4章でContext APIについてはすでに解説していて、他の章ではContext APIの実装で解説を行なっています。使い分け・共存についてもサンプルと共に触れているのでHooks対応についてもしっかり学べます!

第10章 Firebaseを使った バックエンド連携

来ました。Firebase芸人の私大歓喜。

実際の組み込み方とデータの利用方法・サーバーとの連携について書かれています。Firebaseはいいぞ〜

第11章 E2Eを実践する

Detoxを実際に使ってどうE2Eテストやっていくか、これも意外とちゃんと全部調べて実践するとなると大変なんですよね。

Bitriseとの連携も書いてあるので、早速読みながら現場にとりいれていきたい・・・

第12章 アプリストアへの公開

ネイティブで書いてようとなんだろうと意外とハマりどころが多いストア公開。やはりみんな通る道なので困っても結構ググれば出てきますし十分な内容が書かれています。

まとめ

初心者に安心して勧められる網羅的に書かれた内容と、

中級者以上の方にも最新情報でタメになる内容が散りばめられていると思います!

600ページ超あってなかなかのボリュームですが、React Native入門はこれ一冊あればいい感がありますね。

いきなりの初心者の方はまずはJavaScriptについて学ぶ必要がありますので、書籍内でも勧めていますが「JS Primer」を読んでおくといいですよ!

Webで全部読めますが紙で読みたい方は、最近書籍化したみたいです。

JavaScript Primer 迷わないための入門書

JavaScript Primer 迷わないための入門書

以上です。

著者のみなさん、このボリュームの執筆非常に大変だったと思いますが、お疲れ様でした!