React NativeはAndroid・iOS用のネイディブアプリを開発できるプラットフォームです。「Google社のFLutter」や「Apple社のSwiftUI」の台頭により、React Native離れが囁かれていますが、Reactへの技術転用が可能なことから将来性は高いでしょう。
React Nativeの基礎知識やメリット・デメリットをご紹介していますので、ぜひ参考にしてみてください。
目次
目次を閉じる
React Nativeの基礎知識

React NativeはJavaScript使用し、AndroidおよびiOS用のネイティブアプリを開発できるクロスプラットフォームです。
React Nativeは2015年にMeta Platforms(旧Facebook)が発表しました。FacebookやSkype、UberEatsなどがReact Nativeを採用しています。
\\フロントエンジニアの案件をご紹介します!//
▼関連記事
スマホ専門家としての誇りを持ち、期待に応えてしっかり稼ぐ|Midworks利用者インタビュー
React Nativeはアプリ開発用フレームワーク
React NativeはAndroidおよびiOS用のネイティブアプリを開発するためのクロスプラットフォームです。
Web開発向けの言語、JavaScriptを用いて、AndroidおよびiOSの両方で動作するネイティブアプリを作成できます。
JavaScriptを使うことでWebエンジニアでもネイティブアプリ開発ができます。また、AndroidおよびiOSのアプリ一つのプラットフォームで作れるので、個別に開発するよりも工数が削減できます。
それにより人材確保や工数削減といった利点が生まれます。
▼関連記事
JavaScriptエンジニアとは?仕事内容や勉強方法など解説!
React.jsとの違い
React.jsとはUI構築のためのJavaScriptライブラリです。ReactやReact.JSとも表記されます。
React.jsはUIを作るために特化したJavaScriptライブラリで日本のみならず世界的に人気のあるオープンソースライブラリです。主にWebアプリのために設計されています。
一方、React Nativeは、JavaScriptライブラリであるReactを使用し、ネイティブアプリを開発するクロスプラットフォームとなり、モバイルUIを構築するために設計されました。
▼関連記事
初心者のためのReact入門方法!特徴やメリット・導入方法などを解説
React Native離れと言われ始めた理由

2019年ごろから「React Nativeオワコン」言われ始め、React Native離れが囁かれています。
その理由として、2018年宿泊予約プラットフォームのAirbabがReact Nativeの使用を中止したことが大きな要因として挙げられます。
また、GoogleがリリースしたFlutterが台頭してきたこと、さらに、Apple社のSwiftUIの発表されたことなどもReact Native離れが囁かれる要因です。
AirbabはReact Nativeの機能の未成熟さなどの技術面の問題を理由に使用を中止、ネイティブアプリを選択すると発表しました。翌年、Apple社のSwiftUIが発表され、iOSネイティブアプリが作りやすい環境へ変わりました。
また、React Nativeと同じクロスプラットフォームであるFlutterの人気が急上昇し、Flutter優位の状態が続いています。
React Nativeには技術的に不便な点もあり、このことから、React Native離れと言われるようになったようです。
\\JavaScriptの経験がある方はご相談ください//
React Nativeに将来性はある?
React Native離れと囁かれていますが、React Nativeの将来性は高いでしょう。技術的な面からReact Native離れと言われていますが、Meta platformsはReact Nativeの再設計を行い、技術的な問題の解決への道を歩んでいます。
また、React Nativeの技術はReactにも転用可能です。Reactを使う企業も増えているので、React Nativeの需要がなくなるという可能性は少ないでしょう。
統合的にネイティブアプリの開発ができるReact Nativeは現状の開発ニーズに合っている、Webにも技術転用ができるということからReact Nativeの将来性は高いと言えます。
▼関連記事
Reactの副業の効率的な始め方とは?案件の例・獲得方法をあわせて紹介
React Nativeのメリット

React Nativeには多くのメリットがあります。大きなメリットは、JavaScriptでの記述のため、JavaScriptを使うWebエンジニアならばiOSやAndroidに対応したアプリ開発が可能ということです。
そのほかにも、React Nativeを導入するメリットを紹介します。
簡単にアプリ作成ができる
React Nativeはモバイル端末により書き換えるコードが少なくてすみます。異なる二つの言語で開発しなければならないiOSとアンドロイドのコードの大部分を共通化できるため、工程の削除や時間の短縮が行え、負担を大幅に軽減できます。
また、Webエンジニアに馴染み深いJavaScriptwを使用しているため、Web開発の経験を活かすことも可能です。
コードの修正が容易
React Nativeではコードの修正が容易となるホットリロード機能があります。コード変更後、再コンパイルが必要なく、すぐに新しいコードが反映されるため、修正が効率的に進められます。
Webアプリケーション開発との互換性が高い
React Nativeの開発言語は汎用性が高く、Webアプリ開発にも使われているJavaScriptです。また、React NativeはWebサイト上のUIパーツを構築するためのライブラリであるReactを用いてアプリ開発をします。
そのため、JavaScriptを利用してWeb開発を行なっているエンジニアには扱いやすく、Webエンジニアもネイティブアプリ開発に参加できるようになり、人材の確保が容易になります。
\\React Nativeの案件をご紹介します//
React Nativeのデメリット

