Reactでできること一覧!初心者でもわかるWebアプリ・スマホアプリ・PWAの活用方法
生徒
「Reactって聞いたことはあるんですが、何ができるんですか?」
先生
「Reactでは、Webアプリ、スマホアプリ、PWAなど、いろいろなアプリを作ることができますよ。」
生徒
「スマホアプリも作れるんですか?Webだけじゃないんですね!」
先生
「そうなんです。では、Reactでできることを一覧で見ていきましょう!」
1. Reactでできることとは?
React(リアクト)は、Webの画面づくりを効率化するために生まれたJavaScriptライブラリです。もともとはWebサイトのユーザーインターフェース(UI)を作るための仕組みとして開発されましたが、今ではWebアプリだけでなく、スマートフォンアプリやPWA(プログレッシブウェブアプリ)など、幅広いアプリケーション開発に応用されています。
つまりReactを学ぶということは、1つの考え方で複数のプラットフォームに対応できるということで、初心者にとっても非常にコスパの良い技術と言えます。画面の動きを直感的に理解しやすい点も、人気の理由のひとつです。
Reactでできることを体感できる超シンプルなサンプル
「Reactで何ができるのか」をイメージしやすいように、まずはごく簡単な例を紹介します。ここでは、入力内容がそのまま画面に反映されるシンプルな仕組みです。
import React, { useState } from "react";
function SimpleInput() {
const [text, setText] = useState("");
return (
<div>
<input
value={text}
onChange={(e) => setText(e.target.value)}
placeholder="文字を入力してみよう"
/>
<p>入力された内容: {text}</p>
</div>
);
}
export default SimpleInput;
このようにReactでは、「入力」「表示」といった動きを自然につなげることができます。画面の状態をJavaScriptで管理する仕組みのおかげで、初心者でも“動くアプリ”を作る感覚をつかみやすく、Webアプリ開発の入口としてとても取り組みやすい技術です。
2. Webアプリケーションの開発
Reactが最も力を発揮するのが、Webアプリケーションの開発です。ログイン画面やチャット画面、予約フォーム、ショッピングカートなど、ユーザーの操作によって画面が次々と変わっていく仕組みを作るのが得意分野です。いわゆる「動きのあるWebサイト」「便利なWebツール」を作りたいときに、Reactがよく選ばれます。
ポイントは、画面を「コンポーネント」という小さな部品に分けて作ることと、状態(State)と呼ばれる値を使って画面を切り替えることです。ボタン、入力フォーム、ヘッダー、一覧表示などをそれぞれ部品として分けておくことで、見通しの良いWebアプリを組み立てられるようになります。
カウンター機能でWebアプリのイメージをつかもう
ここでは、ボタンを押すたびに数字が増えていく「カウンターアプリ」のサンプルを見てみましょう。とてもシンプルですが、ReactによるWebアプリ開発の基本である「状態の変化に応じて画面が更新される」流れを体験できます。
import React, { useState } from "react";
function WebCounterApp() {
const [count, setCount] = useState(0);
return (
<div>
<h1>現在のカウント: {count}</h1>
<button onClick={() => setCount(count + 1)}>
1増やす
</button>
</div>
);
}
export default WebCounterApp;
コードの中では、useStateという機能を使ってcountという数字を管理しています。ボタンがクリックされるとsetCount(count + 1)が実行され、countの値が1増えます。そのタイミングでReactが自動的に画面を描き直してくれるので、開発者は「この状態ならこう表示したい」と書くだけで、ユーザーの操作に応じて変化するWeb画面を表現できます。
このような仕組みを組み合わせていくことで、「残りのタスク数を表示するToDoリスト」や「カート内の商品数を更新するショッピングサイト」など、実用的なWebアプリケーションへと発展させていくことができます。Reactを使えば、初心者でも小さな部品から少しずつ組み立てながら、実務でも役立つようなWebアプリ開発の感覚を身につけていけます。
3. スマートフォンアプリの開発(React Native)
Reactの考え方をそのまま活かして、iPhoneやAndroidのスマートフォンアプリを作れるのが「React Native(リアクトネイティブ)」です。ふだんのWeb開発と同じようにJavaScriptとReactの書き方で画面を組み立てられるため、「Webもスマホもまとめて学びたい」という人にとって、とても効率の良い選択肢になります。
React Nativeでは、ブラウザ用のHTMLタグではなく、ViewやTextといった専用のコンポーネントを使って画面を作りますが、「コンポーネント」「状態(State)」「イベント」といった基本的な考え方はReactと共通です。つまり、Reactでボタンやテキストの扱いに慣れておけば、そのままスマホアプリ開発にも応用しやすくなります。
React Nativeで「ボタンを押したらメッセージが変わる」シンプルな例
イメージしやすいように、スマホアプリらしいとても簡単なサンプルを見てみましょう。ボタンをタップすると、画面に表示されるメッセージが切り替わる例です。
import React, { useState } from "react";
import { View, Text, Button } from "react-native";
function NativeSample() {
const [message, setMessage] = useState("ようこそ!");
return (
<View>
<Text>{message}</Text>
<Button
title="メッセージを変える"
onPress={() => setMessage("ボタンが押されました")}
/>
</View>
);
}
export default NativeSample;
このサンプルでは、useStateでメッセージの内容を管理し、ButtonコンポーネントのonPress(タップ時のイベント)でその内容を書き換えています。仕組み自体はWeb向けのReactとほとんど同じなので、「状態が変わると画面が更新される」というReactの基本ルールに慣れておけば、そのままスマートフォンアプリ開発にも踏み出せるというわけです。
このようにReact Nativeを使えば、JavaScriptとReactの知識を活かして、ひとつのコードベースからiOSとAndroid両方に対応したスマホアプリを開発できます。「まずはWebから、次にスマホアプリも」と段階的にステップアップしやすい点も、Reactが長く選ばれている大きな理由になっています。
4. PWA(プログレッシブウェブアプリ)にも対応
PWA(プログレッシブウェブアプリ)は、Webアプリなのにネイティブアプリのように使える新しい仕組みです。ReactはこのPWAとの相性がとても良く、普段のWebサイトを“アプリのように動く体験”へと進化させることができます。
たとえば、PWA対応したアプリは、スマホのホーム画面に追加したり、ネットがない状態でも一部の機能を使えたり、さらにはプッシュ通知を送ることも可能です。インストール不要で利用できるため、ユーザーにとっても扱いやすく、企業サイトやWebサービスでも採用例が増えています。
PWAの仕組みをイメージできる超シンプルなサンプル
ここでは、PWAのポイントである「オフラインでも表示される画面」のイメージをつかむために、Reactでのとても簡単な例を紹介します。実際のPWAでは Service Worker などが必要ですが、まずは“画面の構造がシンプルに保てる”という感覚を持つだけで十分です。
import React from "react";
function PwaSimpleSample() {
return (
<div>
<h1>PWAサンプル画面</h1>
<p>このページはオフライン時にも表示されるイメージです。</p>
</div>
);
}
export default PwaSimpleSample;
このようにReactのコンポーネントは、PWA化する際もそのまま活用できます。PWAの仕組みと組み合わせることで、軽快に動き、スマホアプリのような操作性を持つWebアプリを作れるようになります。とくに「インストール不要で使えるアプリ」を提供したい場合に、React×PWAは非常に効果的な選択肢です。
5. デスクトップアプリ(Electronとの組み合わせ)
Reactは、Electron(エレクトロン)というツールと組み合わせることで、デスクトップアプリも作れます。デスクトップアプリとは、WindowsやMacにインストールして使うアプリのことです。
有名な例では、Visual Studio Code(VSCode)やSlackなどがElectronで作られています。
つまり、Reactの技術を使って、パソコンで動く本格的なアプリも開発できるということです。
6. サイト制作やブログにもReactは使える
最近では、Reactを使って企業サイトやポートフォリオサイト、ブログなどのWebサイトを作るケースも増えています。
とくに「Next.js(ネクストジェイエス)」というフレームワークと組み合わせると、表示が速くて検索エンジンにも強いサイトを作ることができます。
WordPressのようなCMSとは違い、自分の好きなデザインで自由にサイト構築ができるのがメリットです。
7. Reactの活用例を一覧でチェック
- ・Webアプリケーション(SNS、掲示板、予約システムなど)
- ・スマートフォンアプリ(React NativeでiOS/Android開発)
- ・PWA(Webとネイティブアプリの中間のようなアプリ)
- ・デスクトップアプリ(Electronとの組み合わせ)
- ・企業サイトやポートフォリオ、ブログの作成
このように、Reactを使えば幅広いジャンルのアプリやWebサイトを開発することができます。
しかも、JavaScriptの知識があれば、1つの言語でWeb・スマホ・デスクトップ全てに対応できるのがReactの強みです。
まとめ
Reactを使うことで実現できる幅広い開発方法について、振り返りとして整理してみると、Webアプリケーションからスマートフォンアプリ、PWA、デスクトップアプリ、そして企業サイトやブログ制作まで、Reactが対応できる領域の広さがよくわかります。とくに、Reactの「コンポーネント化されたUI設計」や「状態管理を使った柔軟な画面制御」は、現代のアプリケーション開発に欠かせない大きな特徴です。ひとつの技術で複数の分野に活用できるため、学習の価値が非常に高い点も魅力であり、JavaScriptの基礎があれば多くの開発に挑戦できる可能性が広がります。 Webアプリ開発では、動的に変化する画面を直感的に構築でき、ユーザー操作に応じてコンテンツが変化するインタラクティブなアプリを効率よく作れる点が重要です。また、React Nativeを使えばiOSとAndroidを同じコードで開発できるため、スマホアプリ制作のハードルも下がります。さらに、PWAによってWebアプリをスマートフォンアプリのように扱えたり、Electronを組み合わせることでデスクトップアプリにも対応できたりと、Reactによって学べる技術の幅は非常に大きく、実務はもちろん個人開発でも大きな力を発揮できます。 ReactとNext.jsを用いたWebサイト制作では、より高速で洗練されたサイトを構築でき、企業サイトやブログ、ポートフォリオ制作にも適しています。柔軟なデザイン、優れた表示速度、そしてReactらしい管理しやすいUI構造によって、多様な要求を満たすサイトを自由に作ることができます。ここでは、Reactの特徴を再確認するためにシンプルなコンポーネント例を紹介します。
Reactサンプルプログラム:基本的なコンポーネント構造
import React, { useState } from "react";
function FeatureSample() {
const [text, setText] = useState("Reactの多様な活用例を学ぼう");
return (
<div className="card p-3 mt-3">
<h2 className="fw-bold fs-4">{text}</h2>
<button
className="btn btn-success mt-2"
onClick={() => setText("ReactでWebもスマホもPWAも作れる!")}
>
メッセージを更新
</button>
</div>
);
}
export default FeatureSample;
このようなReactのコンポーネント構造を理解していくことで、Webアプリ、スマートフォンアプリ、PWA、デスクトップアプリなど、あらゆる開発を段階的に習得できます。ボタンを押すだけで内容が動的に切り替わる仕組みは、Reactが得意とするUI更新の特徴を象徴しています。開発の幅を広げるには、まず小さな機能を自分で動かしながら慣れていくことが効果的です。Reactの基本概念を押さえたうえで、各領域の特徴に合わせたツールやフレームワークを組み合わせることで、より高度なアプリケーションを自分の力で設計し実装できるようになります。
生徒:「Reactって、Webアプリだけじゃなくてスマホアプリやデスクトップアプリまで作れるって知って驚きました。」
先生:「そうだね。ReactはUIを作るのが得意だから、いろいろな開発に応用できるんだよ。React NativeやElectronを使うと、もっと多くの分野に挑戦できるんだ。」
生徒:「PWAにも対応しているところが便利ですね。オフラインで動いたり通知が届いたり、スマホアプリみたいで面白いです。」
先生:「PWAは実務でもよく使われるんだ。軽くて速いし、インストールも必要ないから扱いやすいんだよ。」
生徒:「Next.jsやReact Nativeの話も役立ちました。Reactの知識だけでこんなに応用できるなら、学ぶ価値がとても大きいですね。」
先生:「その通り。Reactをしっかり学んでおけば、仕事の幅も個人開発の可能性もどんどん広がるよ。まずは基礎を固めて、少しずつ応用へ進んでいこう。」
生徒:「はい!Webアプリから少しずつ挑戦してみて、慣れたらReact NativeやPWAにも挑戦してみます!」
先生:「いいね。実際に手を動かしながら学んでいけば、Reactの楽しさがもっと見えてくるはずだよ。」