搜尋

從靈感到即時同步:Vibe Coding 遇上 Firebase Realtime Database

Firebase Realtime Database ( RTDB、Firebase 即時資料庫 ) 是 Vibe Coding 最完美的後端夥伴,透過幾乎零配置、即時同步且擴充性強的特色,讓 Vibe Coding 的過程更能專注在開發應用的「靈魂」和「創意」,這篇教學會介紹如何開始使用 Firebase Realtime Database、資料結構和安全性設定。

快速導覽:

從靈感到即時同步:Vibe Coding 遇上 Firebase Realtime Database

為什麼需要雲端資料庫?

在進入實作前,新手常會問:「既然已經有 AI,為什麼我還需要一個雲端資料庫?」這個問題關係到應用程式是否具備或需要「長期記憶」與「跨裝置同步」的能力,如果只是一些簡單又不需要儲存的功能 ( 例如計算機、貨幣換算、即時翻譯等 ),在不需要資料庫的狀態下也可以正常運作,但如果是需要儲存資料的功能 ( 例如筆記本、記帳、單字卡等 ),就需要資料庫才能儲存這些資料

通常在開發過程中會用到不少儲存資料的機制,下方列出常用的儲存資料方式:

  • 變數 ( Variable ):屬於「短期記憶」,可能網頁重新整理之後,資料就消失了。

  • 本地儲存 ( Cookie、LocalStorage 等 ):屬於「私人筆記本」,資料雖然還在,但換電腦或手機就看不到。

  • 雲端資料庫 ( Cloud Database ):真正的「資料庫」,能永久保存資料,在世界上任何地方的使用者都能同時存取、同步資訊。

從靈感到即時同步:Vibe Coding 遇上 Firebase Realtime Database - 為什麼需要雲端資料庫?

認識 Firebase Realtime Database

Firebase Realtime Database ( RTDB、Firebase 即時資料庫 ) 是一個託管在雲端的 NoSQL 資料庫。

什麼是 NoSQL?傳統資料庫 ( SQL ) 需要像 Excel 一樣事先定義好嚴謹的表格與欄位,而 NoSQL ( 非關聯式資料庫 ) 像是「自由格式」,不需要預設結構,可以隨時根據需求新增或修改資料欄位,這種「隨寫隨存」的特性,非常符合 Vibe Coding 快速迭代、邊做邊改的節奏。

不同於傳統需要寫 SQL 指令、維護伺服器的資料庫,Firebase Realtime Database 具備以下特點:

  • 即時同步 ( Real-time Sync ):這是 Firebase Realtime Database 的最大特色!當資料庫內的數值改變,所有連線的網頁會都會「自動」更新,不需要使用者手動重新整理。

  • JSON 結構:資料儲存方式極其直覺,與前端開發完美契合 ( 後面會詳細介紹 )。

  • 離線支援:當使用者網路斷線時,會先記錄在本地,等恢復連線後自動同步回雲端。

  • 低門檻:透過簡單的 JavaScript 指令就能讀寫,不需要學習複雜的後端語言。

對於開發者而言,Firebase 提供了一個非常大方的「免費」方案,這個超棒的方案稱為「Spark 計畫」,可以在不綁定信用卡的情況下開始使用,不過因為是免費方案,因此還是有下列限制 ( 參考 官方定價頁面即時資料庫限制 ):

  • 連線數:同時 100 個視窗連著資料庫。
  • 儲存空間:1 GB。
  • 每月下載流量:10 GB。
  • 讀取作業限制:每次最多 256MB。

從靈感到即時同步:Vibe Coding 遇上 Firebase Realtime Database - 認識 Firebase Realtime Database

開始使用 Firebase Realtime Database

使用 Google 帳號登入並開啟下方 Firebase 連結,點擊右上方「Go to console」開啟 Firebase 專案控制台。

前往 Firebase:https://firebase.google.com/

Vibe Coding 開始使用 Firebase Realtime Database - 使用 Google 帳號登入並開啟下方 Firebase 連結,點擊右上方「Go to console」開啟 Firebase 專案控制台

進入專案起始畫面後,點擊「請設定 Firebase 專案」的按鈕,開始建立專案。

Vibe Coding 開始使用 Firebase Realtime Database - 進入專案起始畫面後,點擊「請設定 Firebase 專案」的按鈕,開始建立專案

輸入名稱後就可以繼續。

Vibe Coding 開始使用 Firebase Realtime Database - 輸入名稱後就可以繼續。

勾選 Gemini,取消勾選 Google Analytics ( 啟用 Google Analytics 只是方便觀察使用數據,初期不需要勾選 )。

