【2026年版】アプリの公開方法 — Web・ネイティブ・ハイブリッドの公開ルート早わかり

ラピット君が地図を持ってアプリの公開ルートを案内するサムネイル

自分で作った画面(アプリ)を、いざ「みんなに使ってもらおう」と思った瞬間に手が止まる——。Webサイトとして出すの? スマホアプリとしてストアに出すの? サーバーは要るの? 公開のやり方が一気に押し寄せて、何から手をつければいいか分からなくなります。

香川県のノーコードブートキャンプで質問ありました。

その「アプリ公開の方法」についての記事です。
作ったものを世に出すルートはいくつかありますが、すべて「アプリの3層構造」で整理できます。
これさえ掴めば、自分のアプリがどのルートで公開できるかを、迷わず選べるようになります。

この記事は、AI(ChatGPT・Cursorなど)やノーコードで、初めてサービスを作ってみた/作り始めた人に向けています。「作れたのはいいけど、これってどうやって公開するの?」——その段階のモヤモヤを解消するのがゴールです。

先に結論だけ言うと——
・パソコンやスマホのブラウザで使えれば十分なら → Webのまま公開(ホスティングに乗せるだけ)
スマホアプリとしてストアに並べたいなら → ①ネイティブで作る、または②今あるWebをそのまま箱に包む
まずこの2択を押さえれば大丈夫。あとは枝葉です。

まず大前提:アプリは「3つの層」でできている

公開方法を理解する前に、土台となる考え方を1つだけ。アプリは、ざっくり3つの層でできています。レストランに例えると分かりやすいです。

アプリの3層をレストランで例えた図。①ガワ=お皿の料理、②届け方=店内かテイクアウト、③裏側=厨房(Supabase等)
  • ① ガワ(画面) … お客さんが見る「お皿の上の料理」。ユーザーが触る部分で、「Web」か「ネイティブアプリ」か
  • ② 届け方 … 料理をどう出すか(店内提供かテイクアウトか)。①をどうやって手元に届けるか(=この記事の主役)
  • ③ 裏側 … お客さんから見えない「厨房」。データ・保存・ログイン(Supabase / Firebase など)

公開でつまずく人のほとんどは、この3つをごちゃ混ぜにして「全部まとめて難しそう」と感じています。逆に言えば、「①が何か」で「②の公開ルート」が決まり、「③裏側(厨房)」はどのルートでも共通——この関係さえ分かれば、一気に見通しが良くなります。

1つ補足します。③の裏側(厨房)は、ゼロから自分で作る必要はありません。データ保存やログインが最初から揃った“裏側まるごとお任せ”サービス——代表がSupabaseやFirebase——を組み合わせるのが、いまの定番です。料理人を一人ずつ雇うのではなく、設備の整ったセントラルキッチンを借りるイメージですね。

そしてここで、初心者が必ずぶつかる疑問があります。Vercelを使え、ってよく勧められるけど、あれは裏側のこと?」——いいえ。先に答えだけ言うと、Vercelは③裏側ではなく、②の“届け方(ホスティング)”の道具です。この取り違えが混乱の元。なぜ混同しやすいのかは、このあとの「ホスティングとストアは別物」の章でハッキリさせます。

アプリの3層構造を示す図。①ガワ(画面)②届け方(ホスティングとストア)③裏側(Supabase等)

使ったツール別:あなたの作り方はどれ?

「で、私が使ったツールはどれに当てはまるの?」を先にはっきりさせておきましょう。何で作ったかによって、進む公開ルートが少し変わります。

使ったツール手に入るもの進むルート
AIでコードを書いた(v0 / Lovable / Bolt / Cursor / Claude Code など)コード(HTML / CSS / JS)この記事のルートがそのまま使える
ノーコードで作った(Bubble / Glide / Adalo / STUDIO など)ツール上で動くWebアプリとURL公開URLはツールに付属。スマホアプリにするなら後半の「ラップ(Capacitor / TWA)」へ
ノーコードでネイティブ書き出し(FlutterFlow など)ネイティブアプリそのままストアに申請(後述のルートD)

どのツールで作っても、③の裏側(Supabaseなど)は共通で使えるのは同じ。まずは「自分はこの行だ」と当たりをつけて、次の早見表に進んでください。

公開ルート早見表 — 作ったものを、どう世に出すか

では本題。作ったものを公開するルートを、1枚の表にまとめました。
左の「作ったもの」から、自分のルートをたどってください。

作ったもの公開ルート出る場所
Webアプリホスティングに乗せるURL(Vercel / GitHub Pages / Netlify
WebアプリPWA化するブラウザから「インストール」
WebアプリTWAでラップGoogle Play
ネイティブ(Flutter / React Nativeビルドして申請App Store / Google Play
ハイブリッド(Capacitorで同梱)ビルドして申請Google Play(Vercel不要)

そして③の裏側(Supabaseなど)は、どのルートを選んでも共通で使えます。「Google Playに出すから裏側を変えなきゃ」ということはありません。この表のどこに自分がいるかを把握するのが、公開の第一歩です。

作りたいものから公開ルートを選ぶ決定チャート。ブラウザで十分ならWeb公開、スマホアプリならCapacitorかネイティブ、裏側はSupabase共通

最大の落とし穴:「ホスティング」と「ストア」は別物

公開でいちばん混乱するのがここです。よくこう整理されます。

  • Webなら → Vercel / GitHub Pages
  • アプリなら → App Store / Google Play

一見正しそうですが、VercelとGoogle Playは役割がまったく違います。

  • Vercel / GitHub Pages … Webを「動かし続ける場所」(ホスティング)
  • App Store / Google Play … アプリを「配る場所」(ストア)

ECサイトで例えるなら、Vercelは商品を置いておく倉庫、Google Playは商品を並べる店頭です。倉庫と店頭を同じ「公開する場所」とひとくくりにすると、混乱します。「動かす場所」と「配る場所」は分けて考えるのが、公開を理解する鍵です。

Vercelは倉庫(Webを動かす場所)、Google Playは店頭(アプリを配る場所)という役割の違いを示す図

ルート別の中身 — どれを選べばいい?

A. Webアプリをそのまま公開する(ホスティング)

作ったWeb画面を Vercel / GitHub Pages / Netlify などに乗せると、URLで誰でもアクセスできるようになります。インストール不要で、リンクを送るだけで見てもらえるのが強み。例:社内の勤怠入力ツール、イベントの申込フォーム、ポートフォリオサイト。「URLを共有すれば使ってもらえる」もので十分なら、これが一番ラクです。

B. WebアプリをPWAにする

Webアプリに少し設定を足すと、ブラウザから「ホーム画面に追加」でアプリのように使える形(PWA=Progressive Web App)になります。スマホのホーム画面にアイコンが並び、全画面で開けます。例:食べログやX(旧Twitter)を「ホーム画面に追加」したときの、あのアプリっぽい状態。ストア申請なしでアプリ風にできるのが利点。ただし見た目は「Webアプリ感」が残ります。

C. WebアプリをTWAでGoogle Playに出す

既にWebアプリがあるなら、TWA(Trusted Web Activity)で箱に包んで Google Play に並べられます。専用ツールのBubblewrapなどを使います。コマンド操作が苦手なら、Web画面でポチポチ操作するだけでパッケージを作れるPWABuilder(Microsoft製)が手軽でおすすめです。仕組みは「アプリを開くと、中で公開URLをこっそり表示する」イメージ(=Webサイトをアプリの皮で包んだ状態)。そのためホスティング(Vercel等)が必須です。Webの公開とストア公開をセットで行うルートです。

D. 最初からネイティブアプリで作る(Flutter / React Native)

本格的なスマホアプリにするなら、Flutter や React Native でネイティブアプリそのものを作るのが王道。特にReact Nativeは、Expoを使うと環境構築やビルドが自動化され、初心者でも始めやすい定番です。ビルド(アプリの形に組み立てること)して App Store / Google Play に申請(ストアの審査に出すこと)します。カメラやプッシュ通知などスマホの機能をフルに使え、動作も見た目もアプリらしく仕上がります。例:InstagramやUberのような“ちゃんとしたスマホアプリ”を目指すならこれ。ただしWebとは別の作り方を覚える必要があります。

E. ハイブリッド(Capacitorでローカル同梱)

「Webで作った画面を、そのままアプリにしたい」なら Capacitor。Cと似ていますが決定的に違うのは、画面ファイルをアプリの箱の中に直接詰め込む(同梱する)点。Cの「お店に毎回URLを見に行く」のに対し、Eは「お弁当を最初から箱に詰めて持っていく」イメージです。だからWebをネットに公開する必要がありません(=Vercel不要)。Webの資産を活かしつつ Google Play に出せる、いいとこ取りのルートです。詳しくは後半の「最小構成」で扱います。

TWAはお店に毎回URLを見に行く方式でホスティング必須、Capacitorはお弁当を箱に詰めるように同梱しVercel不要、という対比図

③裏側は、どの公開ルートでも共通で使える

※ここから少し専門的な話になります。難しければ読み飛ばしてOK。結論(「裏側はSupabaseで足りる」)は変わりません。

ここで③の裏側(データ・ログイン)の話。結論から言うと、Supabaseなどの裏側は、上のA〜Eどのルートを選んでもそのまま共通で使えます。Webでもネイティブでもハイブリッドでも、裏でデータを保存しログインを処理してくれます。

だから「Google Playに出すからSupabaseはダメ」という発想は不要です。たいていのアプリは、裏側はSupabaseだけで足ります。「サーバーをもう1つ用意して」とAIに言われるのは、次のような“ちょっと特別なこと”をしたいときだけ。自分に当てはまらなければ、ここは読み飛ばして大丈夫です。

  • 開くたびに中身を作り直して見せたい … 例:ニュースサイトのように、毎回その時点の最新一覧を表示する(専門用語で「SSR」)
  • 画面の裏で“自動の処理”を動かしたい … 例:「問い合わせが届いたら、自動で確認メールを送る」(専門用語で「API」)
  • 人に見せたくない“鍵”を使いたい … 例:クレジット決済や他社AIの秘密のパスワード。スマホやブラウザに置くと盗まれるので、裏側に隠す必要がある(この鍵を「APIキー」と呼びます)
  • 時間のかかる重い作業をやりたい … 例:毎晩0時に売上をまとめて集計する、画像をいっぺんに縮小する

そして安心材料がもう一つ。こうした特別な処理も、たいていはSupabase自身の機能(Edge Functions)でまかなえます。だから最初から別のサーバーを足す必要は、ほとんどありません。

要するに:「公開ルートを選ぶ話」と「裏側を強くする話」は別物。まずは「裏側はSupabaseでOK」とだけ覚えておけば十分です。

最小構成の実例:ローカルの画面をそのままアプリにする

「すでにローカルで画面が動いている」人にいちばん手軽なのが、ルートE(ハイブリッド)です。流れはこうなります。

ローカルの画面(HTML/CSS/JS)
   ↓ 静的ファイルに書き出し
   ↓ Capacitor が箱に同梱
Androidアプリ(AABファイル=Google Play用の配布パッケージ)
   ↓
Google Play へアップロード
   ↑
データ・ログインは Supabase に直接通信

「静的ファイル」とは、サーバーで毎回処理せずそのまま表示できる完成済みのHTML/CSS/JSのこと。印刷済みのチラシのようなもので、配るだけで誰のパソコンでも同じように表示されます。

画面をアプリ内に同梱するので、Webをネットに公開する必要がありません=ホスティング(Vercel等)もなしで完結します。必要なものはこれだけ。

  • ✅ ローカルの画面(もうある)
  • ✅ Supabase(裏側)
  • ✅ Capacitor(ラップ役・無料)
  • Google Play Console($25 の一回払い)
  • ❌ Vercel … 不要
ローカルの画面をCapacitorで同梱しAndroidアプリにしてGoogle Playへ公開、データはSupabaseに通信する最小構成のフロー図

まとめ:3層で切り分けられれば、公開で迷わない

疑問答え
どうやって公開する?①が「Web」か「ネイティブ」かで、②の公開ルートが決まる
ホスティングとストアの違いは?倉庫(動かす)vs 店頭(配る)。役割が別
Webをアプリにするには?TWA(要ホスティング)か、Capacitor(ローカル同梱・Vercel不要)
裏側(Supabase)は変える必要ある?不要。どの公開ルートでも共通で使える

最後にもう一度。①ガワ ②届け方 ③裏側——この感覚さえ持っておけば、今後AIに色々言われても「これは①の話」「これは③だから関係ない」と自分で切り分けられます。

難しいのはアプリそのものではなく、層が混ざって見えているだけ
自分のアプリがこの地図のどこにいるかを掴めば、公開はもう怖くありません。

この記事を書いた人

宮崎翼

愛媛県出身・東京都在住。
国立工業高専(新居浜工業高等専門学校)卒業後、外資系ソフトウェア企業などで法人営業・IT導入支援に従事し、BtoB領域で多様な新規開拓やエンタープライズのDX推進を経験。

現在は「AppTalentHub」の理念、ノーコード/ローコードを活用したアプリ開発の標準化と、エンジニアのスキルの可視化による適正評価を実現するためのプロジェクトやコミュニティ運営に取り組んでいます。
https://tsubasa.tech/about