本書はWebアプリケーション開発で、
人気を博しているReactについて解説した書籍です。
ReactはFacebookがリリースしたJavaScriptのライブラリで、
Webアプリケーションをネイティブアプリケーションのように、
動作させるために開発されました。
本書は、以下のような構成となっています。
第1章:Reactを扱うために重要な概念となるRedux・Fluxの解説をします。
第2章:create-react-appを使ったインストール方法を解説しReactを導入します。
第3章:Reactで使用するJSXの文法を紹介します。
第4章:Reactの基本となるコンポーネント指向について解説します。
第5章:アプリケーションの状態を管理します。
第6章:画面遷移についてrouterを学びます。
第7章:middlewareを実装していきます。
第8章:SPAでは必須の非同期処理について解説します。
第9章:UIについて学び、アニメーションを実装していきます。
第10章:Webアプリケーション開発に必須のテストについて解説します。
第11章:開発したアプリケーションを公開できるようにデブロイについて学びます。
第12章:よりよいアプリケーションにするためにサーバサイドレンダリングについて解説します。
インストールの解説から、
チュートリアルを通したコードの説明など、
Reactを用いた開発がはじめての方でも
安心して入門することができます。
また情報が少ないテストやデプロイ、
またUI/UXの適切な設定など実際の開発の現場で、
役立つ事柄についても詳しく説明しています。
また、最終章では、よりよいアプリケーションにするために
サーバサイドレンダリングに関しても解説をしており、
パフォーマンスを改善することができます。
これから迅速なWebアプリケーションを作成する必要がある方や、
最新のフロントエンドの事情をくわしく知りたい方におすすめの一冊です。
【本書の特長】
●Reactの基本から応用まで実践的に学べる
●Reactを扱うための概念や手法を学べる
●UI/UX・テスト・デプロイなど本格的にReactを学べる
Reactとは?
Reactの特徴
Fluxとは?
Fluxの構成要素
Reduxとは?
Reduxの特徴
Reduxの構成要素
create-react-appとは?
インストール
Node.jsのインストール
create-react-appのインストール
create-react-appの実行
Babel, ESLint, Jest
アプリケーションを起動
Hello, World
JSXとは?
JSXの文法
サンプルコード(静的なJSXでToDoアプリケーションの枠組みを作る)
React.jsはコンポーネント指向
コンポーネントに分解する
コンポーネントの定義方法(createClass, extends React.Component, stateless)
コンポーネントのライフサイクルメソッド
コンポーネントのデータの受け渡し
コンポーネントの子要素の扱い(props.chidlren)
propsの型を定義する(propTypes)
コンポーネントで状態を扱う
データの追加・削除が出来る
state
状態を変更する(setStateなど)
Form要素の状態管理について
Reduxとは?
Fluxとは?
Fluxの構成要素
Reduxとは?
Reduxのインストール
ReduxのみでTodoアプリケーションを実装
サンプルコード
React.jsと組み合わせよう
複数のReducerを扱う
画面遷移の実装パターン
history API
react-routerとは?
react-routerのインストール
React Componentの使い方
Redux Middlewareとは?
ActionをロギングするRedux Middlewareを作る
middlewareの実装方法
applyMiddlewareを使ってMiddlewareを適応
redux-thunkを使った基本的な非同期処理を実装
その他の非同期処理の実装パターン
redux-promise
UIフレームワークの導入
UIフレームワークとは?
UIフレームワークの種類と比較
ライセンスや機能
bootstrap, materialuiなどを適用する
OSSのReact Componentを使う
React.jsでアニメーションを実装する
JavaScriptのテストについて
テストの種類
テストフレームワークについて
テストの実行
npm test(react-scripts test)
React Componentのテスト
Redux(Action, Reducer)のテスト
テストのカバレッジ
継続的にテストを実行する
アプリケーションのビルド
npm run build(react-scripts build)
アプリケーションを公開できるサービス
Github Pages
AWS(S3, Route53)
Heroku
サーバサイドレンダリング
サーバサイドレンダリングとは?
Node.jsを使ったサーバサイドレンダリング
ReactDOMServer.renderToString
サーバサイドからクライアントへのデータの受け渡し
Node.js以外でのサーバサイドレンダリング
パフォーマンス
パフォーマンスが悪い部分を特定する
React.addons.Perf
パフォーマンスを改善する