React Nativeのデメリットは継続的なアップデートのための作業の煩雑さが挙げられます。また、Webエンジニアだけでの開発が難しい点もデメリットと言えるでしょう。
そのほかのデメリットも紹介しますので、ぜひ参考にしてみてください。
エラー箇所の特定が大変
React Nativeクロスプラットフォームです。一つの言語で、異なる複数のOSで動作するものを作るためデバックが必要な場合、「どこの層でエラーが起きているか」をまず特定しなければいけません。
JavaScriptレイヤーなのか、それともネイティブレイヤーなのか、さらに、AndroidかiOS
なのかなど、確認箇所が多いため、簡単に特定、解決できない場合もあるため注意が必要です。
学習コストが高い場合がある
もともとSwiftやJavaなど言語を使い、ネイティブアプリを開発していたエンジニアには、学習コストが高くなってしまいます。
JavaScriptの習得をしなければいけないためです。
しかし、もともとJavaScriptを使いWebアプリ開発をしていた場合には学習コストは低くすみます。
リスト構造の取得が難しい
React Native ではリスト構造の取得と描画が非同期です。リスト構造の取得が少々難しく、さらに、非同期のためリストのデザインや取得のタイミングが実装に委ねられることになります。
実装に慣れていない場合、意図しない動作が発生してしまいます。
高度な設定が必要になる場合がある
ReactNativeで開発している中で、ネイティブ機能を使いたくなった時、ネイティブ設定が必要です。これには、Web技術以外の高度な設定が必要になる場合があります。
ReactNativeでは、NativeModuleにより、JavaScript内から任意のネイティブコードを実装したり、ネイティブモジュールを直接構築する方法などもチュートリアルで公表されています。
\\フロントエンジニアの案件をご紹介します//
▼関連記事
スマホ専門家としての誇りを持ち、期待に応えてしっかり稼ぐ|Midworks利用者インタビュー
アプリケーション開発ができる3つの技術の違いをチェック

アプリケーション開発にはさまざまなプラットフォームがあります。iOSに特化したSwiftUI、新しいDartという言語でiOS、Android両方で動作するアプリが作れるクロスプラットフォームであるFltter、そしてReact Nativeなどが挙げられます。
どのプラットフォームも一長一短があり、どれが優れているかというのは個人の見解によるところが大きいです。まずは、自分が開発をしたいものに対して、どのプラットフォームが使いやすいのか考えましょう。
Raect Native | SwiftuI | Flutter | |
---|---|---|---|
開発会社 | Meta Platforms,lnc(旧Facebook,lnc) | Apple | |
開発言語 | JavaScript・TypeScript | Swift | Dart |
作れるアプリ | iOS・Android・Web | iOS | iOS・Android・Web |
UI | ネイティブUI | ネイティブUI | ネイティブUI |
実装のしやすさ | ○ | ○ | △ |
技術の転用 | ○ | × | △ |
コミュニティの大きさ | ○ | ○ | × |
▼関連記事
スマホ開発の専門家としての誇りを持ち、期待に応えてしっかり稼ぐ|Midworks利用者インタビュー
実装のしやすさを比較
React Nativeは公式チュートリアルがわかりやすいと評価されています。また、フレームワークもわかりやすく開発がしやすいです。
使用言語がJavaScriptとWebエンジニアが取得している多い言語が使われているため実装もしやすいでしょう。
一方、同じクロスプラットフォームのFlutterは、公式チュートリアルがわかりにくいという声があります。言語はGoogleが開発したDartです。Dartは新しい言語のため、学び直しが必要となります。
SwiftUIもチュートリアルがわかりやすく、なおかつ、資料や情報がYouTube上に多くあるため、実装しやすくなっています。
技術転用の可否を比較
React NativeはReactとの技術転用が可能です。React経験者であれば、React Nativeでのアプリ開発が容易にできるでしょう。また、React Nativeを学べば、ReactでのWebアプリの開発ができます。
一つの技術で複数のことができるようになるのは大きな強みでしょう。
FlutterはAndroidのみ転用可能です。iOSとAndroidの実装ならば技術転用できますが、Webへの技術転用はできません。
SwiftUIはiOSに特化しており、技術転用はできません。
コミュニティの大きさを比較
React Nativeのコミュニティはまだ規模が小さいと言わざるを得ません。React Nativeのオープンコミュニティの利用者はまだ少なく、問題が起きた時、検索しても問題解決案が出てこない、聞ける人が少ないといった問題が出てきます。
しかし、React Nativeの開発は2015年とまだ新しく、今はまだ発展途上であると言えます。これから需要が増えることを考えると、コミュニティが大きく育つ可能性は高いです。
Flutterも新しいプラットフォームですので、コミュニティ規模はまだ未発達ですが、利用者の増加とともにその規模も大きくなっています。
▼関連記事
アプリの開発にも使われるReactとは?特徴やメリットを分かりやすく解説
互換性の高いReact Nativeを学んで技術の幅を広げよう

