本文目录一览:
- 1、为什么大型网站前端使用 PHP 后台逻辑用 Java
- 2、4006869068 为什么大型网站都是用PHP语言编写?
- 3、为什么80%的网站都用PHP写,PHP实用性有多强
- 4、为什么大部分网站都是用php,而不是用java来写
为什么大型网站前端使用 PHP 后台逻辑用 Java
php和java在开源社区的活跃度严重超过了其他的语言,使用人数也都是相当之多;活跃的开发工程师们能够给我帮助,且这俩都能很好的跨平台,不用花费大量的人力物力去维护。php灵活,好学,上手快,容易修改,容易发布,关键是热部署。
Java的优点是稳定可靠、运行效率高(尤其是JIT的出现之后差距更大了)、不容易犯错(强类型、预编译、必须拦截异常等等),缺点是开发和发布的效率相对较低。尽管优秀的工程师能在一定程度上改变以上的问题,但通常而言,哪能到处都是高手多如狗的梦之队?
从MVC的层次结构上说,在一般网站项目的开发周期中,需求变更最频繁、调整最多的是View,其次是Controller,最后是Model。这非常好理解,没事干谁天天改数据结构?每次版本升级控制结构都要改的啦,或多或少而已。
再次是两者之间的通信,目前RPC技术已经足够成熟,无论是Web Service/Hessian/RESTful API都能够让开发人员专注在功能开发上,而不需要过多的考虑异构平台的差异和通讯的细节。这也就意味着在大公司里同时应用两种语言的方案并不会引入过多的复杂度和工作量。当然,文档量的下限倒是因此被拔高了不少,但事实上大部分团队对此其实都是喜闻乐见的:别每天说文档重要但没空了,你不写其他同事怎么配合?
靠近用户的前端,使用PHP能够更快的完成前端频繁而琐碎的更新,自如的应对各种需求的变化。页面的结构调整、用户输入内容的基本验证、仅只和用户交互有关的简单逻辑等都很适合使用PHP来开发,甚至可以通过类似Smarty等模板技术将其页面的变动迁移到前端团队。而基本的业务逻辑和数据的更新采用Java开发,可以有效的提高复用度、提升性能和吞吐能力、规避安全问题等。而开发效率稍有降低换来的是可维护性的提升,发布速度慢就更不是问题了,因为通常对于基础业务逻辑的调整往往都是整体修改,并层层测试确认才能发布的。
所以,大型网站前端采用PHP后端采用Java,既好招人又好维护、系统稳定还性能高、连安全性都大大增加。代码复用、文档完备度居然也都改善了。让你在以上这些好处触手可及时,对架构师知识谱系在广度上要求更高一些这事根本就不是个问题。
为什么不是仅用PHP或是仅用Java?
其实也有很多公司为了保证团队组织不至于过度复杂,会更倾向于采用单一语言,尤其是中小公司。
单一方案其实一样可以做良好的隔离,PHP同样可以提供Service,而性能问题其实很多时候是算法和架构的问题而不是语言差异的问题。如Velocity或JSTL等也是很优秀的隔离方案。
但这些方案在高压力下会暴露出很多问题而体现双语言的优势,这些在上面其实都提到,详细说明一些很难得到改变的点:
1. PHP由于其动态脚本语言的特性,包括类、函数、常量在内都需要在每次请求周期中重复执行后才能建立运行环境;为了保证解析速度而牺牲编译质量;应用了FastCGI但仅仅只是复用进程处理请求减少fork成本而不是像其他语言,初始化完毕后通过FastCGI的接口获得数据并以对应接口返回数据等几个原因,基本上已经不可能在性能上追回当初更烂现在开着JIT牌跑车的Java了。
2. 在PHP里是如此的容易犯错而难以发现,即使你用实质上出自官方的Zend Studio,也无法改变一个事实:要保证你的程序高质量无大错,得要有充足的经验、足够的严谨、以及——负责任的QA。淘宝的黄裳就曾经拿IDE这事开过玩笑。而玩笑背后的那个原因“缺乏中间件”最近几年有不少的改善,主要是不少中间件的支持变得更广泛了从而让PHP得益,但发展的根源其实还是在C和Java社区。性能和易犯错则是语言特性造成的技术难点,也是用来换取灵活、快捷的必要代价,很难去指望有根本的改善。
3. Java的世界里也有JSTL、Velocity和Freemaker等,但和PHP灵活而强大的动态能力、丰富的函数和类库、轻松的学习成本、多到令人发指的文档相比,简直就是渣,就是渣啊!JSTL改完了要重启Context啊有木有?Velocity不关缓存也要重启啊有木有?Velocity开缓存性能低下啊有木有?即使这些都不管,调整下某个数据校验规则要改Action也要重启有木有?
4006869068 为什么大型网站都是用PHP语言编写?
个人理解主要原因如下:
(1)PHP全开源,开发网站有完整的组合配套.LAMP是很好的低成本解决方案.
(2)目前PHP在全球开发语言中排在前5名,使用者众多,人才容易招聘.
(3)除了apache,开源的ngnix等高性web服务器大大提升了PHP的应用.
(4)已经比较成熟,而且效率很高.
为什么80%的网站都用PHP写,PHP实用性有多强
简单的说php的流行和实用性有关系,但不是绝对关系,导致大部分网站使用php的主要原因大概有以下几个点。
1.php所需要的环境容易搭建,相对于java web,python等,php的环境搭建比较简单,甚至因为互联网上出现许多集成环境包,环境搭建已经是傻瓜式了。而其它的语言,一般都比较复杂,个人建站者,技术能力不足的时候,根本就不会搭建环境。
2.php开发起来相对容易,开发过程不需要像jsp之类的,需要引入大量外部扩展,这样只需要基础环境就可以愉快的开发了,而且难度也并不高,所以学php的就比较多。
3.按上面的说法,asp也符合需要的要求,但是实际上asp的使用量却不如php,其实首先在于asp不够安全,具体我也没研究,但是总是听人在说。其次就是asp跨平台很麻烦,而php可以随意使用在大部分通用系统,这也算是原因的一种。
4.网上大量php的开源项目的出现,也是导致php流行的原因之一,比如各种cms,各种开发框架,大多数免费的。完全促进了php网站的诞生数量,因为有这些,就算你完全不懂编程也可以搭建自己的网站。而asp,jsp之类的,虽然也有开源项目,但是数量上远远不如php,而且主要败在第一条。
最后,php其实实用性没有想象的强,它只能作为web开发语言,而java,python却没有这方面的限制。另外,正因为php网站使用量巨大,也导致越来越多的的黑客学习针对php入侵,这也是个很尴尬的问题。所以简单的说,php能够众多人用的根本原因,是方便,好学,容易玩得转,这多亏了大部分辛苦钻研的开发者,而并不是实用。
因为php能做的,很多编程语言都可以,甚至比它更厉害。
为什么大部分网站都是用php,而不是用java来写
很多系统应用站点是用java开发的,就网站部分而言,有jsp技术
java开发的很多很多代码在服务端,即使给你源码,很多时候让你配置都困难,普通用户上手不是很方便。
而PHP开发的程序的源代码网上有很多都是公开的,他人拿到php开发的程序后都可以进行修改。
开发快速,性能也不错。
所以就实际应用而言,php更简单快捷。
就如同我熟悉C++ delphi java
但我如果接项目,一般是尽量用delphi,因为delphi开发快速方便。