创业做网站选择用node好还是php?

记得几年前,我帮一个朋友搭建了一个在线聊天室,使用node作为后端。
速度真的很快。
用户一进来,消息就能瞬间刷新,延迟几乎无法察觉。
当时使用的是Express框架来异步处理消息推送。
代码量并不多,几分钟就可以搞定。
我的朋友对技术一无所知,希望我使用 PHP 重新创建它。
我建议他不要打扰,但他坚持要尝试一下。

使用两周后,朋友们每天都给我发邮件抱怨:“小李,为什么我这里加好友这么慢?”、“为什么我突然就无法连接了?” 我查看了代码,发现使用了swoole扩展进行了长连接,但是配置中的参数没有调整正确,导致了内存泄漏。
他无法理解PHP的编写方式、异步队列和协程,所以他最终删除了重用node的版本。

在部署过程中也给我带来了麻烦。
PHP环境需要安装php7 .4 、nginx1 .2 0、php-fpm7 .4 ,配置三个进程,并使用supervisor来守护。
Node直接pm2 启动app.js,全局负载均衡直接丢给云服务器。
剩下的就是监控了。
记得去年双十一,客户A的php网站访问量过亿,凌晨三点还在崩溃; 客户B的节点站,同样的流量,多开了几台服务器,第二天业务经理还给我发了红包。

不过最近在做银行系统的项目时仍然使用PHP。
客户要求兼容老系统,接口文档比小说还厚。
PHP的array_map和call_user_func_array实际上在这种情况下成为优势。
开发组老大爷说:“你们的节点异步回调我们这一代写不出来。
” 想想看,他们接手了 2 008 年写的 Laravel 代码,现在必须召开全团队会议才能改一行。

等等,还有一件事。
上周面试的时候,面试官问我,“node中的异步编程难吗?” 我脱口而出:“困难不在于异步本身,而在于很多新手把回调写成无限循环。
” 他愣了一下,然后说道:“我们的项目用node已经三年了,最头疼的就是写太多await会超时。
” 这提醒我,技术选型不能只看现在,还需要考虑十年前的需求。

现在想想node的缺点,还是觉得内存管理太让人担心了。
前段时间在调试一个电商系统,发现由于使用了第三方模块,导致某个功能没有释放内存,导致服务挂掉。
检查了两个小时的日志,终于发现fs.watch没有正确关闭。
如果你使用php,你可能只是抛出一个异常并结束它。

不过话说回来,node的生态确实越来越好。
上次用axios做跨域请求,突然发现还可以用http2 PHP 仍在为 fastcgi_pass 的配置而苦苦挣扎。
开发效率跟框架关系更大吧? 使用laravel开发肯定比手写ph​​p效率更高; 但用express来写可能不会比thinkphp慢多少。

部署时,也可以使用docker-compose快速启动PHP。
现在很多外包公司也使用laravel来做微服务。
记得去年遇见一个外包老板,说他们现在接的项目都是php+docker。
客户只需将容器扔到云端,剩下的事情就由他们来处理。
这其实降低了节点的优势。

我突然想到,PHP当年不就是靠“简单易学”吗? 现在Node已经降低了进入门槛,但是PHP的用户基数太大了。
我估计再过十年,这两种语言仍然会共存。
就像当年C++和Java的争论一样,现在谁也没有被淘汰。

现在思考node的未来,感觉它更适合需要高并发的场景。
比如我们最近做的AI客服,node直接处理每个用户请求,PHP可能要加一个消息队列。
但如果您正在构建传统的 CMS,PHP 更容易使用。
上周,我重构了一个十年前的网站,用laravel改了代码。
我发现还是比写node方便。

不过话虽如此,如果你真的必须选择一门语言,我仍然会推荐 Node。
毕竟,现在谁不想在编写代码时使用最新的功能呢? 就像我们团队最近在使用顶级await一样,写起来比then/catch流畅很多。
PHP 可能需要几年时间才能拥有类似的功能。

node.js比php会不会取代php?

不幸的是,说到 Swoole 和 Node.js,这些都是 PHP 和 JavaScript 圈子里的热门话题。
老实说,在我参加问答论坛的十年里,我看到很多人在两者之间左右为难。

我们先来说说斯武拉。
该产品从2 01 2 年开始流行,底层采用C语言实现,支持HTTP、WebSocket、MQTT等协议。
Swoole 服务运行在 PHP-CLI 下。
与 PHP-FPM 或 MOD_PHP 不同,它是驻留在内存中的。
这是什么意思?也就是说,一旦服务启动,PHP程序中定义的函数、类和变量,例如常量和全局变量,都会保留在内存中。
与 PHP-FPM 不同,PHP-FPM 在每次请求后都会释放资源。

我们来谈谈 Node.js。
PHP 是专门为 Web 服务器编程而设计的,但 Node.js 有更多功能。
你看,Grunt、Gulp、Yoeman、Bower 和 cordova 等工具都是用 Node.js 编写的。
有些人在硬件项目中使用 Node.js,这非常棒。

国内的Laravel、ThinkPHP等PHP框架其实应该同时适配PHP-FPM和Swoole。
由于 Swoole 不像 PHP-FPM 那样每次请求后都会释放资源,所以在 Swoole 下运行的大型 PHP 框架即使使用同步编程也能显着提升性能。
当时我不明白为什么Swoole如此受欢迎,但后来当我看到它的性能提升时我才意识到。

嘿,归根结底,PHP 和 Node.js 都有其优点。
选择哪一种取决于项目的需要和个人喜好。
不管怎样,我看到 Swoole 在更大的项目中变得越来越流行。

nodejs和php前端学哪个

结论:Node.js 是全栈的; PHP适合实时应用和高并发,适合传统的Web和系统集成。

1 .项目类型的灵活性:Node.js 比全栈应用程序更强大,PHP 比传统的 Web 和系统集成更强​​大。
2 . 学习曲线和知识转移:Node.js 适合 JS 开发人员,PHP 适合新手。
3 、社区生态及资源支持:Node.js活跃,PHP成熟。
4 、职业市场和业务需求:Node.js在新兴领域需求旺盛,PHP在传统行业需求稳定。

建议:选择 Node.js 进行全栈或高度集成,选择 PHP 进行传统 Web 或系统集成。
了解提高竞争力的框架和原则。