3

为什么网上 go 写的产品这么少

 2 years ago
source link: https://www.v2ex.com/t/806003
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

V2EX  ›  Go 编程语言

为什么网上 go 写的产品这么少

  zwgf · 5 小时 37 分钟前 · 1296 次点击

我大致搜了一下 go 开发的商城系统,基本上找不到,尤其是 go 开发的商业商城系统,反倒是 java,php 开发的商城系统和商业产品一大堆。cms 也是,这是为啥?

是 go 的程序员不够多?还是 go 不适合做这些?不应该呀现在 go 的程序员也不少,go 的高并发也适合做商城类呀。

第 1 条附言  ·  4 小时 46 分钟前

对于我来说,编程语言都是工具,所以哪个工具顺手,就用哪个。没有语言鄙视链。请不要带节奏。

既然是工具,go 这个工具也不输 php 、java,为啥用 golang 开发商业 web 产品的少之又少?这背后是什么深层次的原因?
29 条回复    2021-10-06 03:42:44 +08:00

gesse

gesse   5 小时 34 分钟前

多向钓鱼贴??🐶🐶🐶

zwgf

zwgf   5 小时 33 分钟前

@gesse 啥意思,我是最近想转学 go,看教学视频 go 介绍的很牛,但是我搜 go 的商业产品,一搜全是没有,于是在考虑要不要转 go

hutoer

hutoer   5 小时 32 分钟前

如果我说 go 不适合写商城类系统(包括 CMS 等)
会不会被打?

zwgf

zwgf   5 小时 25 分钟前

@hutoer
我觉得应该是适合写的,而且我也看到过公司内部用 beego 开发的管理系统和网站项目,但是为什么没有用 go 开发的商业商城产品?这个是我不能理解的,而且 go 也有十多个年头了,这 10 多年来就没有一款这样的商业产品吗(这里的商业产品指的是商城和 cms 这种 web 产品)?

如果是我搜索不给力,希望大家能举例几个

Hanggi

Hanggi   5 小时 22 分钟前

@hutoer 你可以说一下理由,然后再被打

westoy

westoy   5 小时 21 分钟前

当年百团大战 + 凡客独立电商紧喷期, 我这边接过好多电商外包的需求, 我是真研究过当时市面上几乎所有的开源电商程序的

这么说吧, 除了 magento, 可以说没有任何一个现成的开源电商程序适合正经拿来用的

然而 magento 的二次开发的学习成本, 比你拉团队从头写都高

westoy

westoy   5 小时 19 分钟前

凡客独立电商紧喷期 => 凡客引爆的独立电商紧喷期

zwgf

zwgf   5 小时 16 分钟前

@westoy 不是说开源的,开源的 golang 商城也是能搜到几个的,但是开源嘛,如果不是大厂维护或者有专人维护,产品质量确实不敢多求。像你说的 magento 也是 PHP 开发的,商业的有 ecshop 、hishop 、shop++等等这种 java 、php 、.net 开发的商用商城项目一搜一大把,为啥 go 的就一个也搜不到

wunonglin

wunonglin   5 小时 14 分钟前

历史原因与潮流趋势。

以前前后混合的时代正好是 php 和 java 的天下,有各种各样的系统、管理后台。到了依旧充斥着以前那套东西,在加上以前的东西现在也能复用。

所以,现在 golang 火了,但是人们一旦做这种 cms 就会联想到用 php 、java 做的“快”,那是因为以前有现成的东西给他们,而不是因为 php 和 java 有多“快”。

所以现在就算用 golang 开发 cms,也不会再想到以前那套东西,且需要前端配合,前端现状又是娱乐圈 A 、R 、V 百花齐放。对于某些原因来说,用以前那套东西“成本低”

但是 golang 渲染模板确实不好用就是了

zwgf

zwgf   5 小时 13 分钟前

@Hanggi
https://getqor.com/cn 这个是一个海外项目,从界面到语言,在国内拿来做商城基本上不用想。
https://www.go-admin.com/ 这种后台项目是很多,什么 gin-vue-admin 等等,但是不是商业产品。只能算是一个 go 的项目

zwgf

zwgf   5 小时 4 分钟前

@wunonglin
确实之前 phpjava 的时代,但是 go 也有 10 多年的历史,对于网络世界 10 多年的历史可不短,为什么没有一个中文场景的这种产品,而且现在前后端分离基本上已经是共识了,那么后端从 php 或者 java 切换成 go,只要确保接口和之前的一致,前端的工作量并没有增加。加上 go 语言的设计优势,为什么没有人或者公司愿意做?

westoy

westoy   5 小时 2 分钟前

@zwgf

当年有市场, 催生出来的呗, 我上面提了当年有段时间是百团大战 + 凡客引爆的独立电商紧喷期么

你说的这些里面 ecshop 我是熟的, 最早是 phpx 一个水友开的开源的坑, 随便做着玩的, 后来就在那阶段转商业化的

现在除了练手的, 谁还去开新坑啊, 电商这种程序, 和产品规划的业务耦合太紧了, 正经做的也不可能用现成的啊, 既然是找外包做着看的, 谁管你用哪门语言啊, 产品外包这块讲究的就是项目复用啊

wunonglin

wunonglin   5 小时 2 分钟前

@zwgf #12 原因已经说了。

iyear

iyear   4 小时 58 分钟前

