web后端开发语⾔Java和PHP的⽐较
记住我理念上的不同导致了Java和PHP在Web应⽤开发上显⽰了不同的结果,尽管Java的数学计算和数据库访问都有优势,架构也相当完美,但是PHP却可以简单轻松地⽀持⾼强度Web访问,能够快速开发应⽤,⽀持PHP的虚拟主机多如⽜⽑,使得⽤PHP开发⼀个⽹站⽐⽤Java开发⼀个⽹站要快得多,容易的多。Java所拥有的优点只适合传统的以软件项⽬为核⼼的开发模式,⽽PHP更适合于以客户为核⼼的SaaS的开发模式,因此,PHP⽬前在Web⽹站开发的优势完全是因为Web⽹站开发的特殊性⽽导致的,并⾮编程语⾔特性所决定。
Java语⾔相⽐PHP有明显的优势,Java使⽤的是⾯向对象的系统设计⽅法,⽽PHP还是采⽤⾯向过程的开发⽅法。PHP只能实现简单的分布式两层或三层的架构,⽽JAVA可以实现多层架构。数据库层(持久化层)、应⽤(业务)逻辑层、表⽰逻辑层彼此分开,⽽且现在不同的层都已经有⼀些成熟的开发框架的⽀持。例如Struts就是利⽤Java的web开发技术实现了MVC的设计模式,⽽在业务逻辑层也有Spring框架,数据库持久化层有Hibernate等框架。这些框架可以⽅便开发者⾼效、合理、科学得架构多层的商业应⽤。从数学运算和数据库访问速度来讲,Java的性能也优于PHP.实际上,对于跨平台的⼤型的企业应⽤系统来讲,Java⼏乎已经成为唯⼀的选择(微软.NET不⽀持跨平台),但是在于Web⽹站应⽤开发来讲,Java却⾯临着被PHP边缘化的危险,⼏乎所有的虚拟主机都⽀持PHP+MySQL,⽽⽀持Java的却少之⼜少,在资源上,⽹上有不计其数的PHP资源,很多著名的⼤型⽹站(例如Facebook、Mediawiki
等)都是基于PHP的,⽽成功的Java⽹站却寥寥⽆⼏,我不禁反思这是什么原因导致的?
因此,PHP在Web⽹站开发语⾔的战争中已经慢慢将Java抛在了后⾯,Java要想在Web⽹站开发上奋起直追,的确应该多听听Andi Gutmans的意见,彻底改变⼀下思路才⾏,否则两者的差距只能是越来越远。
另外,虽然在国际上LAMP(Linux+Apache+Mysql+Php)架构已经占领了统治地位,但是在中国国内还有⼀个怪胎,就是基于微软的Windows Server+IIS+SqlServer+ASP/ASP.NET的架构,从理论上说,微软的这⼀套架构也能实现不错的性能,只可惜Windows和SqlServer价格不菲,整个架构在性能上⽐起LAMP不仅没有什么优势,反⽽还有不少劣势,因此微软的这⼀套家伙在国际市场上吃不开。⽽国内使⽤微软盗版则可以忽略成本,⽽ASP的易学易⽤性不逊于PHP,甚⾄连IT外⾏都能够使⽤,因此在国内也有不⼩的市场。但是随着中国在保护知识产权⽅⾯的⽇趋完善,免费的LAMP依旧是未来的趋势。