ネイティブ、Flutter、React Native を、どう選びますか

作る人の数、OS の機能をどれだけ深く使うか、チームの得意、の 3 つで選ぶ問い。両 OS を 1 つのコードで作る良さと、そのかわりに困る場面まで答えます。

答えてみる

面接官に「ネイティブ、Flutter、React Native を、どう選びますか」と聞かれたつもりで、答えを見る前に自分の言葉で答えます。

声に出して答えた人は「書かずに答えを見る」で開けます。

解説を読む

聞かれ方から関連するコースまで、この問いの解説を全部ここに置いています。

こう聞かれます

  • 「ネイティブ、Flutter、React Native を、どう選びますか」
  • 「iPhone と Android の両方に出すアプリを、少人数で作ることになりました。何で作りますか」
  • 「クロスプラットフォームで作って、困ることはありますか」

面接官が見ている点

  • 好みではなく、人数、期限、使う OS の機能、チームの得意で選べるか
  • 1 つのコードで両 OS を作る良さと、そのかわりの弱さを両方言えるか
  • あとから乗り換える費用まで考えているか

短い答え

  • 両 OS を少人数で作るなら、1 つのコードで両方に出せるクロスプラットフォーム (Flutter や React Native) を選びます。
  • カメラ、Bluetooth、バックグラウンドの処理のように OS の機能を深く使うなら、それぞれの OS の言葉で書くネイティブを選びます。
  • クロスプラットフォームの中では、チームが Web と React に慣れていれば React Native、画面を細かく作り込みたいなら Flutter が候補です。

少し詳しい答え

3 つの選び方の違い

  • ネイティブ iPhone は Swift、Android は Kotlin のように、OS ごとの言葉と道具で作ります。OS の新しい機能をすぐ使え、動きも OS の作法どおりになります。そのかわり、同じ画面を 2 回作り、2 つのチームか 2 つの得意が要ります
  • React Native JavaScript (や TypeScript) と React の書き方で画面を組み、OS の部品を使って表示します。Web で React を書いている人が入りやすいのが強みです
  • Flutter Dart という言葉で書き、画面を自分で描きます。両 OS で見た目がそろいやすく、作り込んだ画面を同じように出しやすいのが強みです

何で決めるか

  1. 人数と期限少人数で両 OS を早く出すなら、1 つのコードで済むほうが有利です
  2. 使う OS の機能カメラの細かい制御、Bluetooth の機器とのやり取り、裏で動き続ける処理などが中心なら、ネイティブのほうが詰まりにくいです
  3. チームの得意今いる人が書ける言葉で選ぶと、立ち上がりが速く、人も集めやすくなります
  4. 画面の作り込み独自の見た目や動きを両 OS でそろえたいなら Flutter、OS ごとの見た目に合わせたいならネイティブか React Native が向きます

弱さと、別の選び方をする条件 (トレードオフ)

クロスプラットフォームは 1 つのコードで済むかわりに、OS の新しい機能に対応するまで待つことがあり、OS に深く入る所は結局ネイティブのコードを書く必要があります。不具合が、自分のコードか、枠組みか、OS か、切り分けにくいこともあります。

だから、OS の機能が中心のアプリや、長く大きく育てるアプリでは、最初からネイティブを選ぶ理由があります。逆に、まず仮説を確かめたい段階なら、Web のアプリやスマホ向けの Web 画面で始め、使われると分かってからアプリにする、という順もあります。

話すときは、自分が関わったアプリか、作るならどうするかの例を 1 つ用意し、「人数と期限がこうだったので、こちらを選び、こういう所は捨てた」と言えるようにします。

よくある間違い

  • 「人気だから」「自分が好きだから」で選ぶ人数、期限、使う機能、チームの得意で選んだ、と言えるようにします
  • クロスプラットフォームならネイティブのコードは要らないと思う OS に深く入る所では、結局 OS ごとのコードを書くことがあります
  • 乗り換えの費用を考えないあとから作り直すと、画面も試験も全部やり直しです。最初に何を捨てるかを決めておきます

深掘りの問い

  • 「Web のアプリ (PWA) ではだめですか」通知や裏の処理など、OS ごとに使える機能の差があるので、要る機能が Web で足りるかを先に確かめる、と答えます
  • 「ネイティブで作るなら、両 OS の差をどう減らしますか」画面の決まり (色、文字、部品) を共通にし、API とデータの形を 1 つにそろえる、と答えます
  • 「アプリの更新を早く届けるには」ストアの審査を通す更新と、サーバー側の設定で変えられる部分を分けておく、と答えます

確認日 2026年10月24日

技術面接問題の一覧へ戻る