Vibe Coding 開始使用 Firebase Realtime Database - 勾選 Gemini,取消勾選 Google Analytics ( 啟用 Google Analytics 只是方便觀察使用數據,初期不需要勾選 )

建立專案後,從左側選單選擇「Realtime Database」。

Vibe Coding 開始使用 Firebase Realtime Database - 建立專案後,從左側選單選擇「Realtime Database」

點擊「建立資料庫」,就會開始建立一個即時資料庫。

Vibe Coding 開始使用 Firebase Realtime Database - 點擊「建立資料庫」,就會開始建立一個即時資料庫

資料庫位置選擇「新加坡」,速度會比選擇其他地區稍快,完成後點擊下一步。

Vibe Coding 開始使用 Firebase Realtime Database - 資料庫位置選擇「新加坡」,速度會比選擇其他地區稍快

將資料庫設定為「鎖定模式」,待會介紹安全設定時會進行修改,完成後點擊「啟用」。

Vibe Coding 開始使用 Firebase Realtime Database - 將資料庫設定為「鎖定模式」,待會介紹安全設定時會進行修改,完成後點擊「啟用」

啟用後,如果看到下圖的畫面,表示即時資料庫啟用完成,從畫面中可以看見自己的資料庫網址。

Vibe Coding 開始使用 Firebase Realtime Database - 啟用後,如果看到下圖的畫面,表示即時資料庫啟用完成,從畫面中可以看見自己的資料庫網址

Firebase Realtime Database 儲存的資料結構

Firebase Realtime Database 使用 JSON 樹狀結構儲存資料,什麼是 JSON ( JavaScript Object Notation ) 呢?JSON 是大多數即時資料庫儲存資料的方式,也是非常熱門的交換資料格式,JSON 的結構就像是一個具有「明確標籤的置物櫃」,使用下列的符號紀錄資料:

符號 說明
大括號 {} 代表一個「物件」,裡面可以放很多資料。
key、Value 資料由「key ( 鍵、名稱 )」與「Value ( 值、內容 )」組成,中間用冒號「:」隔開,例如 "name": "VibeCoder",其中 key 必須是字串,且一定要使用雙引號 "
資料類型 值可以是字串 ( 要加引號 )、數字 ( 不加引號 )、布林值 ( true 或 false ),或另外一個物件。
逗號 分隔不同的資料項。

下方是一個簡單的 JSON 範例:

{
  "userName": "小明",       // 字串
  "score": 100,            // 數字
  "isOnline": true         // 布林值
  "next" : {               // 另外一個物件
    "fruit": "apple"
    "num": 200
  }
}

在 Firebase Realtime Database 存檔時,如果沒有指定 Key,預設會生成的隨機 ID 作為 Key,避免資料覆蓋,如果要手動在資料庫添加資料,可以點擊後方「+」號新增。

Vibe Coding Firebase Realtime Database 儲存的資料結構 - 在 Firebase Realtime Database 存檔時,如果沒有指定 Key,預設會生成的隨機 ID 作為 Key,避免資料覆蓋,如果要手動在資料庫添加資料,可以點擊後方「+」號新增

點擊「+」之後,需要輸入資料的 key 和 value。

Vibe Coding Firebase Realtime Database 儲存的資料結構 - 點擊「+」之後,需要輸入資料的 key 和 value

如果在網址列點擊「+」,表示在「根目錄」新增資料,如果在每一層的後方點「+」,就會像建立資料夾一般的一層層建立,這類似上方提到的「建立一個新的物件」。

Vibe Coding Firebase Realtime Database 儲存的資料結構 - 如果在網址列點擊「+」,表示在「根目錄」新增資料,如果在每一層的後方點「+」,就會像建立資料夾一般的一層層建立,這類似上方提到的「建立一個新的物件」

完成後按下「新增」,就可以看到 Firebase Realtime Database 裡面已經出現手動新增的資料。

Vibe Coding Firebase Realtime Database 儲存的資料結構 - 完成後按下「新增」,就可以看到 Firebase Realtime Database 裡面已經出現手動新增的資料

Firebase Realtime Database 安全規則設定

Firebase Realtime Database 仰賴一套安全規則 ( Security Rules ) 決定讀取或寫入資料的權限,點擊「規則」頁籤,可以看到使用 JSON 格式定義的安全規則。

Vibe Coding Firebase Realtime Database 安全規則設定 - Firebase Realtime Database 仰賴一套安全規則 ( Security Rules ) 決定讀取或寫入資料的權限,點擊「規則」頁籤,可以看到使用 JSON 格式定義的安全規則

