過去幾十年來,Web開發的技術棧(Tech Stack)變化很大。從最早的LAMP(Linux, Apache, MySQL, PHP/Perl/Python),到後來的MEAN(MongoDB, Express.js, AngularJS, Node.js)、MERN(MongoDB, Express.js, React, Node.js),以及Laravel,這一路的演變反映了Web技術的發展方向,也看得出開發社群對效率、效能和易用性的要求越來越高。
LAMP的起源與影
LAMP指的是Linux作業系統、Apache HTTP伺服器、MySQL資料庫,再加上PHP(或Perl、Python)程式語言。這個組合在早期的Web開發相當流行,原因很實際:全部開源、社群成熟穩定,各元件之間的相容性也好。很多網站和應用都是靠LAMP打下基礎,尤其在動態網頁和資料驅動應用剛起步的那段時期。
MEAN和MERN的興起
JavaScript越來越普及,加上Node.js出現之後,以JavaScript為核心的全端方案MEAN和MERN就跟著誕生了。這兩套技術棧最大的特點,是用戶端和伺服器端都寫JavaScript,開發者不必在兩種語言之間切換,整個開發流程更順、也更一致。
MEAN:核心是AngularJS,這是由Google維護的前端框架,用來開發單頁應用程式(SPA)。
MERN:架構跟MEAN差不多,只是把AngularJS換成Facebook開發的React函式庫。React採用元件化設計和虛擬DOM,很適合拿來打造高效能的使用者介面,因此相當受歡迎。
這兩種技術棧開發快、彈性大,社群支援也好,所以很快就普及開來。
Laravel的普及
Laravel是用PHP寫成的開源Web應用框架,自2011年以來,逐漸成為PHP社群裡最受歡迎的框架之一。它的語法優雅、功能齊全,上手也容易。路由系統、ORM(物件關聯對映)、模板引擎和安全機制它都有提供,開發複雜的Web應用會輕鬆、有效率得多。
Laravel另一個優點是對開發者友善的生態系:文件完整、學習資源多,社群也很活躍。再加上套件管理工具Composer和應用程式部署工具Envoyer等,從開發到部署都方便不少。
技術棧的演進對開發的影響
從LAMP到MEAN/MERN,再到Laravel,這段演進說明了Web開發對快速開發、高效能和易用性的需求一直在增加。技術棧的變化提升了開發效率,也帶動了單頁應用程式、RESTful API和微服務架構等新技術的採用。
回頭看這段技術棧的演進,會發現沒有哪一套是萬用的,選擇時要看專案規模、團隊熟悉度和日後的維護成本。企業架站前不妨先釐清需求,再找熟悉這些技術、能把取捨說清楚的高雄網頁設計公司一起評估,網站上線後也比較好擴充與維護。