转载

Swoole 与 Java、Go 等技术选型答疑

来自 SwooleVIP 一位成员的问题

  1. 感觉 Swoole 越来越复杂了,虽然特性也变得更强,可惜在项目组里面根本推不动,而且协程后需要注意事项也很多,稍不注意可能就是连接忘了回收,连接错乱的风险(当然有 defer 之类的可以规避)
  2. PHP 的,基本上都是半路出家,或者大部分培训机构的,不招他们进来吧,项目赶不完,招他们吧,都是得过且过的学习性格。
  3. 稍微高端一点的特性,几乎推不动,他们还会反问,花时间看这个,为啥不学 go 呢?毕竟 go 是官方自带
  4. 搞得我们现在新项目(国内龙头电商),基本上都用 Java 了,也不知道咋说。。。用 PHP 确实太多只会做简单 crud

Rango 回答

  1. Swoole4 现在是越来越简单了,现在的协程比以前的异步回调好用。你应该用社区内成熟的框架,比如 HyperfSwoftEasySwooleMixPHP ,直接基于 Swoole 开发很容易犯错,这需要开发者具备更高的素质。而基于框架之上开发应用,无论是 Swoole 还是 JavaGo 对于使用者来说难度是一致的。
  2. 大多数 JavaGo 的工程师其实也都是用别人写好的框架,所以简单。如果是自行写一个多线程的 Java 框架,类似于 Spring ,这很困难。
  3. 也不支持 PHP 的工程师是 CRUD ,大部分做 JavaGo 的程序员也一样是在做 CRUD 的工作。并没有什么差别。提升对整个技术栈的理解深度,技术把控能力才是最重要的。
  4. Swoole4 的协程 和 Go 完全一样,但是 PHP 语言更简单易用。 Go 是强类型静态语言,没有泛型支持,面向对象也不完整,更适合搞底层软件的开发,各种组件生态也没有 PHP 丰富。如果你是从事服务器端应用开发用 Go 效率元不如 PHP
  5. 编码、工程实践、抽象、业务理解、架构设计,这些方面的能力与语言无关,编程语言对于优秀的工程师来说只是一个顺手的工具。其实 PHP 是很多有优势的,可以让工程师不再花时间用在对于语言技术栈的学习上,熟练掌握 PHP 整个技术栈,只需要 2-3 年即可,这样就可以把宝贵的时间投入到更高层面的工作上。 PHP-FPM 的健壮性是有目共睹的,算得上是工业级的技术。而 Swoole 目前也越来越成熟了,健壮性也越来越高。
原文  https://segmentfault.com/a/1190000020180096
正文到此结束
Loading...