インストール可能なウェブアプリ(PWA)
アイデアの検証。コンテンツとフォーム中心で端末の深い機能は不要
$0 + ドメイン · 低
△ 全プラットフォームでのプッシュ、バックグラウンド処理、見つけてもらえるストア掲載が必要になった
図面セット · L0–L3
スマホアプリは他人のルールの中で生きています。ストアが公開の可否を決め、OS がコードの実行タイミングを決め、すべての更新は審査の列に並びます。この図面セットは、アプリのようにインストールできるウェブサイトから、バックエンド付きのネイティブアプリまで、アプリがとりうる形と、それぞれが代償に見合う時期を示します。
設計思想
アプリは、自分のものではないスマホに泊まる客です。持ち主の電池、注意、信頼をどれだけ丁寧に使うかで評価されます。
要求する権限はすべて、アンインストールされる理由です。必要になったその瞬間に理由を添えて求め、断られても使い続けられるようにします。
サーバーのバグは数分で直りますが、アプリのバグは審査とユーザーの更新を待ちます。頻繁に変わるロジックはバイナリではなくサーバーに置きます。
OS はいつでもあなたを停止し、終了し、隔離できます。ルールと戦うのではなく、中断される前提で設計します。
一人で最初のアプリなら、インストール可能なウェブアプリかクロスプラットフォームから始めます。通話、バックグラウンド処理、センサーなど、OS が普通のアプリから隠す機能が必要になって初めてネイティブへ。
アイデアを手に取り、自分が本当に 2 回目を開くかを確かめたい段階です。ストアもユーザーもなく、守るものもありません。
ホーム画面に追加できるウェブアプリか、開発用アプリで自分の端末に入れたクロスプラットフォーム版です。バックエンドはなく、データは端末に残ります。
Δ この段階で追加
地図上の形: インストール可能なウェブアプリ(PWA) · クロスプラットフォーム(一つのコード)
実機に一番早くビルドを入れられる方法を選びます。シミュレーターはタッチ、キーボード、性能について嘘をつきますが、ポケットの中の端末は嘘をつきません。
その他の選択肢 · 本サイト未検証
会ったこともない人が、見たこともない端末にアプリを入れています。クラッシュしても教えてはくれず、ただ削除します。
アプリはまずストアのテストトラックを通り、それから公開されます。クラッシュ報告は初日から組み込みます。システム機能が中核なら、そのプラットフォームをネイティブにするのは今です。
Δ この段階で追加
この段階でクラッシュ報告は必須です。自分のものではない端末を見る唯一の窓です。署名鍵は必ずバックアップを。失うと二度と更新できなくなることがあります。
アカウント、購入、同期データが現れました。ストアの決済ルールが適用され、データ漏えいは何百万台で同時に起きます。
アプリは自前の API のクライアントになります。アカウント、購入、頻繁に変わるものはサーバーへ移し、ストア審査なしで直せるようにします。サーバーは、まだインストールされているすべてのバージョンからのリクエストを受け付ける必要があります。
Δ この段階で追加
地図上の形: アプリ + バックエンド API
ストアの購入ルールに厳密に従います。多くのデジタル商品はストア自身の決済を使う必要があります。購入はアプリ内だけでなく必ずサーバーで検証します。
その他の選択肢 · 本サイト未検証
複数のバージョンが同時に動き、悪いリリースは気づく前に多くの人に届き、端末の種類は手作業で試せないほど多くなりました。
リリースは割合ごとに段階的に広げ、自動で止められるようにします。新機能はサーバーから切り替えられるフラグの裏で出し、ビルドごとに実機群でテストします。
Δ この段階で追加
地図上の形: アプリ + バックエンド API · ネイティブアプリ(Kotlin / Swift)
この段階の目標は、新しいビルドなしですべてのリリースを取り消せることです。リモートで止められないものは、目隠しで出すリスクです。
その他の選択肢 · 本サイト未検証
取り得るすべての形。その大半は「まだ作るべきでないもの」を知るためにある。
アイデアの検証。コンテンツとフォーム中心で端末の深い機能は不要
$0 + ドメイン · 低
△ 全プラットフォームでのプッシュ、バックグラウンド処理、見つけてもらえるストア掲載が必要になった
一つのチームで iOS と Android。多くの日常的なアプリ
$0–25/月 + ストア費用 · 低〜中
△ システム機能に届くためにフレームワークと戦う、または性能が中核体験を制限する
通話、バックグラウンドサービス、センサーなど深いシステム権限(URDialer の形)
$0–25/月 + ストア費用 · 中。両プラットフォームならコードも二つ
△ アカウント、同期、決済が現れ、アプリ専用のサーバーが必要になった
アカウント、端末間の同期、決済、共有データ
$5–100/月 · 中〜高
△ 多くのバージョンが同時に出回り、機能フラグと段階的リリースが必要になった
各概念に平易な一文とたとえ話をひとつずつ。ツールモジュールをクリックしても同じ解説が出る。