こんにちは!今回から「OZくんとプロ太先生のReact入門」シリーズを始めていきます。高校生のOZくんが、エンジニアのプロ太先生からReactについて学んでいく様子を、分かりやすく解説していきます。
Reactって何?学習の前に知っておきたいこと
場所:放課後のパソコン室
プロ太先生、最近よく『React』って聞くんですけど、これって何なんですか?
良い質問ですね!ついに!Reactに興味を持ったんですね?
はい!友達がReactを使って、Web開発してるの見てて、僕も作ってみたいなって思ったんです。でも、何から始めればいいか分からなくて…
じゃあ、まずはReactの基本から説明していきましょう。Reactは、Facebookが開発した『JavaScriptライブラリ』なんです。
JavaScriptライブラリ…?
はい。でもその前に、Reactを学ぶ前に知っておいた方がいいことがあります。
React学習の前提知識
Reactを効果的に学ぶために、まずは以下の基礎知識があると良いですよ!
- HTML & CSS
- Webページの基本構造を作るHTML
- デザインを整えるCSS
- JavaScript(ES6以降)
- 変数とデータ型
- 関数(アロー関数含む)
- 配列操作(map, filter等)
- オブジェクト
- Promise、非同期処理
- モダンな開発環境
- npmやYarnなどのパッケージマネージャー
- Git基礎
- コマンドライン操作の基本
えぇっ!?こんなにたくさん必要なんですか!?
心配しなくても大丈夫です!これらは一度に全部覚える必要はありません。基本的なHTML、CSS、JavaScriptが分かれば、Reactの学習は始められます。他のものは、必要になった時に少しずつ、調べながらして、学んでいけばいいですよ。
Reactって何をするためのもの?
じゃあ改めて、Reactって何のためにあるんですか?
Reactは『UIを効率的に構築するためのライブラリ』なんです。
UI?
UIとは『ユーザーインターフェース』の略で、簡単に言えば『画面に表示される部分』のことです。例えば、
- ボタン
- 入力フォーム
- メニュー
- リスト表示 などですね。
でも、それってHTMLとCSSでも作れますよね?
その通りです!でも、Reactには、従来のHTML/CSS/JavaScriptだけの開発と比べて、いくつかの大きな特徴があります。以下が特徴です。
- コンポーネント化
- UIの部品を再利用可能なパーツ(コンポーネント)として管理できる
- コードの整理や保守が楽になる
- 仮想DOM
- 画面の更新を効率的に行える
- パフォーマンスが向上する
- 単方向データフロー(疎結合)
- データの流れが分かりやすい
- バグを見つけやすい
なぜReactを使うの?
へぇ〜、でも、なんでそんなに多くの企業やエンジニアがReactを使うんですか?
それには、いくつかの理由があります。
- 学習曲線が比較的緩やか
- JavaScriptの知識があれば、比較的取り組みやすい
- 大規模なコミュニティ
- 困ったときに情報が見つけやすい
- 多くのライブラリやツールが利用可能
- 高い実績
- Facebook、Instagram、Airbnbなど、多くの大企業が採用
- 安定性と信頼性が証明されている
- 柔軟性
- 小規模なプロジェクトから大規模なアプリケーションまで対応可能
- 他のツールやライブラリとの組み合わせが自由
なるほど!じゃあ、Reactを使えるようになれば、いろんなWebサイトやアプリが作れるようになるんですね!
これからの学習計画
そうですね!でも、一歩一歩進んでいくことが大切です。これからの学習の流れを簡単に説明しますね。
- 環境構築
- Node.jsのインストール
- Create React Appの使い方を確認
- Reactの基本概念
- JSX
- コンポーネント
- Props
- State
- 実践的な機能実装
- イベント処理
- フォーム操作
- APIとの通信
- 応用的なトピック
- Hooks
- ルーティング
- 状態管理
結構たくさんありますね…でも、一つずつ頑張って覚えていきたいです!
その意気だよ!最初は難しく感じるかもしれないけど、実際に手を動かしながら学んでいけば、きっと理解できるようになりますよ。
まとめ
今回のポイントをまとめておきます。
- Reactは、Facebookが開発したUIライブラリ
- 効率的なWeb開発を可能にする
- 学習開始前にHTML、CSS、JavaScriptの基礎があると良い
- コンポーネント、仮想DOM、単方向データフローが特徴
- 大規模なコミュニティと実績がある
ありがとうございます!次回からは、さらにReactのコードも書いていくんですよね?楽しみです!
いいですね。ただ、その前に、もし時間があれば、JavaScriptの復習、特にES6の文法について少し勉強しておくと、より理解が深まりますので、次回の授業までに復習しておきましょう!