指南

前端與後端:差在哪裡?

前端是應用程式在使用者瀏覽器中執行的部分,也就是他們看到並點擊的頁面、按鈕、表單與動畫。後端則是在使用者看不到的伺服器上運作的部分:它負責儲存與讀取資料、套用商業規則、檢查誰有權限做什麼,並與付款和電子郵件等其他服務溝通。兩者透過 API 溝通,再加上資料庫,就組成了一個「全端」應用程式。

用 AI 建置時,為什麼這很重要

當你向 AI 建置工具描述一個應用程式時,不論你是否意識到,你其實同時描述了兩個部分。「客戶可以預約時段」意味著:一個預約表單(前端)、一套規則來判斷哪些時段可用(後端),以及一個儲存預約的地方(資料庫)。

了解這樣的劃分,在三個實際層面上很有幫助:

  1. 安全性。 前端中的任何內容,使用者都看得到也能修改。規則與機密必須放在後端。
  2. 除錯。 「按鈕沒有反應」和「按鈕有反應但資料沒有儲存」指向的是不同的部分。說明你看到的是哪一種情況,能幫 AI 更快找到原因。
  3. 託管與成本。 純前端網站便宜且容易託管。後端必須在某處運行,這會影響你的費用,以及應用程式閒置時的表現。

日常生活中的比喻

把它想像成一家餐廳。

前端是用餐區:菜單、餐桌、裝潢,以及替你點餐的服務生。它是為顧客設計的,顧客可以看到並碰觸所有東西。

後端是廚房和辦公室:廚師烹調、倉庫、收銀機,以及決定誰能享有折扣的經理規則。顧客不會進去,也不應該能進去。

API 則是兩者之間的通道,就像點餐櫃檯:訂單以約定的格式送進去,餐點以約定的格式送出來。資料庫則相當於倉庫和訂單簿。

顧客可以改寫自己的點餐單(前端在他們的掌控中),但廚房仍然決定要做什麼、收取多少費用。這就是為什麼重要的檢查必須放在後端。

各自負責什麼

前端後端
執行位置使用者的裝置,在瀏覽器中你(或你的主機商)控制的伺服器
主要工作呈現內容、收集輸入、回應點擊儲存資料、套用規則、執行權限、呼叫其他服務
使用者看得到並能修改程式碼嗎?可以,它會被下載到使用者的瀏覽器不行
能保存機密 API 金鑰嗎?不能能,透過環境變數保存
常見技術HTML、CSS、JavaScript/TypeScript、React、Vue、Svelte、TailwindNode.js、Python(FastAPI、Django)、C#、Java、Go、Ruby
常見問題手機版版面錯位、按鈕沒反應、頁面載入慢資料沒有儲存、顯示錯誤的資料、錯誤訊息、安全漏洞

有些框架會模糊這條界線。例如 Next.js 允許同一個專案同時包含瀏覽器端程式碼和伺服器端程式碼。概念依然相同:問題永遠是「這一段程式碼在哪裡執行?」

實際範例:預約課程

以下是有人預約瑜伽課時,逐步發生的事情。

步驟位置發生什麼事
1前端課表頁面載入,並向後端要求本週的課程。
2後端從資料庫讀取課程與預約紀錄,計算剩餘名額,並以 JSON 回傳清單。
3前端顯示每堂課的時間、老師與剩餘名額。
4前端使用者選擇一堂課,並填寫姓名與電子郵件。表單會檢查電子郵件格式是否有效(這只是提醒,不能保證正確)。
5前端 → 後端透過 API 送出 POST /api/bookings 請求。
6後端再次驗證輸入,確認課程未額滿,儲存預約,並使用機密金鑰請電子郵件服務寄出確認信。
7後端 → 前端回傳「已預約」或「很抱歉,已額滿」。
8前端顯示確認畫面。

請注意步驟 4 和步驟 6:輸入被檢查了兩次。前端的檢查提供即時回饋;後端的檢查才真正有效,因為有心的使用者可以完全繞過前端。

常見術語說明

