JavaScript做异步回调有优势?
所有编程语言都是回调函数来实现异步程序的。包括C/C++、Java、Ruby、Python,所以JavaScript也只是其中一员,没什么特别的。PHP一样也是用异步回调来实现异步IO,这会比JS差么?实际编码发现PHP反而写回调函数更有优势,因为PHP支持 4种回调写法,更灵活一些 4种PHP回调函数风格-Swoole扩展-Swoole文档中心
有完整的前后端工具链
前端JS库就不说了,浏览器只能执行JS。PHP程序员中有很大一部分人都是懂JS的,各种JS库用的炉火纯青。
后端PHP的生态圈比要成熟得多了,毕竟发展近20几年,积累还是有的。虽然NPM包的数量非常庞大,质量嘛就不好说了。
Swoole最大的优势就是依附于PHP强大的生态圈,各种官方维护的扩展、类库,各种PHP开源项目和工具,各种现成的经过时间考验的PHP代码。
Swoole一般程序员很难掌握
对。Swoole本来就是面向高级PHP程序员的,其实初级/中级的JavaScript程序员也未必能真正掌握
初中级的PHP程序员用好LAMP就非常不错了。
异步回调的程序很难掌控
是的,异步回调反人类。所以Swoole不会只支持异步。我推荐的模式是异步+同步。对并发要求高的通信服务器可以纯异步,这样一个Server就能解决非常大的并发网络IO。业务逻辑复杂的服务器用同步,编码简单调试容易。
项目成功了可以转向Java、C++、Go
完全可以。但是重构难度实际上很大的,成本也很高。现在有了Swoole,PHP也有方案可以实现C++、Java、GO同样的技术架构。这时候就可以有2个选择,1、使用其他编程语言进行痛苦的转型和重构。2、尝试使用Swoole,即使Swoole最终未必能解决问题,你还可以继续重复第一条路。可是万一解决了呢?
Swoole的社区文档
是的,一项新技术需要花费大量时间、精力、投入才会成熟。尤其Swoole还是中国人做的,没有外国光环,要面对很多难题。但是我会坚持下去,在此也非常感谢支持帮助过我的所有朋友。