Onion Creative

(上篇)為何 Laravel 是我們的首選開發框架?

分類

Web Development

發布日期

3 分鐘

Kelvin Lee

Strategist & Product Engineer, Co-founder.

Our Journey Finding The Project Management Tool For Our Agency

在 Onion Creative,我們日常的項目多為初創產品開發,或是創意/數碼營銷活動。這類項目通常對創意與功能設計有更高要求,但預算卻比一般開發項目更為緊絀。因此,為客戶開發產品時,我們必須時刻把成本效益放在心上。

同步與非同步的本質分別

NodeJS 的一大優勢是非阻塞(non-blocking)執行:得益於 JavaScript 回調函式的非同步特性,後續操作不必等待前一個完成便可開始。然而,根據我們的經驗,處理這些非同步回調往往需要額外時間,才能確保代碼按正確順序執行。很多時候,我們要額外加入同步回調或 Promise 來控制流程。JavaScript 回調的非同步特性,反而可能成為阻礙,令開發時間更長。聽起來是不是有點諷刺?

Laravel 作為最出色的 MVC 框架之一,其同步、以控制器為核心的架構能讓開發者更快、更安全地啟動產品,代碼結構也更有清晰的關注點分離。同步執行的特性從根源上減少大量技術債務,讓成本與風險保持在低水平,團隊也能更專注於為用戶打造優秀的產品。

PHP 幾乎適用於所有平台

不得不說,Apache + PHP 幾乎已是每個 Linux 發行版的預設配置。反觀 NodeJS,則需要額外安裝 NPM、ExpressJS 等一整套組件。對於客戶指定使用 shared hosting 的較小型項目而言,這可能會構成問題。

Apache2 與 PHP:更成熟、更普及、經過充分驗證的內容交付環境

NodeJS 建基於著名的 V8 JavaScript 引擎,該引擎最初由 Chromium 項目於 2009 年為 Chrome 與 Chromium 瀏覽器開發,為 JavaScript 在 Mac、Linux、Windows 等主流可托管作業系統上提供高效的執行環境。然而,它相對而言仍算新技術,有人會認為它在大型應用的可擴展性方面尚未夠穩定。

Laravel 建基於 PHP 之上。PHP 自 1990 年代起主要用於提供網頁內容,時至今日仍支撐著全球超過 70% 的網站。這是社群多年努力的成果,也是一項技術奇蹟——歷經無數社群測試與批評,依然服務著全球 80% 的網站。

NodeJS 是單線程執行環境

不要誤會,NodeJS 擁有極強大的事件驅動事件循環模型,能夠支援遠超 Apache 與 PHP 的並發處理量;但風險在於,一旦線程崩潰,整個 NodeJS 技術堆疊也可能隨之崩潰。

PHP 採用多線程模型,每個請求都會啟動一條新線程。這種處理方式相對有限且「成本較高」,但它能確保任何一條線程崩潰都不會影響其他線程,從而帶來更穩定、容錯性更高的伺服器。我們將在下一篇文章中進一步闡述 Laravel/PHP 如何實際惠及我們的客戶。

Kelvin Lee

Strategist & Product Engineer, Co-founder.

Kelvin 擁有逾二十年 IT 行業經驗,其中 12+ 年專注於網站與應用程式開發。他擅長運用前沿技術,協助企業在數碼領域取得實質成果。2014 年,他共同創辦了數碼創意 Agency Onion Creative,為不同規模的企業提供數碼產品開發諮詢。Kelvin 熱衷於協助企業與初創公司在當今數碼時代茁壯成長。

Get in touchLinkedIn

同類別文章

Why Goose is the AI Coding Agent That Finally Won Us Over
Web Development2 分鐘

我們為何不再推薦 WordPress

WordPress 是個出色的 CMS,但其外掛與主題生態卻為平台和網站擁有者帶來沉重負擔。因此,即使我們為客戶製作 WordPress 網站,也會採取極精簡的做法,確保只使用少數真正必要的外掛。

作者 Kelvin Lee
閱讀全文>