在 Vibe Coding 時代不需要自己去背這些安全規則,通常只需要問 AI 就可以產生對應的結構,下方提示詞要求 AI 撰寫安全規則 ( 推薦使用 Google Gemini )。

幫我設定 Firebase Realtime Database 安全規則:
- 任何人都可以讀取。
- 除了登入的使用者之外,任何人都不能寫入。
- 如果 key 已經有資料,不能覆蓋這個 key 的資料。

接著將 AI 撰寫的安全規則貼到安全規則區域,按下「發布」就設定完成,發布之前也可以點擊「規則模擬工具」進行簡單測試。

Vibe Coding Firebase Realtime Database 安全規則設定 - 將 AI 撰寫的安全規則貼到安全規則區域,按下「發布」就設定完成

雖然要求 AI 產生規則很簡單,但仍然需要具有一些基本知識,避免完全不清楚規則內容,下方列出規則和新變數:

變數名稱 說明
auth 當前登入使用者的資訊。若未登入則為 null。
auth.uid 登入者的唯一識別碼。
data 寫入前資料庫中現有的資料。
newData 寫入時準備存入的新資料。

符號與運算子:

符號和運算子 說明
. 定義動作 ( 如 .read, .write )。
$ 代表「萬用路徑」或變數 ( 如 $uid )。
=== 檢查兩邊是否相等。
!= 檢查兩邊是否不同。
&& 邏輯「且」。
|| 邏輯「或」。
! 結果相反,例如 !data.exists() 代表資料不存在。

下方列出一些常見的規則 ( Vibe Coding 時代不一定要記,但可以大致看過 ):

建立 Firebase 應用程式

資料庫設定完成後,接下來要建立「Firebase 應用程式」,目的在於讓網頁可以透過應用程式,串連剛剛建立的資料庫,點擊左上角的「專案總覽」,點擊「新增應用程式」。

Vibe Coding 建立 Firebase 應用程式 - 資料庫設定完成後,接下來要建立「Firebase 應用程式」,目的在於讓網頁可以透過應用程式,串連剛剛建立的資料庫,點擊左上角的「專案總覽」,點擊「新增應用程式」

因為要串聯網頁,所以選擇「網頁」應用程式。

Vibe Coding 建立 Firebase 應用程式 - 因為要串聯網頁,所以選擇「網頁」應用程式

輸入應用程式的名稱,點擊下一步。

Vibe Coding 建立 Firebase 應用程式 - 輸入應用程式的名稱,點擊下一步

接著就可以看到一些相關的設定,這是待會串聯資料庫要填入的資訊。

Vibe Coding 建立 Firebase 應用程式 - 接著就可以看到一些相關的設定,這是待會串聯資料庫要填入的資訊

從左上角齒輪前往「專案設定」,裡面也可以查看這個應用程式的資訊,點擊應用程式的「設定」也可以看到設定碼。

Vibe Coding 建立 Firebase 應用程式 - 從左上角齒輪前往「專案設定」,裡面也可以查看這個應用程式的資訊,點擊應用程式的「設定」也可以看到設定碼

Vibe Coding 使用 Firebase Realtime Database 儲存資料

應用程式和資料庫都設定完成後,接下來就可以透過 Vibe Coding 嘗試寫入資料,首先把安全性規則設定為測試用,因為權限全開,上方會出現警告的提示。

{
  "rules": {
    ".read": true,
    ".write": true
  }
}

Vibe Coding 使用 Firebase Realtime Database 儲存資料 - 首先把安全性規則設定為測試用

使用下方提示詞產生一個「最基本」的「記事本」網頁,特別注意要提供「自己的 Firebase 網址」以及強調「不要使用 Firebase Firestore」 ( 範例使用 Gemini ):

因為隱私和安全性問題,AI 不會直接填入資料庫網址,需要手動填入。

請按照下列規則,用畫布幫我產生一個網頁:
- 使用基本的 html 和 js,不要套用任何框架和樣式。
- 畫面中有一個多行輸入欄位,以及一個「送出」按鈕和一個「重填」按鈕。
- 如果輸入欄位沒有內容,無法點擊按鈕。
- 如果輸入欄位有內容按下「送出」會把內容儲存到 Firebase realtime 資料庫。
- 如果輸入欄位有內容,按下「重填」會把輸入欄位清空。
- 不需要使用任何登入機制。
- 我會把資料存到我自己的 Firebase realtime database,請先用假的測試網址。
- 不要使用 Firebase Firestore。

Vibe Coding 使用 Firebase Realtime Database 儲存資料 - 使用下方提示詞產生一個「最基本」的「記事本」網頁,特別注意要提供「自己的 Firebase 網址」以及強調「不要使用 Firebase Firestore」