術語意義
Client / server(用戶端/伺服器)用戶端是發出請求的瀏覽器(或應用程式),伺服器則負責回應。
UI使用者介面,也就是畫面與控制項。
API前端向後端要求資料或動作的約定方式。
Endpoint(端點)API 上的一個特定網址,例如 /api/bookings。
Full stack(全端)前端 + 後端 + 資料庫的組合。參見什麼是全端應用程式。
Static site(靜態網站)沒有自己後端的前端,每個人都拿到相同的檔案。
SPA(單頁應用程式)在瀏覽器中更新頁面內容,而不是載入新頁面的前端應用程式。
Server-side rendering, SSR(伺服器端渲染)伺服器在送出前先建立頁面的 HTML,有助於提升速度與 SEO。
Environment variables(環境變數)在執行時提供給後端的設定與機密,並與程式碼分開保存。

你的應用程式需要後端嗎?

如果你的應用程式…需要後端嗎?
顯示對所有人都相同的資訊不需要
有只會寄信給你的聯絡表單通常需要一個小型後端,或使用表單服務
儲存其他人會看到的資料需要
有登入功能與私人資料需要
接受付款需要,至少要能建立結帳流程並接收付款 webhook
使用需要機密金鑰的付費 AI 或其他 API需要,才能讓金鑰不進入瀏覽器

常見錯誤與迷思

  • 把機密金鑰放在前端。 任何打開瀏覽器開發人員工具的人都看得到。這是 AI 建置應用程式中最常見、也最嚴重的錯誤。
  • 只在前端執行規則。 對非管理員隱藏「刪除」按鈕不是保護;後端必須拒絕該請求。
  • 以為後端「只是資料庫」。 資料庫只負責儲存資料。後端決定誰能讀取和修改資料,以及如何進行。
  • 以為 JavaScript 就等於前端。 JavaScript 和 TypeScript 透過 Node.js 也能在伺服器上執行。
  • 責怪錯誤的那一半。 如果頁面看起來正常但資料有誤,問題通常出在後端或資料庫,而不是設計。
  • 過度建置。 作品集不需要自訂後端。加上後端只會增加成本與複雜度。

向你的 AI 建置工具提出的要求

  • 「這個應用程式的哪些部分在瀏覽器中執行,哪些在伺服器上執行?」
  • 「把所有 API 金鑰移到後端,並從環境變數讀取。」
  • 「除了在瀏覽器中驗證,也在伺服器上驗證每一個表單。」
  • 「在後端強制執行:只有管理員能刪除預約。」
  • 「頁面看起來正常,但資料沒有儲存,請檢查後端日誌中的這個請求。」
  • 「這是一個簡單的行銷網站;除非需要,否則只保留前端。」

Mythex 中的前端與後端

新的 Mythex 專案會從 Vite、React、TypeScript 和 Tailwind 的前端開始,當你的應用程式需要後端時,代理程式會加入後端;你也可以要求在同一個專案中,與前端並行運作一個以 Node、Python(FastAPI)、C# 或 Java 撰寫的獨立 API。在預覽中,你可以在網站和 API 伺服器之間切換;發布時會同時部署兩者,並在需要時加入資料庫與檔案儲存空間。說明文件介紹了多服務應用程式,網站託管指南說明上線後兩部分各自運行在哪裡,而應用程式範本則是快速查看全端範例的方式。

常見問題

前端和後端有什麼差別?

前端是應用程式在使用者瀏覽器中執行的部分,也就是他們看到並點擊的頁面、按鈕和表單。後端則在使用者看不到的伺服器上運作,負責儲存資料、套用商業規則、檢查權限,並與其他服務溝通。

每個應用程式都需要後端嗎?

不一定。行銷網站、作品集或簡單的著陸頁可以只有前端。一旦應用程式需要儲存共用資料、讓使用者登入、收款,或使用機密 API 金鑰,就需要某種形式的後端。

HTML 屬於前端還是後端?

在瀏覽器中執行的 HTML、CSS 和 JavaScript 屬於前端。JavaScript 也可以透過 Node.js 在伺服器上執行,此時就是後端程式碼。決定它屬於哪一邊的不是語言,而是程式碼在哪裡執行。

全端是什麼意思?

全端指同時涵蓋前端和後端(通常還包括資料庫)。全端應用程式是同時具備這三個部分的應用程式;全端工程師則同時負責這些部分。

Mythex · Pricing · 用 AI 打造任何東西 · 網站與應用程式範本 · Mythex 比較 · AI 應用程式開發詞彙表 · 免費的 AI 應用程式開發工具 · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港)