指南

前端 vs 後端:分別喺邊度?

前端係 App 喺用戶瀏覽器入面運行嘅部分,即係佢哋見到同撳嘅頁面、按鈕、表格同動畫。後端係喺用戶睇唔到嘅伺服器上運行嘅部分:負責儲存同讀取數據、執行業務規則、檢查邊個有權做乜嘢,同埋同付款、電郵等其他服務溝通。兩者透過 API 溝通,再加上數據庫,就組成一個「full-stack」App。

用 AI 建 App 時點解要識

當你向 AI 建站工具描述一個 App,不論你有冇留意,其實同時描述咗前後兩部分。「客人可以預約時段」意味住一個預約表格(前端)、一套判斷邊啲時段仲有空位嘅規則(後端),以及一個儲存預約嘅地方(數據庫)。

明白呢個分工,喺三方面特別有用:

  1. 安全。 前端入面嘅嘢,用戶睇得到亦改得到。規則同秘密金鑰必須放喺後端。
  2. 除錯。 「撳掣冇反應」同「撳掣有反應但嘢冇儲存落嚟」指向唔同部分。講清楚你見到邊種情況,有助 AI 更快搵到原因。
  3. 託管同成本。 純前端網站簡單又平宜去託管。後端要喺某處運行,會影響你要俾幾多錢,以及 App 閒置時嘅表現。

日常生活比喻

諗吓一間餐廳。

前端好似飯廳:餐牌、枱凳、裝潢,同埋替你落單嘅侍應。佢係為客人而設,客人睇得到亦摸得到。

後端好似廚房同辦公室:廚師煮嘢、貨倉、收銀,以及經理定嘅折扣規則。客人唔會入去,亦唔應該入去。

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 / serverClient 係發出請求嘅瀏覽器(或 App);server 負責回應。
UI用戶介面,即係畫面同控制項。
API前端向後端要求數據或操作嘅協定格式。
EndpointAPI 上一個特定網址,例如 /api/bookings。
Full stack前端 + 後端 + 數據庫合起嚟。參閱乜嘢係 full-stack App。
Static site冇自己後端嘅前端;所有人睇到嘅都係同一套檔案。
SPA單頁應用程式:喺瀏覽器入面更新頁面內容,而唔係載入新頁面。
Server-side rendering (SSR)伺服器喺傳送前先生成頁面 HTML,有助提升速度同 SEO。
Environment variables喺運行時交俾後端嘅設定同秘密資料,唔放喺程式碼入面。

你個 App 需唔需要後端?

如果你嘅 App…需要後端?
顯示對所有人都一樣嘅資訊唔需要
有一個只會電郵畀你嘅聯絡表格通常一個細型後端,或者用表格服務
儲存其他人會睇到嘅數據需要
有登入同私人數據需要
收款需要——至少要建立結帳同接收付款 webhook
使用需要秘密金鑰嘅付費 AI 或其他 API需要,確保金鑰唔會流落瀏覽器

常見錯誤同誤解

  • 將秘密金鑰放喺前端。 任何人打開瀏覽器開發者工具都睇得到。呢個係 AI 建造嘅 App 最常見嘅嚴重錯誤。
  • 只喺前端執行規則。 對非管理員隱藏「刪除」掣唔係保護;後端必須拒絕請求。
  • 以為後端「只係數據庫」。 數據庫只負責儲存數據。後端決定邊個可以讀取同修改,以及點樣修改。
  • 以為 JavaScript 就即係前端。 JavaScript 同 TypeScript 都可以用 Node.js 喺伺服器上運行。
  • 怪錯咗一邊。 如果頁面望落冇問題但數據有錯,問題通常出喺後端或數據庫,而唔係設計。
  • 過度建造。 作品集唔需要自訂後端。加咗只會增加成本同需要維護嘅部分。

可以問你嘅 AI 建站工具嘅說法

  • 「呢個 App 邊啲部分喺瀏覽器運行,邊啲喺伺服器運行?」
  • 「將所有 API 金鑰移去後端,並由環境變數讀取。」
  • 「每個表格都要喺伺服器驗證,唔止喺瀏覽器。」
  • 「喺後端強制執行:只有管理員可以刪除預約。」
  • 「頁面望落冇問題但數據冇儲存,請檢查後端紀錄裏嘅呢個請求。」
  • 「呢個係簡單嘅宣傳網站,除非我哋需要後端,否則只保留前端。」

Mythex 入面嘅前端同後端

新嘅 Mythex 專案會從 Vite、React、TypeScript 同 Tailwind 前端開始,當你嘅 App 需要後端時,代理會加入後端;你亦可以要求喺同一個專案入面,同前端並行運行一個獨立嘅 API,用 Node、Python(FastAPI)、C# 或 Java 寫。喺預覽入面,你可以喺網站同 API 伺服器之間切換;發布時兩者都會部署,需要時仲會加入數據庫同檔案儲存。文件說明咗多服務 App,網頁託管指南則講解上線後兩部分各自運行喺邊度,而應用程式範本係睇 full-stack 例子嘅快捷方法。

常見問題

前端同後端有咩分別?

前端係 App 喺用戶瀏覽器入面運行嘅部分,即係佢哋見到同撳嘅頁面、按鈕同表格。後端就喺用戶睇唔到嘅伺服器上運行,負責儲存數據、執行業務規則、檢查權限,以及同付款、電郵等其他服務溝通。

每個 App 都需要後端嗎?

唔一定。宣傳網站、作品集或者簡單嘅登陸頁只用前端就可以。一旦 App 需要儲存共用數據、讓用戶登入、收款,或者使用秘密 API 金鑰,就需要某種形式嘅後端。

HTML 屬於前端定後端?

喺瀏覽器運行嘅 HTML、CSS 同 JavaScript 屬於前端。JavaScript 亦可以用 Node.js 喺伺服器上運行,咁就屬於後端程式碼。決定因素唔係語言,而係程式碼喺邊度運行。

Full stack 係咩意思?

Full stack 指同時涵蓋前端同後端(通常仲包括數據庫)。一個 full-stack App 就係三個部分都有;full-stack 開發者則負責全部範疇。

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 简体中文 繁體中文(台灣)