參考「好用的編輯 Vibe Coding 程式碼工具」教學,把程式碼下載到自己的電腦中 ( 建議使用「JSBin」)貼上 HTML 程式碼,並把假資料的區域換成剛剛應用程式設定的設定碼

Vibe Coding 使用 Firebase Realtime Database 儲存資料 - 把程式碼下載到自己的電腦中,或使用「JSBin」貼上 HTML 程式碼,並把假資料的區域換成剛剛應用程式設定的設定碼

完成後開啟頁面,在輸入欄位輸入內容,按下送出。

Vibe Coding 使用 Firebase Realtime Database 儲存資料 - 完成後開啟頁面,在輸入欄位輸入內容,按下送出

回到資料庫,就可以看到內容已經存入 Firebase 資料庫裡。

因為 AI 產生的寫入資料路徑為 artifacts/${appId}/public/submissions,所以資料會位於多層內。

Vibe Coding 使用 Firebase Realtime Database 儲存資料 - 回到資料庫,就可以看到內容已經存入 Firebase 資料庫裡

Vibe Coding 使用 Firebase Realtime Database 讀取資料

如果已經可以儲存資料,接下來就可以請 AI 撰寫「讀取資料」的程式,使用下方提示詞,把剛剛的網頁新增用清單顯示資料的功能。

幫我在下方新增一個清單,會顯示儲存後的資料

完成後複製程式碼,並更新自己的網頁,就可以看到除了可以寫入資料,寫入資料後,還會即時顯示資料。

Vibe Coding 使用 Firebase Realtime Database 儲存資料 - 回到資料庫,就可以看到內容已經存入 Firebase 資料庫裡

結語

Vibe Coding 的魅力在於將繁瑣交給 AI,將熱情留給創意。而 Firebase Realtime Database 則是這份熱情的最佳催化劑!掌握了這套「Vibe + Database」的組合拳,開發將不再是一場艱辛的馬拉松,而是一場與 AI 共同起舞的即興表演。現在就讓創意跨越裝置,在雲端即時同步吧!

意見回饋

如果有任何建議或問題,可傳送「意見表單」給我,謝謝~

生成式 AI 教學

基本介紹

關於生成式 AI 關於 AI 繪圖 AI 繪圖的提示技巧 AI 繪圖軟體比較 ( 2023 ) AI 繪圖軟體推薦 ( 2024 ) 2025 生成式 AI 工具推薦

Vibe Coding 專區

認識 Vibe Coding Vibe Coding 新手入門 Vibe Coding 網頁知識 Vibe Coding Python 知識 Vibe Coding 規劃架構流程 Vibe Coding 下載網頁程式碼 Vibe Coding 固定網頁樣式 Vibe Coding 使用外部圖片 Vibe Coding 使用 SVG 圖示 Vibe Coding 使用外部字體 Vibe Coding + Firebase 即時資料庫 Vibe Coding Google App Script 部署網頁 Vibe Coding Github 部署網頁

2025 AI 影音工具

ChatGPT - 圖片提示詞技巧 ChatGPT - 客製化機器人 ChatGPT - 使用畫布功能 Gemini - 開始使用 Gemini - 客製化機器人 Gemini - 串接 Google 服務 Gemini - 使用畫布功能 NotebookLM - 開始使用 NotebookLM - 建構知識庫 Google AI Studio - 介面功能 Nano Banana - 影像生成與編輯 Gemini Educator 線上認證 圖片 - AI 圖片快速去背 圖片 - AI 黑白照片上色 聲音 - AI 影片語音轉字幕 影片 - Pika 生成創意影片 影片 - KlingAI 生成影片 影片 - AI 影片趣味特效 影片 - AI 擁抱 ( AI Hug ) 影片 - AI 老照片動起來 圖片 - Dreamina 生成圖片 音樂 - SUNO 創作音樂 音樂 - 免費 AI 音樂素材

ChatGPT

ChatGPT 教學導讀 認識 ChatGPT 開始使用 ChatGPT 優良的提示技巧 基本提示 實用組合提示 角色扮演&對話主題 閱讀並模仿風格 對話中顯示圖片 創作長篇故事與小說 使用 Bing Chat 相關工具或服務

Poe ( Poe AI )

開始使用 Poe 聊天機器人 生成圖片機器人 建立自己的機器人 Youtube 影片重點整理 PDF 重點整理 GPT-4o-mini 分析圖片 讀取網頁進行重點整理 讓 AI 美化提示詞

Ideogram

開始使用 Ideogram 文字產生圖片 圖片 Retry 與 Remix

dzine