React Native離れと言われていますが、React Nativeでの開発ノウハウがWebアプリ開発にも転用できるという点で強みがあります。また、Reactを採用する企業も多くあり、それを見込んでもReact Nativeの需要はまだあるものと考えられるでしょう。
クロスプラットフォームはGoogleが開発したFltterの方が人気があります。しかし、React Nativeの母体であるReactの需要は高く、また、Webエンジニアであれば学習コストが少なくていいという利点もあることから、React Nativeを学ぶメリットは大きいでしょう。
▼関連記事
スマホ開発の専門家としての誇りを持ち、期待に応えてしっかり稼ぐ|Midworks利用者インタビュー
\\あなたに合った案件をご紹介//
関連記事
インタビュー

新業界参入と同時にフリーランスに転向したエンジニアの情報収集方法とは?

常に情報を更新してより良い選択を ベテランフリーランスエンジニア直伝の情報収集術をご紹介

フリーランスに転向し収入も生活も向上 アップデートを続けるエンジニアの情報収集方法を公開

理想的なエンジニア像を描き、自由な働き方を求めてフリーランスへ。

フリーランスになって収入が3倍!全エンジニアに独立は怖くないと伝えたい
思いもかけないフリーランスとしてのキャリア。そこには大きな可能性がたくさん詰まっていた

評価と報酬を考え、的確な情報を得ながら働けるフリーランスは、自分にあった生き方

専門家としての誇りを持ち、期待に応えてしっかり稼ぐ
フリーランスの基礎知識

20代のフリーランスエンジニアの平均年収とは?メリット・デメリットもご紹介

まだ上がる!40代フリーランスエンジニアの平均年収はどのくらい?年収を上げる方法についてもご紹介!

スキルがあれば50代でもフリーランスエンジニアになれる?求められることは?

30代のフリーランスエンジニアの平均年収は?職種別の年収もご紹介

スキルがあれば20代でもフリーランスエンジニアになれる?求められることも解説

会社を辞めるとき何から始める?円満退職するための流れをおさよう

30代でスキルがなくてもフリーランスエンジニアになれる?おすすめの職種も紹介

フリーランスが案件獲得する上でおすすめの書籍10選!獲得方法もご紹介!
エンジニアの職種

運用SEの仕事内容や働くメリットとは?求められる資格やスキル

システムエンジニア(SE)におすすめの資格15選!取得のメリットも紹介

【未経験からでも◎】クラウドエンジニアに転職する方法やメリットは?年収の違いや必要な資格も解説!

【8選】ゲームプログラマーにおすすめの資格は?求められる能力や仕事内容も解説

フリーランスSEの年収は高い?メリットやデメリットも解説

データサイエンティストに向いている人の9つの特徴とは?「やめとけ」と言われる理由についてもご紹介!

【11選】ゲームプログラマーに必要な言語は?プログラミング言語の学習方法もご紹介

【最新版】ゲームプログラマーの年収は高い?雇用形態別、年齢別、業種別に詳しくご紹介!
フリーランスのお金

【安心して働く】フリーランスの福利厚生とは?利用できるサービスや選ぶポイントをご紹介

振替伝票とは?他伝票との違いや作成する際のポイントも紹介

検収書とは?関連書類との違いや発行の流れ・記載方法も紹介

フリーランスには確定申告は必要?青色申告と白色申告の違いもあわせて紹介

納品書の書き方をマスターしよう!記入項目から作成時の注意点まで解説

【PR】年に一度の難関を軽々と乗り越えるために! クラウド確定申告ソフト「やよいの青色申告 オンライン」体験レポート

【PR】面倒な確定申告を解決!やよいの青色申告 オンラインを導入すべき3つのメリット

フリーランスの確定申告に役立つアプリ10選を紹介!選び方・注意点も解説
業界特集

金融業界(Fintech領域)のフリーランスエンジニア向け案件特集|業界未経験でも活躍する方法もご紹介

セキュリティ業界のフリーランスエンジニア向け案件特集|案件参画で身につくスキルや参画の際に役立つ資格もご紹介

医療業界のフリーランスエンジニア向け案件特集|DX化が進む成長市場で求められるスキルと働き方のポイント

小売業界フリーランスエンジニア案件|年収アップとキャリアアップを実現!最新トレンドと案件獲得のコツ

生成AI分野フリーランスエンジニア案件特集|最先端技術を駆使!注目スキルと開発プロジェクト事例

広告業界(AdTech)フリーランスエンジニア案件特集|データ活用と最新技術で広告効果を最大化!

教育業界(EdTech)フリーランスエンジニア案件特集|学びの未来を創る!求められるスキルと開発事例
