結論: 公開の手間は「だれが安全を保証するか」で決まる

POINTWebアプリは「自分で店を開く」、スマホアプリは「モールに出店する」、PCアプリは「通販で直送する」。安全を保証する人が違うから、手順が違う。

アプリを公開するとは、自分のパソコンの中にしかなかったものを、他の人が使える場所に置くことです。ここで大事なのは、使う人が安心して使えると、だれが保証するのかという点です。

たとえるなら、お店の出し方です。Webアプリは自分で土地を借りて看板を出す「路面店」。だれの許可もいりませんが、安全対策は自分の責任です。スマホアプリはショッピングモールに入る「テナント」。モール(App Store・Google Play)の審査を通れば、お客さんが集まる場所に置いてもらえます。デスクトップアプリは「通販の直送」。届いた荷物の差出人がはっきりしないと、受け取る側は開けるのをためらいます。

公開方法のたとえ: Webアプリは自分で店を開く路面店、デスクトップアプリは通販で直送、スマホアプリはモールに出店するテナント
安全を保証する人が違うから、手順が違う。
4種類のアプリの公開の流れ。Webアプリはサーバーとドメインを用意して審査なしで公開。デスクトップアプリは配り方を選び署名で身元を証明して配布。iPhoneアプリはApple Developer Programに登録しXcodeからアップロードして人の審査を通しApp Storeで公開。AndroidアプリはGoogle Play Consoleに登録しAAB形式でアップロードしテストと審査を経てGoogle Playで公開
4種類の公開の流れ。ストアを通すものほど「審査」という関門が増える代わりに、利用者に見つけてもらいやすい。

ここからは、この4つをひとつずつ見ていきます。細かい操作ではなく、「何を用意して、どこを通せば公開になるのか」という全体像をつかんでください。

Webアプリ — サーバーとドメインを用意すれば審査なしで公開できる

Webアプリは、ブラウザで開くタイプのアプリです。利用者は何もインストールせず、URLを開くだけで使えます。公開に必要なものは、大きく3つです。

用意するもの — 置き場所・住所・鍵

  • サーバー(置き場所) — アプリのプログラムを置いて、24時間動かしておくサーバー。自分で機械を用意する必要はなく、レンタルサーバーやクラウドを借りるのが普通です。
  • ドメイン(住所) — 「example.com」のような、利用者がアクセスするための名前。ドメインは年単位で借りるもので、取得したらサーバーと結びつける設定をします。
  • HTTPS(鍵) — 通信を暗号化して「このサイトは本物です」と示す仕組み。HTTPSになっていないと、ブラウザが「保護されていない通信」と警告を出します。最近はサーバー側で自動的に設定してくれるサービスが多くなりました。

公開までの流れ

  1. サーバーを借りる — レンタルサーバー、AWSのようなクラウド、あるいはCloudflare PagesやVercelのような「置くだけで公開できる」ホスティングサービスから選びます。
  2. プログラムをサーバーに置く — これがデプロイです。手作業でファイルを送ることも、Gitに変更を送ると自動で反映される仕組みを作ることもできます。
  3. ドメインを取って、サーバーに向ける — 取得したドメインが自分のサーバーを指すように設定します。反映まで少し時間がかかることがあります。
  4. HTTPSにする — 証明書を設定します。自動でやってくれるサービスならここは何もしません。
  5. 公開 — URLを人に伝えた瞬間から使ってもらえます。

最大の特徴は、だれの審査もないことです。今日作って今日公開できますし、直したいところがあればデプロイし直せば即座に反映されます。このサイト自体も、同じ手順でCloudflareの上に公開されています。

その代わり、セキュリティは自分の責任です。モールの警備員はいないので、鍵のかけ忘れ(設定ミス)があっても、だれも止めてくれません。

デスクトップアプリ — 配り方を選び、身元を証明する

WindowsやMacにインストールして使うアプリです。Webアプリと違ってサーバーは必須ではありませんが、代わりに「どういう形で配るか」と「だれが作ったかをどう証明するか」の2つを決める必要があります。