開始使用 dzine 提示詞產生圖片 圖片產生圖片 運用圖層功能 運用文字和畫筆 ( 範例 ) 室內設計透視圖實體化 ( 範例 ) 名畫轉真人照片 ( 範例 ) 真人照片轉卡通 ( 範例 ) 真人卡通貼圖

Image Creator

開始使用 Image Creator 提示原則與技巧 搭配 Bing Copilot 產生圖片 ( 範例 ) 產生分享文章縮圖 ( 範例 ) 漫畫書風格

Leonardo.Ai

Leonardo.Ai 教學導讀 Leonardo.Ai vs Midjourney 認識 Leonardo.Ai 註冊與登入 Leonardo.Ai 使用圖片產生器 文字提示語法和準則 Elements 風格元素 使用圖片產生圖片 AI 圖片編輯器 ( Canvas Editor ) 即時 AI 畫布 ( Realtime Canvas ) 即時圖片產生器 ( Realtime Gen ) 圖片升級器 ( Universal Upscaler ) 產生圖片的後續步驟 Prompt Magic 魔法提示 PhotoReal&Alchemy 特色模型 訓練自己的模型 ( 範例 ) 填補缺少的披薩 ( 範例 ) 組合兩片披薩 ( 範例 ) 虛擬陳雷 ( 範例 ) 修改人物年齡 ( 範例 ) 換臉特效 ( 範例 ) 隱藏的人臉或文字 ( 範例 ) 全部填滿皮卡丘 ( 範例 ) 名畫轉真人照片

Recraft

開始使用 Recraft 點陣圖 Raster image 向量圖 Vector image 圖示 Icon 與 Logo 系列影像 Image Set 原型示意圖 Mockup 畫框 Frame、文字 Text 放大 Upscale、改色 Recolor 圖片去背、替換圖片背景 添加、修改、移除景物 圖片產生圖片 點陣圖轉向量圖 自定義圖片風格 合併不同圖片 ( 範例 ) 名畫轉真人照片 ( 範例 ) 照片轉卡通插畫 ( 範例 ) 自製表情貼圖 ( 範例 ) 多格漫畫風格 ( 範例 ) 圖片中加入文字 ( 範例 ) 延伸圖片範圍

Midjourney

Midjourney 教學導讀 認識 Midjourney 使用 Midjourney 使用 niji.journey 設定指令 功能參數 使用文字提示產生圖片 使用圖片產生圖片 優良的提示技巧 多重提示的權重與順序 style tuner 樣式調校 remix 放大、修改與重繪 blend 混合多張圖片 刪除圖片&傳送資訊 ( 範例 ) 修改人物年齡 ( 範例 ) 阿爾欽博托風格 ( 範例 ) 照片轉卡通人物 ( 範例 ) 變胖、變瘦

Vidnoz AI

開始使用 Vidnoz AI ( 影片 ) 照片講話 ( 圖片 ) 人物換臉 ( 圖片 ) 圖片去背

Canva AI 魔法功能

魔法媒體工具 ( 新視窗 ) 魔法工作室 ( 新視窗 ) 魔法變形工具 ( 新視窗 ) 魔法文案工具 ( 新視窗 )

Clipdrop

開始使用 Clipdrop 修改圖片選取區域 延展圖片並生成內容 人物換臉 圖片去背 移除特定物件 放大與增強影像 影像打光 替換天空

Playground AI

開始使用 Playground AI Board 文字產生圖片 Canvas 繪製與修改圖片 Remix 與 Edit 圖片 延展和放大增強圖片 圖片去背、移除物件 搭配 Poe AI 產生圖片

Replicate 模型

認識 Replicate ( 修圖 ) 黑白照片上色 ( 修圖 ) 修復老照片 ( 修圖 ) 增強與放大照片 ( 修圖 ) 更換髮型和表情 ( 繪圖 ) 似顏繪貼圖 ( 繪圖 ) 真人照片轉公仔 ( 繪圖 ) 隱藏的圖案或文字 ( 提示 ) 圖片轉提示詞 ( 提示 ) 改善提示詞

AI 繪圖效果&範例

著色本效果 2D 卡通人物 物品開箱照 像素藝術 百科全書風格 卡通貼紙

AI 繪圖風格大全

風格大全 ( 總覽 ) 風格大全 ( 攝影、照片 ) 風格大全 ( 畫面角度效果 ) 風格大全 ( 媒材、材質 ) 風格大全 ( 卡通、漫畫 ) 風格大全 ( 藝術流派風格 ) 風格大全 ( 藝術家、畫家 ) 風格大全 ( 插畫風格 1 ) 風格大全 ( 插畫風格 2 ) 風格大全 ( 特色風格 )