こんちには。キノコードです。
このレッスンでは、 Reactについて説明をします。
▼ YouTube動画はこちらからどうぞ。
Reactは、JavaScriptのフレームワークです。フレームワークとは、WebサイトやWebサービスなどを作るときに、よく使う機能を提供するソフトウェアのことです。
よく使う機能とは、例えば、データベースへのデータ登録や検索機能、ブラウザへの表示機能、PCサイトをスマホ対応させる機能などのことです。
Reactは、2011年に登場した比較的新しいフレームワークで、FaceBookが中心となって開発しています。
Reactは、オープンソースなので独自に再開発・再配布が可能です。
JavaScriptの有名フレームワークには、Reactの他に、Angular.js(アンギュラー ジェーエス)、Vue.js(ビュー ジェーエス)があります。
この3つのフレームワークは「JavaScriptの3大フレームワーク」と言って差し支えないでしょう。
ではReactの特徴を見ていきましょう。
UIを部品として管理する「コンポーネント指向」
Reactでは画面のレイアウトや入力制御を、コンポーネントとして管理する方法が採用されています。
コンポーネントを使用することで、背景や文字色の設定、入力チェックなど、決まった処理を何度も書く必要がなくなります。
そのため、処理も分かりやすくなり、管理がしやすくなります。
SPAの開発に向いている
Reactは、SPA(エスピーエー)を開発することに適しています。
SPAとはシングルページアプリケーションの略で、ブラウザのページ移動することなく、1つのWebページだけでアプリを構築する開発手法です。
SPAで開発すると、画面の移動をユーザーに感じさせずにページの内容を変えられます。
うまく開発することで、スマホアプリのようなWebサービスを開発することもできます。
モバイルアプリ開発にも適している
Reactは「React Native」を使うことで、スマホアプリ開発も行えます。
React Nativeは、Reactを使ってスマホアプリを開発するために作られたフレームワークです。
本来AndroidとiOSのアプリを開発する場合は、それぞれで異なるプログラミング言語で開発する必要があります。
例えばAndroidならKotlinやJava、iOSならSwiftやObjective-Cを使う場合が多いでしょう。
一方、React Nativeを使えば、ReactのみでAndroidとiOS両方のアプリ開発が可能です。
これを「クロスプラットフォーム開発」と言います。
1つのソースコードで両方のプラットフォームのアプリ開発ができるので、開発コストを抑えられます。