React Native ~JavaScriptによるiOS/Androidアプリ開発の実践 がReact Nativeの勉強におすすめです
React Native の開発についてまとまった知識が得られる本です。
サンプルのソースコードもたくさんのっていますし、ストアやWebページのスクリーンショットなども丁寧に掲載されているので初心者でもわかりやすいです。
実際に参考のアプリを確認しながら、同じようなものを実装していくスタイルで進んでいくのでやっていることも明確にイメージできてよかったです。
TypeScript ・React Native の基本的な文法にも軽く触れていますし、言語の仕様やストアの設定の方法、おすすめのパッケージの導入・実装方法なども幅広く書かれています。 ですので、この1冊があれば、基本的な構築・ビルド・ストアでの公開など一通りできるようになります。
たくさん書いてある分ページ数も700ページ近くと、かなり厚い本です。 大きいだけあって内容も充実していますし、幅広くかつ必要なところはしっかり堀り下げられていますので、とてもわかりやすかったです。
React Native ~JavaScriptによるiOS/Androidアプリ開発の実践
概要
以下目次から各章のタイトルを抜粋したものです。
- React/React Native の概要とその背景
- TypeScriptとECMAScript2015 の基本を押さえる
- 開発環境の構築
- React Native の基本
- 作成するアプリケーションの仕様策定
- テストによる設計の質の向上
- Navigation の概要と実装
- Atomic Design とコンポーネントの実装
- データフローの設計および実装
- Firebase を使ったバックエンド連携
- E2Eを実装する
- アプリストアへの公開
前提
この本では前提として以下は学んでいるものとして書かれていますので注意しましょう。
- JavaScript
- HTML
- CSS
- Git
もちろんわからないことがあっても都度調べながらでも問題ありません。 ただ、Gitとかに全く触ったことがないという場合は少し難しいです。
あとはiOSアプリの開発もあるのでmacOS環境が想定されています。 WindowsでもAndroidアプリのみであれば開発できるので、その部分だけ注意すれば問題ないです。
環境構築
環境構築についても触れられています。基本的に React Native の環境構築は簡単なので、ドキュメント見るだけでも問題ないです。 この本では丁寧に説明されているので初心者でも安心です。
他にも JavaScript の基本的な構文や、TypeScript の書き方なども説明があります。全般 TypeScript を用いた形式になっているのも嬉しいところです。
品質
テストの設計方や実装方法、などについても書籍では触れられており、実際に一通りのテストの実装を行います。 スナップショットテストもあれば、EtoEテストもありますし、CIを用いた自動テストも書かれています。 構築に関することに止まらず品質に関する知識や技術も学ぶことができます。
実際の現場でも必要になるような知識がしっかり書かれているので、この辺りも飛ばさずにしっかり学んで欲しいです。
コンポーネント設計
コンポーネント設計としてよく取り入れられる「Atomic Design」についても実際のアプリの設計をしながら学ぶことができます。
もちろん常に Atomic Design を使うのが最善というわけではありません。 大まかな概念とか基本的な構造の1パターンとして把握して置けると、他の設計パターンやルールの把握も素早くできるようになります。
印象としては、Atomic Desgin を独自にカスタマイズした設計構造を取り入れている現場が多いです。基本的な語句については理解しておくといいです。
データの扱い
Redux について解説している章もあり、Navigation なども含めて、React Native を使う上で一通り必要な知識は得ることができます。 Redux の概念は難しいので初心者は挫折しがちなイメージです。理解できなかったらとりあえず先に進めるのでもいいです。 実装終わってから振り返って見た方が早く理解できることもあります。
Firebase を使ったバックエンド構築も簡単にですが書かれていますので、通信が必要な難しいアプリについての応用も方針ぐらいはわかります。
ストアでの公開
アプリ構築後のビルド、ストアへの公開もしっかりサポートされています。 終盤になってちょっと早足になっていますが、各ストアのスクリーンショットなども掲載されています。初めて触る方でもなんとかリリースまで進められるはずです。
各ストアのUIは頻繁に変わるので、古くなってしまう可能性もあります。 ただ、大きな概念としては参考になります。
各ストアのドキュメントも参考にすることで、ストアでの申請・リリースを正しく進められます。
ちょっと足りないところ
- デバッグツール React Native のデバッグ方法とかはもうちょっと詳しく書いてあるとよかったです。 基本的にエラーがコンソールに表示されますし、console.log でデバッグもできるので最初のうちはそれほど必要ないですが。
コンポーネントの描写の詳細や、Redux Store の状態など調べたいと思った時に各デバッグツールの詳しい使い方を知っていると心強いです。
- React について React の描写フローとか、概念についての解説が少ないないです。 詳しくわからなくても全然実装できるのですが、state の取扱とかで間違えた書き方をすると、思わぬ動作をしたりエラーになったりすることがあります。
その辺もサポートされているといいですが、流石にややこしいのでこの本に書き切るのは難しかったですかね。 公式のドキュメントで学ぶことができるので、わからない時にはそちらを確認するようにしましょう。
おわりに
React Native 関連の知識が幅広く書いてあるので、これから始めようという人にもおすすめですし、すでに始めている人でも得られる知識や技術が多いです。
本がとても厚いので途中で投げ出さないようにモチベーションを維持するのが重要です。なにか作りたいものを決めて取り組むとか、目標の日付を決めて取り組むとかしてしっかり読了して欲しいです。
読み切ることとしっかり内容を身につけることができれば、かなり React Native での開発は身についていると言えます。それくらい幅広くカバーされてます。
700ページなので、本で買うよりも電子書籍で買うのがおすすめです。 ソースコードのコピーとかもやりやすいですし、後から知りたい情報を読み返す時に検索ができるので便利でした。