RORK LABEN
FUNDING — RorkがLeft Lane Capital主導で$15Mのシードを調達。Peak XV・True Ventures・Goodwater・a16z Speedrunが参加しましたENGINE — Rork MaxはClaude CodeとClaude Opus 4.6で駆動。X で800万超のビューを集め、2週間で年間売上を倍増させましたSWIFT — Rork MaxはWebで初めてSwiftアプリを生成できるビルダーで、Apple伝統のXcodeを置き換える位置づけですPRODUCT — Rork MaxはiPhone・iPad・Apple Watch・Apple TV・Vision Pro・iMessageまでApple全域に対応しますCLASSIC — 通常のRorkはReact Native(Expo)で、英語の説明だけからiOS/Androidアプリを生成しストア配信できますPRICING — 無料で始められ、有料は月25ドル〜。Rork Maxは月200ドルですFUNDING — RorkがLeft Lane Capital主導で$15Mのシードを調達。Peak XV・True Ventures・Goodwater・a16z Speedrunが参加しましたENGINE — Rork MaxはClaude CodeとClaude Opus 4.6で駆動。X で800万超のビューを集め、2週間で年間売上を倍増させましたSWIFT — Rork MaxはWebで初めてSwiftアプリを生成できるビルダーで、Apple伝統のXcodeを置き換える位置づけですPRODUCT — Rork MaxはiPhone・iPad・Apple Watch・Apple TV・Vision Pro・iMessageまでApple全域に対応しますCLASSIC — 通常のRorkはReact Native(Expo)で、英語の説明だけからiOS/Androidアプリを生成しストア配信できますPRICING — 無料で始められ、有料は月25ドル〜。Rork Maxは月200ドルです
記事一覧/アプリ開発
アプリ開発/2026-06-24初級

プログラミングは分かる人が、初めてWebアプリを公開するときの地図 — Next.jsとSupabaseで掴む全体像

アルゴリズムは書けるのに、フロントエンドとバックエンドの違いやReactのコンポーネントで詰まる。そんな経験者向けに、Next.jsとSupabaseを例にWebアプリの全体像を一枚の地図として整理します。サーバーで動くコードとブラウザで動くコードの境界まで。

Next.js3Supabase32Webアプリ3React初心者22BaaS

関数もクラスも書けて、アルゴリズムも組める。それなのに「Webアプリを一つ作って公開する」となると、急に勝手が分からなくなる。フロントエンドとバックエンドは何が違うのか、Reactのコンポーネントとは結局何なのか。プログラミング自体は知っているのに、Webの文脈で出てくる用語で足が止まる、という人は意外と多いものです。

私自身、個人開発でアプリを作りながら、最初にこの壁にぶつかった一人でした。ここでは、最近のWebアプリ開発で出てくる用語と概念を、Next.js と Supabase を例に一枚の地図として整理します。具体的な技術は例にすぎず、考え方は他のスタックでも応用が効きます。

Webアプリは3つの部分でできている

まず大枠の地図を描きます。Webアプリは大きく3つに分かれます。

  • フロントエンド — ユーザーが実際に見て触る部分(画面、ボタン、フォーム)
  • バックエンド — フロントからのリクエストを受けて、データを処理する部分
  • データベース — データを保存しておく場所

普通のプログラムと一番違うのは、Webアプリが「ブラウザ側で動くコード」と「サーバー側で動くコード」という2種類のプログラムの連携で成り立っている点です。最初に混乱しやすいのもここなので、この地図を頭に置いておくと迷子になりにくくなります。

ブラウザは「HTML・CSS・JSを実行する機械」

フロントエンドの正体はシンプルです。ブラウザは3種類のファイルを受け取って解釈し、画面に表示します。HTMLが「何を表示するか(構造)」、CSSが「どう見せるか(デザイン)」、JavaScriptが「何が起きたら何をするか(動き)」を担います。

「ではHTML・CSS・JSだけで作ればよいのでは」と思うかもしれません。小規模なら可能です。ただ、ボタンを押したらリストが増える、入力したら表示が変わる、といった「状態が変わるたびに画面を書き換える」処理を素のJSで全部書くと、すぐに管理しきれなくなります。

なぜReactのようなフレームワークを使うのか

Reactは「画面の見た目を、データ(状態)の関数として宣言的に書く」という考え方を提供します。命令的に「ボタンが押されたらこの要素を書き換えて」と書く代わりに、「この値があるとき、画面はこう表示される」と宣言する。値が変われば、該当部分だけをReactが自動で書き換えてくれます。

