转载

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

来自 SwooleVIP 一位成员的问题

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

Rango 回答

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