Reactの概要
React (リアクト) とは、UI (ユーザインターフェース) を構築するためのJavaScriptライブラリです。
もともとFacebook社(現Meta社)で開発されていたものが2013年からOSSとなり、現在も開発が続いております。
ReactはVueやAngular、Svelteと異なり、JSXとよばれるJavaScriptの記法を採用しています。
これによりコンポーネント分割がしやすく、複雑なUIの構築や拡張が容易にできます。
Reactが世界で最もシェアを獲得しているフロントエンド系ライブラリであるため、近年はSolidやPreactといった他のライブラリもJSXを採用しています。
Reactの主な特徴
Reactは、下記の特徴を持つライブラリです。
Declarative
Reactは Declarative(宣言的)プログラミングを採用しています。
アプリケーションの状態に合わせて表示すべきビューを定義することにより、シンプルでデバッグし易いコードになります。
これにより、対応するコンポーネントのみを効率的にレンダリングすることができます。
Component-Based
Reactは状態をカプセル化したコンポーネントで構成されます。シンプルなコンポーネントを組み合わせることにより、 より複雑なUIを構築することができます。
XMLのような構文を持つJSXを使用し、表示する内容をコンポーネントとして実装します。
コンポーネントは入力されたデータ(Props)とコンポーネント自体の状態(State)を保持しており、これらによってReactでのUI開発がしやすくなっています。
Learn Once, Write Anywhere
Reactは特定の技術スタックの利用を前提としていないため、様々なレンダラーと組み合わせて利用できます。そのため、「一度学習すれば、どこでも使える」と言われております。
例えば、Node上で動くアプリケーションを開発できれば、React Nativeを使用したモバイルアプリケーション上で動かすことも容易です。
Reactの動作環境
Edge、Firefox、Chrome、Safariといったブラウザに対応しています。
2022/9時点の最新バージョンであるReact18のすべての機能が上記ブラウザで動作します。
最新の情報は
https://ja.reactjs.org/docs/javascript-environment-requirements.html を参照してください。
Reactのライセンス
Reactのライセンスは、BSDライセンスでしたが、バージョン16以降はMITライセンスに変更されました。これに伴いバージョン15.6.2以降についてもMITライセンスに変更されました。MITライセンスは、数あるソフトウェアライセンスの中で最も制約が少なく、ソースコードの無償の使用のほか、改変、再配布することも認められています。
関連OSS
- React Native
iPhone・Android向けのフレームワークで、Reactを使用してネイティブアプリケーションを開発することができます。
注意点として、Web向けに開発したものがそのままiPhone・Android向けに動作するわけではありません。Learn once, write anywhere という思想で作られており、一度Reactによる開発を学べば同じスタイルでネイティブアプリケーションも開発できるようになることを狙いとしています。 - React Router
React用のルーティングライブラリです。Reactでルーティング機能が必要な場合に使用することができます。 - Redux、Recoil
アプリケーションの状態管理行うためのライブラリです。React自体にも状態管理の機能が存在しますが、ReduxやRecoilを用いることで、複雑なアプリケーションの開発がよりしやすくなります。 - React Query (TanStack Query) 、SWR
データ取得やキャッシュ管理で用いられるライブラリです。React QueryはReact以外でも使えるようになったため、v4からTanStack Queryと名称を変えました。
他にも様々なライブラリが存在しております。
Reactの公式サイト
Reactのダウンロード
https://ja.reactjs.org/docs/getting-started.html
Reactのサポート
NRIではお客様のご要望に応じて様々な支援ができるサービスをご用意しました。
詳細は下記ページをご確認ください。