技術 4 分鐘閱讀

為什麼我選擇 Laravel + React 作為主力技術棧

為什麼我選擇 Laravel + React 作為主力技術棧

前言:技術選擇是一場取捨

最近在思考要用什麼技術棧來經營自己的接案事業,研究了好一陣子,最終選定了 Laravel + React 這個組合。這篇文章想分享一下我的思考過程,給同樣在猶豫的人一些參考。

為什麼是 Laravel?

開發速度極快

Laravel 的 Artisan CLI 和內建功能讓後端開發速度飛快。認證、郵件、佇列、排程任務,這些常見需求幾乎不用從頭寫:

php artisan make:model Product -mcr

一行指令就能產生 Model、Migration、Controller,省下大量時間。

中文資源豐富

對於在台灣接案來說,Laravel 的中文社群相當活躍。遇到問題很容易找到解法,客戶端的主機商也大多支援 PHP。

生態系完整

金流串接 到 API 開發,Laravel 的套件生態系幾乎涵蓋了所有需求。Spatie 系列套件更是品質保證。

為什麼搭配 React?

元件化思維

React 的元件化架構讓前端程式碼更好維護。當專案規模成長時,這個優勢會越來越明顯。

function ProductCard({ product }) {
  return (
    <div className="rounded-lg shadow-md p-4">
      <h3 className="text-lg font-bold">{product.name}</h3>
      <p className="text-gray-600">{product.description}</p>
      <span className="text-blue-600 font-semibold">
        NT$ {product.price}
      </span>
    </div>
  );
}

市場需求大

目前觀察台灣的求職市場和接案市場,React 的需求量是前端框架中最高的。學一套就能應付大部分客戶的需求。

TypeScript 整合優秀

React 搭配 TypeScript 的開發體驗非常好,型別檢查能在開發階段就抓到很多 bug,這點對於接案品質控管很重要。之後會再寫一篇 TypeScript 的開發心得

兩者如何串接?

目前覺得最好的方式是使用 Inertia.js。它讓 Laravel 和 React 可以無縫整合,不需要額外建立 API 層。關於 Inertia.js 的詳細用法,之後會寫一篇 完整指南

另一個選擇是走純 API 架構,Laravel 當後端 API,React 用 Vite 獨立部署。兩種方式各有優缺點,要看專案需求決定。

我考慮過的替代方案

方案優點為何沒選
Next.js 全端SSR 內建後端邏輯複雜時不夠靈活
Django + VuePython 生態系台灣 PHP 主機更普及
NestJS + React全 TypeScript學習曲線較陡

總結

沒有完美的技術棧,只有最適合你的情境的選擇。Laravel + React 對我來說,在開發效率、市場需求、和生態系成熟度之間取得了很好的平衡。

如果你需要類似的系統,歡迎聯繫討論。

#Laravel #React #技術選擇
Thousand Lab

Thousand Lab