配る形は2種類 — 実行形式とインストーラー形式

  • 実行形式 — Windowsなら「.exe」、Macなら「.app」を、そのまま渡す形。ダウンロードしてダブルクリックすれば動きますが、利用者が置き場所を自分で決めることになります。
  • インストーラー形式 — Windowsなら「setup.exe」や「.msi」、Macなら「.dmg」や「.pkg」。決まった場所にファイルを配置し、スタートメニューへの登録やアンインストールの仕組みまで面倒を見てくれます。一般の人に配るなら、こちらが親切です。

配る経路も2種類 — 自分のサイトか、ストアか

自分のWebサイトからダウンロードしてもらう方法と、Microsoft StoreやMac App Storeのようなストアに並べてもらう方法があります。ストアを使うと審査が入りますが、利用者は見つけやすく、更新も自動で配られます。

身元の証明 — 「署名」がないと警告が出る

ここがデスクトップアプリ特有の関門です。OSは、どこの誰が作ったかわからないプログラムを警戒します。そこで、コード署名という方法で「このアプリは確かに私が作りました」と証明します。

  • Windowsの場合 — 「コードサイニング証明書」を認証局から取得して、アプリに署名します。署名がないと、起動時に「WindowsによってPCが保護されました」という青い警告画面が出ます。
  • Macの場合 — Appleの開発者プログラムに登録し、署名したうえでAppleに公証(ノータリゼーション)という事前チェックを受けます。これがないと「開発元を確認できないため開けません」と表示されます。
署名なしで配ると、多くの利用者は警告画面でそのまま閉じてしまいます。動くかどうかではなく「怪しく見えないか」で使われるかが決まる、と覚えておいてください。

もうひとつ、デスクトップアプリは更新を届ける仕組みも自分で用意する必要があります。Webアプリならサーバーを更新すれば全員に反映されますが、インストールされたアプリは利用者のパソコンの中にあるからです。自動更新の機能を組み込むか、ストア経由で配るのが一般的です。

スマホアプリ — ストアに「出店申請」して審査を通す

POINTiPhoneはApp Storeが唯一の玄関。AndroidはGoogle Playが正面玄関だが、ストア以外から配る裏口もある。

スマホアプリは、原則としてストア(App Store・Google Play)を通して配ります。ストアはショッピングモールのようなもので、出店するには運営者に申請して、審査を通す必要があります。その代わり、利用者が検索で見つけてくれて、決済も更新もモールが面倒を見てくれます。

iPhoneアプリ — Appleの審査は「人」が見る

  1. Apple Developer Programに登録する — 年会費制の開発者プログラムです。これに入らないと、App Storeに提出すること自体ができません。
  2. App Store Connectでアプリの情報を登録する — アプリ名、説明文、スクリーンショット、対象年齢、プライバシーに関する申告(どんなデータを集めるか)などを入力します。
  3. Xcodeからビルドをアップロードする — Apple製の開発ツールXcodeで提出用の形式に固め、送ります。XcodeはMacでしか動かないため、iPhoneアプリの公開にはMacが必要です。
  4. TestFlightでテスト配布する(任意) — 公開前に、招待した人だけに試してもらう仕組みです。
  5. 審査を受ける — Appleの担当者がガイドラインに沿って実際に動かして確認します。問題があれば理由つきで差し戻されるので、直して再提出します。
  6. 公開 — 承認されると、自分で決めた日時にApp Storeに並びます。

iPhoneは、基本的にApp Store以外からアプリを入れられません。だからこそ審査は厳しめで、その分、利用者は「ストアにあるものは一定の安全が確認されている」と信頼できます。

