React
公式サイトReactとは
Reactは、Webの画面を「コンポーネント」と呼ばれる小さな部品の組み合わせで作るためのJavaScriptライブラリです。ボタンや入力欄、一覧表などを部品として定義し、それらを組み合わせて画面を構成します。データが変わると該当する部分だけを効率よく描き直す仕組みを持っているため、操作に応じて表示が細かく変わる画面を作るのに向いています。オープンソースで公開されており、周辺のライブラリや学習資料が豊富なことから、Webアプリケーションの画面開発で広く使われています。
弊社が採用する理由
弊社では、業務システムの管理画面や利用者向け画面、Webサイトのフロントエンドを開発する際にReactを採用しています。多くの場合はNext.jsと組み合わせ、TypeScriptで記述しています。採用の理由は、画面を部品単位で作れるため、同じ見た目や振る舞いを使い回せることと、部品ごとに動作確認ができることです。入力フォームや検索一覧のような、操作に応じて表示が変わる画面では特に効果があります。データの取得や状態の管理には、用途に応じてTanStack QueryやSWRといったライブラリを使い、サーバー側のAPIとの連携を整理しています。部品の見た目はStorybookで確認しながら開発するため、デザインの確認と実装のずれを減らせます。フルスタックエンジニアが画面とサーバーの両方を扱うため、画面の都合とデータの都合を分断せずに設計できる点も採用理由です。
向いている案件
- 入力フォームや検索一覧など操作に応じて表示が変わる画面
- 同じ部品を多数の画面で使い回す業務システム
- APIと連携して動くWebアプリケーションのフロントエンド
保守・移行の観点
React本体は互換性を重視して更新されますが、周辺ライブラリの更新頻度は高く、それぞれの対応状況を確認しながら足並みを揃える必要があります。特にNext.jsやTypeScriptとの組み合わせでは、どれか一つだけを大きく上げると不整合が起きることがあるため、依存関係を記録したファイルを管理し、まとめて更新する時期を決めておくのが安全です。更新はステージング環境で画面の表示と操作を確認してから本番に反映します。部品ごとの自動テストとStorybookがあると、影響範囲の確認が楽になります。
組み合わせて使う技術
よくあるご質問
ReactとVue.jsはどちらがよいですか?
どちらも画面を部品で作る考え方は共通しており、用途による優劣はほとんどありません。弊社では新規開発ではReactとNext.jsを基本にしつつ、既存システムがVue.jsで作られている場合はそのまま引き継いで開発しています。
Reactを使うとWebサイトの表示は速くなりますか?
React単体では速くなるとは限りません。Next.jsと組み合わせてサーバー側で画面を組み立てる構成にすると、表示速度と検索エンジン対策を両立しやすくなります。
関連するサービス
関連する開発ガイド
- モバイル対応の考え方 — レスポンシブと専用サイトの違いスマートフォン対応の方法として、レスポンシブデザイン、モバイル専用サイト、アプリの3つを用途で比較します。それぞれの仕組みと運用の違い、自社に合う方式を選ぶための判断基準を整理します。
- 納品後の保守・運用で何が必要かシステムは納品後も動かし続ける必要があります。監視、バックアップと復元テスト、OS・ミドルウェア・CMSのアップデート、ステージングでの検証、保守契約の範囲という基本を整理します。
- 他社が作ったシステムの引き継ぎ・保守を依頼するときのチェックリスト前の開発会社が作ったシステムの保守を別の会社に引き継ぐときの手順を、資料・アカウント・ソースコード・環境の棚卸しから調査、リスク整理、保守範囲の合意、移行まで、確認項目の表とともに解説します。
関連用語: API、レスポンシブデザイン、ステージング環境、フルスタックエンジニア
監修: Unlogical Systems合同会社(杉並区・西荻窪)公開