網際網路剛起步的時候,網頁開發的工具和語言換過好幾輪,從最早單純的靜態頁面,一路走到後來的動態網頁應用程式。每一代工具都在網頁開發史上留下了自己的位置。這篇文章從Perl談到PHP,整理早期做網頁時最常用的幾種工具和語言。
Perl:早期的動態網頁生成工具
Perl(Practical Extraction and Report Language)是一種高階、通用的直譯式程式語言,由Larry Wall在1987年發明。它原本是拿來處理文字的,但因為寫法靈活、正規表示式又很好用,很快就成了早期做網頁的熱門選擇。
1990年代初期,要把靜態的HTML頁面變成動態網頁,主要靠的是CGI(Common Gateway Interface)。CGI讓伺服器可以執行外部程式來產生網頁內容,而寫CGI程式時,大家第一個想到的就是Perl。Perl寫起來簡單,處理文字又有一套,拿來做表單處理、資料庫查詢和動態頁面產生都很順手。
不過Perl也有它的問題。Perl程式碼常常不好讀,也不好維護,網站規模一大,開發者就開始找結構更清楚、更容易維護的做法。
ASP:微軟的動態網頁技術
網頁技術持續發展,微軟在1996年推出了Active Server Pages(ASP)。這是一種伺服器端腳本環境,開發者可以用VBScript或JScript來產生動態網頁內容。ASP讓動態內容的製作簡單了不少,又和微軟自家的IIS(Internet Information Services)伺服器整合得很緊密,算是動態網頁技術往前跨出的一大步。
ASP的好處是語法簡單、和微軟的技術銜接順暢,開發者很快就能上手,做出功能齊全的動態網站。但它的限制也很明顯,例如只能在Windows伺服器上執行,想跨平台就有困難。
JSP:Java的網頁開發解決方案
JavaServer Pages(JSP)是Sun Microsystems在1999年推出的技術,目的是用Java來產生動態網頁內容。開發者可以把Java程式碼直接嵌進HTML頁面,再搭配Java Servlet技術,組成一個功能完整、彈性也大的網頁開發平台。
JSP的主要優勢是可以跨平台,背後又有整個Java生態系撐腰,開發者能直接運用Java大量的函式庫和工具,做出效能好的動態網站。缺點是學習門檻比較高,沒有Java底子的開發者,往往要花上一段時間才能摸熟。
ColdFusion:簡化動態網頁開發
ColdFusion是Allaire公司在1995年推出的商業網頁開發平台,後來先後被Macromedia和Adobe收購。它用的是一種叫CFML(ColdFusion Markup Language)的標記語言,讓開發者可以很快產生動態網頁內容。
ColdFusion的長處是語法好懂,內建功能也多,像資料庫連線、寄送郵件、影像處理都有現成的,開發者能很快做出功能齊全的動態網站。但它是商業軟體,使用者得付授權費,這多少影響了它的普及程度。
PHP:開源的動態網頁開發語言
PHP(Hypertext Preprocessor)是Rasmus Lerdorf在1994年創造的開源伺服器端腳本語言,一開始就是為了產生動態網頁內容而設計。它提供了簡單、有彈性又免費的選擇,可以說是動態網頁技術的一個轉折點。
PHP好用的地方在於語法容易上手、社群龐大,函式庫和框架也多,開發者可以很快做出功能齊全的動態網站。PHP搭配MySQL資料庫非常順手,因此成了LAMP(Linux, Apache, MySQL, PHP/Perl/Python)堆疊的核心之一,而LAMP正是使用相當廣泛的開源網頁開發平台。
這些年來PHP也一直在進步,陸續加入物件導向支援、命名空間,執行引擎的效能也更好。這些改進讓PHP在現代網頁開發中依然占有重要位置,各種網站和應用程式裡都看得到它。
回頭看這段演進,選擇開發語言從來不只是技術偏好,也關係到日後維護、主機環境與授權成本。企業規劃官網時,不少人會先上網找網頁設計公司推薦,可以留意熟悉這些技術背景、說得清楚架構取捨的高雄網頁設計公司,後續擴充與維護會踏實許多。