過去數年,代表Linux-Apache-MySQL-PHP的LAMP一直是最流行的Web開發平台,但新的平台逐漸增多並很多也很耀眼。我們不禁想問,時至今日,LAMP仍然是Web開發最流行的選擇嗎?我目前認為它仍然是最流行的選擇,LAMP之所以很受歡迎,是因為與其它平台相比,它具有很多優勢。
成本低廉,擴展能力好
誠然,在比較開源的LAMP平台和商業化運作的,如J2EE或ASP.NET平台時,成本肯定是首先要考慮的因素,開源產品可免費下載使用,其本身的成本很廉價,此外,LAMP對硬件的要求也較低,而J2EE和ASP.NET對硬件的要求要高一些,在Web托管領域,LAMP類型的托管服務通常比J2EE和ASP.NET類型的要廉價一些。
有很多分析師認為LAMP雖然可以快速構建Web應用程序,但LAMP的擴展性並不好,要想取得良好的擴展能力付出的代價可能比當初構建Web應用程序還要多,但根據我的經驗,LAMP的擴展性不佳不是因為平台本身的原因,而是開發的原因,很多不具備擴展能力的代碼都是開發人員的“傑作”,為此我還專門研究了大量的Java和ASP代碼,發現一樣存在這個問題,最後發現經驗不足的開發人員往往容易寫出不具有良好擴展能力的代碼,事實上,很多人根本不是自己寫的代碼,而是從其它地方直接復制過來的。
部署量大,安全性高
LAMP因其部署量非常大,安全問題也更少,因為能發現的問題幾乎都被翻了過遍,它也是全世界范圍內測試最徹底的軟件組合。
當然,我並不是說LAMP組合就沒有安全問題了,但大多數時候LAMP中暴露的安全問題都是因缺少經驗的開發人員未遵循最佳實踐編寫的代碼包含漏洞,或經驗不足的系統管理員未正確配置LAMP造成的。
靈活,穩定
LAMP也提供了非常好的靈活性,開發人員可以選擇自己喜歡的框架,甚至構建自己的框架,其它平台通常包括它們自己的框架,可選擇的余地很小,例如,.NET框架是ASP.NET開發的唯一選擇,J2EE是基於Java的框架,Rails則基於Ruby框架,使用PHP時,開發人員可以選擇CakePHP,CodeIgniter,Zend Framework等框架。
使用LAMP還有另一個好處,開發人員可以獲得全部的源代碼,因此可以自行修改LAMP中的軟件,以滿足特殊需要,例如,Apache Web服務器支持可裝載模塊,開發人員可以開發自己的模塊來處理特殊的任務,如通過可裝載模塊在Apache內實現身份認證,LAMP給開發人員提供了很好的選擇靈活度。
LAMP一向以穩定而著稱,新版本的向後兼容性通常也比較好,即便是升級到了新版本,開發人員也很少需要重寫代碼,LAMP的模塊化特性使得它可高度配置,在穩定性方面,與商業化的ASP.NET或J2EE解決方案相比,LAMP也是毫不遜色的。
開發門檻低,系統成型快
因LAMP均可免費獲得,使其變得非常流行,降低了開發人員進入LAMP的門檻,但ASP.NET和J2EE都有認證計劃,開發人員可以遵循最佳實踐開發,而要界定一名LAMP開發人員是否遵循最佳實踐則很難。
前面我也提到ASP.NET和J2EE可選擇的框架很少,雖然我一度認為這是一個缺點,但對於大型開發團隊來說卻是一個優點,可選擇的余地很少可以讓整個團隊成員保持一致的知識體系,在培訓和溝通方面都會節省很多時間,而LAMP陣營因可選的機會太多,團隊成員個體容易養成獨立的開發習慣和見解,會給團隊協作帶來很大麻煩,因此我認為LAMP更適合一個人的開發團隊或小型團隊使用。
使用LAMP可以快速搭建起系統的原型,成本也很低廉,這是LAMP的一大強項,對於初創公司而言,可以利用LAMP快速搭建一個系統原型,進而吸引投資人,盡快獲得投資。
小結
無論如何,LAMP仍然是非常流行的Web開發平台,其低廉的成本和進入壁壘使得很多開發商都選擇了它,LAMP安全、穩定和良好的擴展性也吸引了不少企業用戶,對於初創公司,LAMP可以幫助其快速搭建系統原型,進而拿到投資,LAMP的靈活性也成為很多人選擇它的理由。因此,我們可以肯定地得出結論:LAMP仍然是Web開發最流行的選擇,在未來相當長一段時間裡,它會和其它競爭技術共存。