写后端Python,nodejs和php哪个更好一些?
如果你需要后端渲染HTML,需要后端支持热部署,需要后端内置大量Web开发库函数,那就用PHP.因为Python和Node都不支持热部署,都需要手动或自动重启服务进程才能使代码更新生效,而且其语言自带的库函数并不如PHP丰富,而且Python和Node默认没有模板引擎的功能,PHP则天生就支持嵌入到HTML中的模板功能.就算你需要后端只写接口,PHP同样适用,区别在于PHP不再输出HTML而是输出JSON罢了,PHP中用内置的json_encode就能轻松把PHP数组(数据库查询结果)编码为JSON.
性能方面 Nginx+PHP7-FPM 的组合足够,PHP-FPM容器在底层用C实现了一套多进程架构,利用多核应对并发不是问题.而且PHP-FPM还有进程池机制,运维和开发人员可以把存在严重IO阻塞操作的脚本请求放到一个单独的动态进程池中处理,避免阻塞到其他进程池,也就是说,PHP-FPM能在脚本级别的粗粒度上分离IO阻塞.
如何看待天猫彻底抛弃PHP?
我们知道,编程界有很多编程语言,而知名公司的技术选型往往被当成一种开发语言的风向标。PHP也不例外,被国内众多大型互联网公司所采用,淘宝及天猫以前也是用PHP开发的,后来却都转为其它语言了,为什么呢?
天猫早期使用PHP作为前端渲染
天猫早期(2015年之前)也是使用PHP作为前端展示层的(通俗说就是套模板),原因很简单:
PHP人才较多;
那时的业务是复杂多变的,使用PHP就是为了应对这种快迭代节奏。
天猫为什么使用NodeJS代替了PHP?
大概是在2016年天猫就将原本的PHP业务替换为NodeJS实现,不管如何替换,天猫后台业务依旧是以Java为主导。
为什么要把PHP换为NodeJS呢?这个其实和天猫发展有关了,随着天猫业务体系的升级,每年双11压力越来越大,而原先的PHP业务比较“老”了,无论是页面的上线还是维护起来都比较麻烦。对于前端同学来说,掌握PHP的毕竟不多,而专业前端对于NodeJS可轻松上手,将前端渲染全部交给前端团队去做更为合适,一来节省人力成本(避免了前端和PHP后端的沟通成本),二来术有专攻。
综上,PHP和NodeJS作为前端胶水语言都是比较合适的,天猫抛弃PHP转向NodeJS也并不能说明PHP不好,而是出于多种因素综合考量的结果。
以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流 ~ 我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!
问题关键不在于php,而在于重写了一次。
原先的php系统设计年代非常久远(12年前)
我们知道,12年以前(2007年)php的版本号是5.2(5.3要到2009年才发布),而彼时php不支持命名空间、没有良好的自动加载规范、没有composer、没有反射、没有循环引用gc、没有trait、没有很多现代化的工具。如果一个项目如此古老,而多年以来没有经过良好的重构,代码必然已经腐烂了。
事实上,如果只保留所有外部接口定义,内部代码从头来过,无论是否切换语言,任何一个如此古老的项目,有几倍的性能提升我一点都不会诧异。
还没有评论,来说两句吧...