[编程开发] 如何看待国内 PHP 转 golang 的趋势?

[复制链接]
afei4444 发表于 2023-10-4 17:56:31|来自:北京 | 显示全部楼层 |阅读模式
如何看待国内 PHP 转 golang 的趋势?
全部回复5 显示全部楼层
liujun999999 发表于 2023-10-4 17:57:05|来自:北京 | 显示全部楼层
php转go有可能担心开发效率问题,个人感觉用go开发后端项目的效率可以很高,关键在于开发工具。
如果开发只有简单CRUD api接口web服务,可以做到不需要编写一行go代码就可以编译并部署到线上,整个服务代码由工具sponge一键生成。
如果开发通用的web服务,除了定义mysql表在proto文件定义api接口在模板文件填写具体业务逻辑代码这三个部分需要人工编写代码,其他代码都由工具sponge生成,在熟悉业务情况下的开发效率大概一天完成一个简单版的社区后端服务(点击查看完整项目代码)。
sponge 是一个集成了自动生成代码、web和微服务框架、通用基础开发框架的golang生产力工具。sponge拥有丰富的生成代码命令,生成不同的功能代码可以组合成完整的服务(类似人为打散的海绵细胞可以自动重组成一个新的海绵)。代码解耦模块化设计,很容易构建出从开发到部署的完整工程项目,让你开发web或微服务项目轻而易举、事半功倍,使用golang也可以"低代码开发"。
生成代码的UI界面



生成代码的鸡蛋模型

sponge生成服务代码过程中剥离了业务逻辑与非业务逻辑两大部分代码,以一个web服务为例,把一个完整web服务代码看作一个鸡蛋,蛋壳表示web服务框架代码,蛋白和蛋黄都表示业务逻辑代码,蛋黄是业务逻辑的核心(需要人工编写的代码),例如定义mysql表、定义api接口、编写具体逻辑代码都属于蛋黄部分。蛋白是业务逻辑核心代码与web框架代码连接的桥梁(自动生成,不需要人工编写),例如根据proto文件生成的注册路由代码、handler方法函数代码、参数校验代码、错误码、swagger文档等都属于蛋白部分。
web服务代码鸡蛋模型剖析图:


sponge项目地址

GitHub - zhufuyi/sponge: sponge is a powerful golang productivity tool that integrates code generation, microservice framework, and basic development framework.sponge开发文档

Sponge Documentation
weekeight 发表于 2023-10-4 17:57:47|来自:北京 | 显示全部楼层
转了好,多留一些PHP项目给我做
没有最好的编程语言,只有更好的程序员
ouyang2008 发表于 2023-10-4 17:58:09|来自:北京 | 显示全部楼层
没这个趋势
国内 PHP 转 烧烤,GO转 麻辣烫的趋势倒是有的
下一题
ses 发表于 2023-10-4 17:58:51|来自:北京 | 显示全部楼层
无需编译,热部署,热更新,无人值守,PHP有FPM这种基础设施实现上面的支持,Go没有.
你可以说PHP-FPM加opcache这种多进程内存常驻缓存脚本中间码的运行模式过于传统性能一般,但它保证了Web服务的下限,保证了服务永远处于及格线水平之上.
PHP有完整的OOP支持,有万能类型的关联数组array这种数据结构,灵活的字符串操作,Go也没有.
你可以吐槽PHP内置的API命名风格不统一,但其提供的功能支持就是实实在在的生产力.
Go连个流行的全栈式Web开发框架都没有,光靠一个Gin怎么打?毕竟国人开发的GoFrame你们有些Gopher也看不起呀,是吧.PHP这边路由,中间件,事件钩子,IoC容器,ORM,模板支持齐全的PHP框架可不少.
要包管理工具,PHP的composer怎么都比Go那个好用.
要类型声明和提示,要运行前的错误检查,PHP有严格类型,静态分析器PHPStan,开发环境PHPStorm,能差到哪里?
要性能,要协程,要内存常驻,一个Swoole就能把Go干沉默.
有些人要转就转,但不要无脑黑PHP就好.
至于说趋势,大厂裁员才是趋势.
所以我更好奇如何看待国内大厂裁员对Go从业者的影响.
shuguang1985 发表于 2023-10-4 17:58:58|来自:北京 | 显示全部楼层
可能是被焦虑和内卷给打败了,曾几何时大家一门心思的转 Laravel,嫌弃曾经的黄脸婆(ThinkPHP,Yii,CakePHP),后来又来了一股风大家开始转 Swoole,开始是 Swoft、EasySwoole,又到 Hyperf。
这一次更彻底,开始玩 Go 了,可能过段时间又变成了 Rust。不是东风压倒西风,就是西风压倒东风。
大家只是去堆积新的屎山去了,Go 的屎山可能会更恐怖。
其实现在 PHP 活得挺好。

快速回帖

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则