@zwgf #12 go 火是在电商爆发期之后了,现在搞这种新坑没啥名堂

loading

loading   4 小时 52 分钟前

入门级商城这种小东西用迭代多次的 php/java 不比你一个 bug 版 golang 实现要好?
要企业级的?目前估计只有 b 站这种不小心的才会开源。

zwgf

zwgf   4 小时 49 分钟前

@iyear
@westoy
但是我不认同这一点,因为过段时间就能在看到一款新的 php 开发的商城系统上线,新开发一款商城选择 php,和选择 go 区别其实差不多。虽说现在电商热已经消退,但是全网靠卖商城系统赚钱的公司一大把。他们也很内卷,随便拿出几个 php 做的商业商城,看看他们的卖点也都是五花八门而且为了代码加密,他们也是想尽了方法,如果用 go 不是编译后二进制交付吗,那不是更安全。而且用上 go,可以吹的卖点不是更多。更别说正经开源的也是少之又少。

就算电商,CMS 热潮已退,那其他的 web 产品,也没有见到

danhahaha

danhahaha   4 小时 49 分钟前

@westoy 最近搞 magento 开发,别的不说,光是文档,就不是其他系统可以比拟的,不过学习成本真是高

vinle

vinle   4 小时 19 分钟前

记得 donald kunth 在分享圆周率的趣事的时候提到过一句话 if you have to ask, you are not the right kind of person.。同理,会提出“为何 go 写的 cms 较少”这个问题的话,相信楼主并不是 go 的"right person"。我也曾有过类似的疑问,最后官方文档很好地解开了我的疑惑,或许楼主也可以尝试了解下。golang.org/doc

Rorysky

Rorysky   4 小时 16 分钟前

商城是需要创新的地方么,php 和 java 写的商城有什么不够用么?

都等用爱发电重写一遍么

zwgf

zwgf   4 小时 3 分钟前

@vinle 我不是打算用 go 去写一个 cms,而是在学习 go 的时候突然发现了这个问题。用 go 写的开源的商城和 cms 倒是有,而且数量也还可以。只是突然觉得为什么没有商业的。

@Rorysky 不是够不够用的问题,那现在的 php 商业商城就够用了,但是过段时间就会蹦出来一个 php 新开发的商业商城产品。而且在开源的 go 商城有的情况下,为什么没有商业的 go 商城。

yoke123

yoke123   3 小时 52 分钟前

找个 java 、php 的商城项目,重构成 go 语言版本不就行了?
当然和现在的比难度要难上不少,但是能做完你也会成长的更快,有利有弊。

kwanzaa

kwanzaa   3 小时 28 分钟前

闭源。
批站时间记忆犹新。

youxiachai

youxiachai   3 小时 6 分钟前

用 go 写的商业项目。。基本都是闭源的吧。。。

特别 cms 这种东西,脑子正常点的话,都不会用 go 在造一个轮子吧。。。

fkdog

fkdog   3 小时 0 分钟前

因为大部分厂商都用 go 写一些高性能的中间件。

至于应用业务逻辑,一方面是 php java 已经有了足够成熟的开源产品、开发生态和开发者,另外一方面是用 go 重写也没有太多好处。

youxiachai

youxiachai   2 小时 59 分钟前

把楼上看了一遍 特别#19 楼那个

go 有 docker,k8s...

而楼主就只想着没有用 go 实现的商城。。只能说,lz 并不是 go 的目标用户

dayeye2006199

dayeye2006199   1 小时 34 分钟前

因为 go 被设计出来的主要目的不是来写 cms,电商平台这类高度业务相关的程序的。

go 一直是作为一个 better C 被设计出来的。C/C++的使用成本很高,go 出来之前,比较正经的基础组件(数据库、中间件、网路、容器编排等)基本选择只有 C/C++。但这个模式不符合大厂的利益,因为能用好 C/C++的人太少,写出来的程序 bug 太多。go 被搞出来之后,即使是年轻的工程师也可以像老帮菜一样,写出质量较高,性能不错的各种基础组件了。这个才是对大厂生产力提高最多的地方,也是 google 为什么乐意持续投资搞 go 的原因。

至于传统的 web 后端,这个完全是语言流行起来之后的溢出效应。这个道理就和你问,为什么 C/C++写的 CMS 和商城系统这么少呢?非不能也,只是擅长的领域不一样。

zbw0414

zbw0414   1 小时 8 分钟前

软件世界的本质还是人,毕竟俗话说组织架构决定软甲架构。java 培训班什么数量级,人口基数在那摆着,招人、招合适的人都容易得多,那这样你让原来公司转 go 或者新公司 all-in-go 都不太可能。而且电商系统并不是单体性能敏感型的业务,反而和大数据、数据运营、人群画像,这些大数据关系密切,那后端 all-in-java 基本上都 hold 住。但像是云计算、APM 等这种对内存敏感、启动预热时间敏感的业务,java 就不合适了( java-native 、graalvm 如果能被市场认可,那 java 场景又被拓宽了许多)。
现在很多靠 AI 、算法、云服务起家的公司对 go 用的反而比较多,我猜主要可能是公司创始最早的那波人都是玩 C 的,从起源上和 go 比较亲近,和 C 的 FFI 亲和性比较好。

kinge

kinge   几秒前

每个语言都有自己擅长的地方,go 不擅长做 web,做 web 请选 php

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK