过去数年,代表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开发最流行的选择,在未来相当长一段时间里,它会和其它竞争技术共存。