React Nativeを始めるのにおすすめ書籍を紹介
2019年いくつかスマホアプリを作成しました。 すべてReactNativeを利用したクロスプラットフォームアプリです。app storeとgoogle play両方で配信しています。
他にも業務提携の形で、企業のアプリ開発のお手伝いをすることも有りました。チームでの開発も経験でき、自分の中にノウハウも蓄積されてきました。
約2年勉強しながら取り組んでみてたくさんの本から情報を取り入れました。今回はその中でおすすめだった本とその概要・注意点を紹介します。よりすぐりの5冊のみ紹介します。
プログラミング経験者でReactNativeに取り掛かろうという人も、プログラミング未経験でこれから始めようという人にもおすすめです。
React Native ~JavaScriptによるiOS/Androidアプリ開発の実践
概要
React Nativeを使ったクロスプラットフォームアプリ開発について、環境の用意から開発ビルド・ストアへのアップロードまで網羅的に説明されています。 発売されて間もないので情報も新しく、すぐに現場で取り入れることができるHOTな内容です。
エディタなどの準備からnpmを使った各パッケージのインストール。一通りの実装に加えて代表的なパッケージの紹介・導入も無いように含まれています。
初心者にもわかりやすく書かれていますし、経験者にも基本的な設計やツールの見直しとしてために成る情報が多いです。
TypeScriptやAtomicDesignも取り入れているので、その点でも参考になります。もちろん各専門の書籍を見たほうが情報は多いですが、この本は網羅的にチェックできるのでとてもおすすめです。
注意点
-
大ボリューム
700ページ近くあります。大きさが小さいので思ったよりも文字数は少ないです。それでもやはり読み進めるのに苦戦するでしょう。 その分、初心者も経験者にも参考になることが書いてあり、ReactNativeを使った開発について網羅的に書かれています。
-
Expoは利用しない
Expo使うと簡単にビルド等ができるので、個人的には初めての人にExpoを利用することをおすすめします。しかし、この本では使っていません。 初めての場合、各ストアへのアップロードやビルドで躓く可能性があります。その点は調べながら諦めずにがんばりましょう。
JavaScript Primer 迷わないための入門書
概要
JavaScriptについての入門書です。初心者にもわかりやすく書かれているのが特長で、かなり親切に説明されてます。
ECMAScript2015以降をベースとした解説になっており、新しい構文やルールなどについての言及も有ります。そのため現在進行形で発展しているJavaScriptの、新しい仕様なども把握しつつ学習できます。
プログラミングをやったことがない人にも演算子やデータ型の説明など、基礎の基礎についての説明が有るので入門に向いています。ブラウザでも実行できるので簡単に環境も用意できますので。
注意点
-
結構長い
500ページ近い結構大きい本です。基礎的な部分から説明が始まるので、その分容量も多くなっています。ある程度の経験があるなら飛ばしながら読むことが出来ます。逆に初心者であっても、しっかり読み込むことで言語の仕様を理解できるので、実践で役に立つ知識を得られることは間違いありません。
実際の現場でも、すべてをしっかり理解できている人は珍しいです。他にもプログラミング言語は有りますし、利用する言語すべてを暗記するのはとても大変です。 わからないときやどんな挙動するんだっけ?と疑問に思ったときに、この本を使って調べながら実装するのがおすすめです。
その時の引き出しとして使えるように、内容に目を通しておくのがおすすめの使い方です。
-
Webで見ることができる
もともとはWebサイトとして公開されているもので、最近書籍化されました。ですので、内容はWeb上で見ることが出来ます。 以下のURLです。
React Native入門
概要
React Nativeの入門書です。環境の用意の部分から丁寧に書かれていて、サンプルコードもダウンロードして利用できます。
基本的な開発から、コンポーネントやレイアウトの基礎知識、サンプルアプリの作成を作り切るところまで紹介されています。ソースコードもそれほど多くないので読みやすいです。
試しに使ってみる、アプリを動かしてみるというところから、実際に思いついたアプリを作れるようになるまでの知識が得られます。
注意点
-
サンプルコードが動かない
ReactNative自体のアップデートが頻繁に行われているため、サンプルコードに動作しない箇所があったりします。
エラーになることがあったので注意が必要です。「ReactNavigation」を始めとして、モジュールの場所の変更や実装方法の変更があるので注意しましよう。落ち着いてエラーの内容を確認しつつ該当する箇所の修正を行う必要があります。公式のドキュメントなんかも確認しましょう。 -
スマホにExpoクライアントをインストールするのがおすすめ
書籍ではExpo Snackというサービスを利用して、ブラウザ上で端末のエミュレータを動かしアプリを作成します。 簡単に利用できて便利ですが、無料ユーザーでは他ユーザーとサーバのリソースを共有しています。そのため、待ち時間が長くなるケースに多く出会い不便に感じました。
自分のスマホにExpoのクライアントアプリをインストールすることで、手元の端末を使ってアプリを試すことが出来ます。待ち時間が無いのでおすすめです。 -
アプリのビルド・ストアでの公開については情報なし
アプリをビルドする手順、ストアで公開する方法については触れられていません。
AppleやGoogleのストアのUIやフローは頻繁に更新されるのであまり書籍は参考にならないです。Webで公開されている公式の情報を参考に取り組みましょう。日本語でも用意されているので落ち着いて見れば問題なくできます。
開眼JavaScript
概要
JavaScriptのちょっと変わった言語仕様について紹介している本です。 おやっ?と思った所とか、よくわからずに使っていたところがまとめられているのでおすすめです。
他のプログラミング言語を使ったことがある人は、これを読むことでJavaScriptの特徴が把握できます。
注意点
初めてプログラミングする人にはちょっと難しいと感じる部分もあります。最初は飛ばしながら読んでみて、色々作れるようになってからもう一度読むと理解が進みます。
JavaScriptの特徴的な部分や理解の難しい動作を解説されているので、JavaScriptを使っていくのであれば一度読んでおくといい本です。 この本に書いてあることが理解できたら使いこなせたようなものです。
Atomic Design
概要
UI設計の手法である「Atomic Design」についての本です。 ざっくり言うと小さなコンポーネントを原子として見立てて、それの組み合わせで分子や有機体を作って設計していく手法です。
意外とソースコードが多めです。ReactNativeではありませんが、全編Reactを使ったWebのソースコードなので参考にできます。
アプリを作っているうちに、コンポーネント設計のお手本や参考が欲しくなる時もあります。一人で作っていてこれでいいのかなと思ったらこの本を参考にするのがおすすめです。
ReactNativeでのプログラミングだけでなく、そこに至るまでの設計・UIデザインについても身につくので勉強になります。
注意点
設計の話なので役に立つのかピンとこないこともありますがとても大切です。 Reactと相性がいいので、オリジナルの設計をして進めるより、AtomicDesignを始めとした考え方を取り入れて進めたほうが後で得します。メンテナンスや再利用しやすいソースコードを作ることができます。
テストのやり方なども書かれているので応用することでさまざまな知識が身につくので、早いうちに覚えておきたい内容になっています。
本の中に出てくるプログラムは、ReactNativeで書かれたコードではないのでそこは注意が必要です。設計手法やテストのコツなどを都度読み替えて身につけましょう。
よく利用した公式ドキュメントの紹介
以下3つの公式ドキュメントを紹介します。他にも利用するモジュールがあれば、そのドキュメントをブックマークしておきましょう。
https://docs.expo.io/versions/latest/
Expoの公式ドキュメントです。アプリのビルドや各種設定ファイルの内容など、丁寧に説明されています。
ReactNativeのコンポーネントについても説明があるので、基本的なものについてはここで間に合います。
https://facebook.github.io/react-native/docs/getting-started
ReactNativeのドキュメントです。それほど使うことはありませんが、パラメータの内容や定義などを調べるときに使うことが有りました。
https://ja.reactjs.org/docs/react-component.html
Reactのドキュメントです。コンポーネントのstate・props・ライフサイクルについてはここで学んでおくといいです。実際にアプリを動かしながら試すと理解が早いです。
https://jsprimer.net/
JavaScriptを1から学べる書籍です。上記で書籍版を紹介していますが、Web上で公開されていますのでこちらで十分の場合もあります。どうしても手元においておきたい人は書籍版を購入しましょう。
おわりに
5つの本を紹介しました。ReactNativeは経験者であればとても簡単に初められますし、未経験でも何か作りながら学ぶことでモチベーションがあがるのでおすすめです。
ReactNativeを用いればAndroidとiOS両方のアプリの開発が 1つのコードで完了します。Web関連の知識も活かせるので簡単に始めることができます。JavaScriptを使うので割と応用の効く言語が身につきます。
Webシステムではないので制約も有りますが、サーバを借りる必要がなく手軽に始めることができます。
さらに、ReactNative For Webを使えばそのままWebで利用することできます。利用する機会はまだ少ないですがそちらにも期待です。
今年はReactNativeでアプリを作成しつつ、コミュニティへの貢献等を目標にがんばります。