GeminiとFirebaseで作るWebアプリ開発入門
企画から公開までの全ステップを、家づくりに例えて分かりやすく解説
「自分だけのWebアプリケーションを作ってみたいけど、何から始めればいいか分からない…」そんな風に感じたことはありませんか?この記事では、対話型AIのGeminiと、Googleが提供する開発プラットフォームFirebaseを使って、一つのWebアプリケーションが完成し、インターネットに公開されるまでの全工程を、分かりやすいステップに分けて解説します。
実際に開発を進める中で遭遇したエラーや、つまずきやすいポイントも具体的に紹介するので、これからWeb開発を始めるあなたの、心強いガイドになるはずです。
開発の全体像:家づくりに例えてみよう
Webアプリケーション開発は、よく「家づくり」に例えられます。この例えを使うと、複雑な工程も直感的に理解できます。
設計図を作る
フロントエンド開発でユーザーインターフェースを設計
土地を確保する
バックエンド準備でFirebase環境を構築
住所を書き込む
アプリとデータベースの連携設定
家を公開する
デプロイしてインターネットに公開
ステップ1:アプリの見た目を作る(フロントエンド開発)
何をしたか?
Gemini Canvas上で、勤怠システムの見た目やボタンの動作といった、ユーザーが直接触る部分のプログラム(HTML, CSS, JavaScript)を作成・修正しました。
例えるなら...
これは、家の「設計図」を作る段階です。どんな部屋があって、ドアや窓はどこにあって、壁紙は何色にするか、といった家の見た目や間取りを決めていきます。
この段階では、まだアプリは「絵に描いた餅」です。ボタンを押しても、ログインしようとしても、何も起こりません。なぜなら、データを保存したり処理したりするための「家」そのものが、まだ存在しないからです。
ステップ2:データを保存する場所を用意する(バックエンド準備)
何をしたか?
あなた自身のGoogleアカウントでFirebaseにログインし、プロジェクト、ユーザー認証(Authentication)、データベース(Firestore)を作成しました。
例えるなら...
家を建てるための「土地」を確保し、「建築許可」を取る段階です。これはあなたの所有物であり、他の誰か(AIを含む)が勝手に手出しすることはできません。
Firebaseプロジェクト
家を建てるための「土地」です。
Authentication
誰が家に入れるかを管理する「鍵のシステム」です。
Firestore Database
勤怠データなどの「家具」を置くための、「家そのもの」です。
セキュリティルール
「ログインしている人だけが読み書きできる」といった「入退室のルール」を定めます。
ステップ3:アプリとデータベースを繋ぐ(連携)
何をしたか?
FirebaseからfirebaseConfigという「住所」のような情報を取得し、それをアプリのプログラムに貼り付けました。
例えるなら...
設計図に、完成した家の正しい「住所」を書き込む段階です。この作業によって、アプリは「ユーザーが入力したデータを、インターネット上のどのデータベースに送ればいいのか」を初めて知ることができます。
この連携が完了して初めて、フロントエンド(見た目)とバックエンド(データの置き場所)が繋がり、アプリケーションは一つのシステムとして機能し始めます。
ステップ4:インターネットに公開する(デプロイ)
何をしたか?
PCに専門道具(Node.js, Firebase CLI)を準備し、コマンドプロンプトからfirebase deployという命令を出すことで、完成したアプリをFirebaseのサーバーにアップロードしました。
例えるなら...
完成した家を、誰でも見に来れるように一般公開する段階です。deploy(デプロイ)とは「配備する」という意味で、あなたのPC上にあるファイルを、世界中の誰もがアクセスできるサーバーに移す作業を指します。
この作業が完了すると、https://...web.appという形式の本番URLが発行され、あなたのアプリケーションは世界中に公開されます。
よくあるつまずきポイントと解決策
今回の開発でも、いくつかのエラーに遭遇しました。これらは多くの初学者が経験する典型的な問題です。
'npm' is not recognized... エラー
原因:PCにNode.jsがインストールされていない。
解決策:Node.js公式サイトからLTS版をインストールする。npmはNode.jsと一緒にインストールされます。
auth/email-already-in-use エラー
原因:登録しようとしたメールアドレスが、すでにそのFirebaseプロジェクトに登録されている。
解決策:別のメールアドレスで登録するか、そのメールアドレスでログインする。
client is offline エラー
原因:アプリがデータベースに接続できていない。多くの場合、Firestoreデータベース自体がまだ作成されていない。
解決策:FirebaseコンソールでFirestore Databaseを作成し、セキュリティルールを設定する。
The query requires an index エラー
原因:Firestoreで、特定の条件でデータを並べ替えたり絞り込んだりする際に、専用の「索引(インデックス)」が必要になる場合がある。
解決策:エラーメッセージに表示されるリンクをクリックして、必要なインデックスを作成する。
まとめ
Webアプリケーション開発は、一見すると複雑に見えますが、このように各ステップの役割を「家づくり」に例えて理解することで、全体像を掴みやすくなります。
開発の4つのステップ
設計図を描く
フロントエンド開発
土地と許可を確保
バックエンド準備
住所を書き込む
アプリ連携
家を公開する
デプロイ
この4つの大きな流れを覚えておけば、次に新しいアイデアが浮かんだ時も、きっと自信を持って開発に挑戦できるはずです。今回の経験が、あなたの次なる一歩に繋がることを心から願っています。