Androidアプリ — Google Playが基本、直接配布もできる

  1. Google Play Consoleに登録する — 初回に登録料を払って開発者アカウントを作ります。
  2. アプリの情報を登録する — 名前、説明、スクリーンショット、対象年齢、データの取り扱いの申告など、内容はiPhoneとほぼ同じです。
  3. AAB形式でアップロードする — Google Playに提出する専用の形式です。WindowsでもMacでも作れます。
  4. テストを行う — 内部テスト・クローズドテストなどの段階があります。近年、個人の新規アカウントには「一定人数のテスターで一定期間テストしてから公開する」ことが求められるようになりました。
  5. 審査を受けて公開 — 自動チェックが中心で、比較的早く結果が出ることが多いですが、内容によっては人の確認が入ります。

Androidには、ストアを通さず「APK」というファイルを直接配る方法もあります。ただし利用者側で「提供元不明のアプリを許可する」設定が必要になるため、社内限定や検証目的で使われることが多く、一般向けの配布には向きません。

審査で差し戻される(リジェクト)のは珍しいことではありません。公開したい日の直前に初めて提出するのではなく、余裕をもって出しましょう。

4つの違いを一覧で比較 — どれから始めるべきか

POINT初めて何かを公開するなら、審査がなくやり直しも自由なWebアプリが最も入りやすい。
4つの違いを一覧で比較した表。必要なもの・審査・主な費用・更新の反映・利用者の始め方を、Webアプリ・デスクトップアプリ・iPhoneアプリ・Androidアプリで比較。右に行くほど手間と関門が多いが見つけてもらいやすい
右に行くほど手間・関門は多いが、利用者に見つけてもらいやすい。
テキスト版の比較表を開く
公開手順の違い。下に行くほど「関門」は増えるが、利用者には見つけてもらいやすくなる。
Webアプリ デスクトップ iPhone Android
必要なもの サーバー・ドメイン・HTTPS 署名用の証明書(Macは開発者登録も) 開発者登録・Mac 開発者登録
審査 なし ストア経由ならあり あり(必須) あり(直接配布なら不要)
主な費用 サーバー代・ドメイン代 証明書代・登録料 年会費 初回登録料
更新の反映 即時 配り直し(自動更新は自作かストア) 審査ごと 審査ごと
利用者の始め方 URLを開くだけ ダウンロードしてインストール ストアから入れる ストアから入れる

表を見ると、Webアプリだけが「審査なし・即時反映・利用者はURLを開くだけ」の三拍子そろっていることがわかります。これから初めて何かを公開してみるなら、Webアプリから始めるのが最も手軽です。学び方の道筋は学び方のページにまとめています。

一方で、スマホアプリのストア審査は面倒に見えますが、「審査を通った」という信頼と、ストアの検索から見つけてもらえる集客力という見返りがあります。どれが上ということではなく、届けたい相手がどこにいるかで選ぶものだと覚えておいてください。

なお、現場では「公開する」ことをリリースと呼びます。公開作業そのものは開発の最後の工程ですが、実際にはその前にテストや公開手順の準備が入ります。開発全体の流れは開発の流れのページも参考にしてください。

よくある質問

アプリを公開するのにお金はかかりますか?

種類によります。Webアプリはサーバー代とドメイン代(無料で始められるホスティングもあります)、デスクトップアプリは署名用の証明書や開発者登録、iPhoneアプリはAppleの開発者プログラムの年会費、AndroidアプリはGoogle Playの初回登録料が主な費用です。金額は変わることがあるので、各公式サイトで確認してください。

ストアの審査にはどれくらい時間がかかりますか?

一概には言えませんが、時間単位ではなく日単位で見ておくのが安全です。指摘(リジェクト)があれば修正して再提出になるため、公開したい日の直前に初めて提出するのは避けましょう。

iPhoneアプリはWindowsパソコンだけで公開できますか?

基本的にはできません。App Storeに提出する形式のビルドを作るにはApple製の開発ツールXcodeが必要で、XcodeはMacでしか動きません。iPhoneアプリを本格的に作るなら、Macが必要だと考えておくのが確実です。

審査に落ちるとどうなりますか?

理由が通知されるので、直して再提出します。よくある理由はガイドライン違反、動作不良、説明やスクリーンショットの不足、プライバシーに関する記載漏れなどです。落ちること自体は珍しくなく、多くの開発者が経験しています。