iT邦幫忙

2024 iThome 鐵人賽

DAY 24
0

在開發Side Project的過程中,後端常常是被忽視的一部分,特別是對於初學者來說,前端的呈現效果更容易引起關注。然而,當你的專案需要處理使用者資料、資料儲存、認證系統,或者是需要讓多個設備之間保持資料同步時,後端就顯得不可或缺。

那麼,在你的Side Project中,應該如何面對後端開發的需求?將幫助你了解選擇合適的後端技術,並指導你從零開始建立後端系統。


後端在 Side Project 中的重要性

並不是所有的 Side Project 都需要後端支持。如果你的專案只是展示靜態內容,甚至是一個單純的或作品集網站,後端的需求可能並不強烈。但一旦你的專案需要資料,如使用者註冊、資料庫的存取、或者API的集成,那麼後端便成為了不可或缺的一部分。

在我過去開發 「攀岩網站」 以及 「島島阿學」 等Side Project時,這個問題也曾困擾過我。最初,我選擇使用 Firebase 這樣的 BaaS 平台來快速上手,讓我能夠專注於前端開發。


如何選擇適合的後端技術?

當決定是否需要後端時,選擇一個合適的技術是成功的關鍵。這裡列出了幾個常見的後端技術,並探討它們各自的優缺點:

  • Firebase(BaaS 平台)

    • 優點:簡單易用,無需管理服務器,提供身份驗證、資料庫、儲存等功能,非常適合快速 MVP 開發。
    • 缺點:功能比較受限,當你需要自定義的邏輯時,會感到有些局限。
  • Node.js + Express(JavaScript)

    • 優點:如果你已經使用 JavaScript 進行前端開發,Node.js 讓你能夠使用同樣的語言來開發後端,且生態系統豐富。
    • 缺點:對於一些高性能需求的大型應用,可能需要額外的優化。
  • Python FastAPI(輕量級 API 框架)

    • 優點:語法簡單、運行速度快,非常適合API驅動的項目,支持非同步操作。
    • 缺點:相對較新的框架,社群和資源相比其他技術還不夠成熟。
  • Spring Boot(Java 框架)

    • 優點:Java 生態系統強大,適合構建大規模企業級應用,有很好的安全性和擴展性支持。
    • 缺點:開發門檻較高,特別是對初學者來說,學習曲線較陡。

在我開發 「攀岩網站」 時,最初選擇 Firebase 是因為其能夠讓我快速完成前端與後端的集成,然而當我需要更精細的控制權,例如會員管理和資料處理時。這個過程也讓我深刻體會到,選擇後端技術時,應該根據專案的複雜度和長期需求來做決定。


從零開始搭建後端

如果你決定自己搭建後端,那麼下面是一個簡單的流程,可以幫助你從零開始:

  1. 設置伺服器:選擇一個虛擬主機或雲服務平台,如 AWS、Google Cloud、或是像我一樣選擇自己租用虛擬主機。這不僅能節省成本,還能增加對 Linux 系統的熟悉度。
  2. 選擇資料庫:常見的選擇包括 MySQL、PostgreSQL(我目前正使用的資料庫),或者更輕量的 SQLite。如果你的使用者不需要大量資料處理,雲端資料庫如 Firebase Firestore 也是不錯的選擇。
  3. 設置 API 路由:無論是使用 Express、FastAPI 還是 Spring Boot,設置 API 路由是後端的核心。確保你的 API 能夠處理使用者請求、資料存取與響應。
  4. 使用者認證與安全性:考慮使用現成的身份驗證服務,如 Firebase Auth,或是實現自己的 OAuth 流程,並注意防範常見的安全問題,如 SQL 注入、跨站腳本攻擊等。

快速上手:使用現成的後端服務

對於一些快速上手的專案,並不一定需要從零開始搭建後端。以下是幾個現成的 BaaS(Backend as a Service)解決方案,可以幫助你快速構建專案的後端:

  • Firebase:Google 提供的 BaaS 服務,適合構建小型專案和快速原型。
  • Supabase:開源替代 Firebase,提供 PostgreSQL 作為後端資料庫,支持實時同步功能。
  • AWS Amplify:AWS 提供的 BaaS 服務,適合需要更多雲端功能的專案。

在我開發 Side Project 的過程中,這些服務都曾給予了我快速啟動專案的便利,特別是在初期驗證專案想法時,這些平台的即時性和無需管理伺服器的特性非常吸引人。


後端的擴展與維運

當Side Project發展到一定規模,如何擴展後端成為一個必須考慮的問題。以 「攀岩網站」 為例,隨著使用者數量的增加,資料儲存與同步的挑戰開始顯現。因此,從一開始就考慮未來的擴充計劃,例如,如何處理更多的用戶、如何進行資料庫的擴展,以及如何確保系統的安全性和穩定性,都是在Side Project開發後端時,需要未雨綢繆的。


結語

開發 Side Project 的過程中,後端的選擇與開發往往決定了專案的可擴展性和長期運營的成功。無論你選擇使用現成的BaaS服務,還是自己從零開始搭建,都需要專案的需求和規模來做出決策。


上一篇
Day 23: 開發 Side Project 的介面可以怎麼做?
下一篇
Day 25: 開發完 Side Project 如何讓別人可以使用?
系列文
「如何從零到一:打造你的首個 Side Project」30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言