ここで出てくる「コンポーネント」は、画面の再利用単位だと捉えると分かりやすいです。普通の関数が「入力(引数)→出力(戻り値)」なのに対し、コンポーネントは「入力(props)→出力(画面の見た目)」です。ロジックの再利用に関数を使う感覚で、画面の再利用にコンポーネントを使う、と置き換えると腑に落ちます。

フレームワークが解決してくれること

Reactは画面の部品を作るライブラリですが、それだけだと、URLごとにどの画面を出すか(ルーティング)、検索エンジンに読んでもらうにはどうするか、画像やビルドの設定をどうするか、といった実用上の課題が残ります。

Next.js のようなフレームワークは、これらを「フォルダ構成のルール」として標準化します。Next.js では、フォルダ名がそのままURLのパスになります。ファイルを置くだけでルーティングが完成するので、「URLの設計=フォルダ構成の設計」になり、迷いが減ります。私もアプリの管理画面を作るとき、この素直さに助けられました。

つまずきやすい「サーバーで動くか、ブラウザで動くか」

最近のフレームワークで一番つまずくのが、同じファイルの中に「サーバーで実行される部分」と「ブラウザで実行される部分」が混在することです。普通のプログラムは「どこで実行されるか」をあまり意識しませんが、Webアプリではこれが効いてきます。

判断基準はシンプルです。「クリックやフォーム入力など、ユーザーの操作に反応する必要があるか」で考えます。必要なければサーバー側で実行し、データ取得をそのまま書けて速くなります。必要があればブラウザ側で実行します。最初は「全部ブラウザ側にしておけば動く」と考えがちですが、それだとサーバー側で実行する利点を失います。「本当に操作が要る部分だけ」を切り出す意識を持つと、設計がすっきりします。

土台はBaaSに任せる

少し前まで、Webアプリを作るにはサーバーを借り、データベースを設定し、ログイン機能やリアルタイム通信を自作する必要がありました。これらを一つずつ自作するのはハードルが高く、本来作りたいロジックに到達する前に力尽きがちです。

BaaS(Backend as a Service)は、この土台部分をまるごとサービスとして提供します。Supabase はその代表例です。

欲しいものSupabaseが提供するもの
データベースPostgreSQL(本格的なリレーショナルDB)
ログイン機能Auth(メール/パスワード、各種ソーシャルログイン)
リアルタイム更新Realtime(DBの変更を即座にブラウザへ通知)
ファイル保存Storage

つまり「自分でサーバーサイドのコードを書かなくても、ブラウザから安全にDBを操作できる」状態を用意してくれるのがBaaSの価値です。個人開発で、App Store や Google Play に出すアプリの裏側を素早く立ち上げたいとき、この恩恵は大きいです。

最初の一本を作るときの心構え

最後に、初めての一本で持っておくと楽になる考え方を挙げます。まず「どこで実行されるコードか」を常に意識すること。これが分かれば多くの混乱が解けます。次に、認証やDBの基本機能は自作せず、土台はBaaSに任せて、自分が書くのはアプリ独自のロジックだけに絞ること。

専門用語は多く見えますが、その多くは過去のプログラミングの知識をWebの文脈に翻訳したものです。実際に小さなアプリを一つ最後まで作ってみると、ここに書いた概念がつながって見えてきます。後編では、この土台の上で必ず向き合うことになる、DBのアクセス制御(RLS)、画面の状態管理、リアルタイム更新の実装を、コードを交えて掘り下げます。まずは小さな一本を、最後まで通してみてください。

シェア

お読みいただきありがとうございます

Rork Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

アプリ開発2026-06-24
Next.js × Supabase で必ず向き合う3つの実装 — RLS・状態管理・リアルタイム更新
Webアプリの土台を組んだ先で必ず詰まる3つ、DBのアクセス制御(RLS)・画面の状態管理・リアルタイム更新を、Next.jsとSupabaseのコードを交えて実装レベルで解説します。購読の解除忘れによるメモリリークや、認証とRLSの連動といった、本番でハマる落とし穴まで。
アプリ開発2026-06-23
壁紙アプリの色がくすむ問題と Display P3 — 広色域を配信パイプラインで詰める
同じ壁紙が実機ではくすんで見える。原因は広色域(Display P3)とsRGBの取り違えでした。6本の壁紙アプリで色域を詰めた実装手順に加え、画素が本当に広色域かを見分ける方法、配信前ゲートのスクリプト、Android広色域までまとめます。
アプリ開発2026-06-21
壁紙グリッドに戻ると一番上に戻ってしまう — スクロール位置を「戻る」とプロセス復帰の両方で保つ
壁紙アプリの一覧で詳細を見て戻ると先頭に飛んでしまう問題を、ナビゲーションの戻りとプロセス復帰の二つに分けて設計し直しました。getItemLayout と保存タイミング、復元時のちらつきまで含めた実装メモです。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →