Golang Go语言中为什么网上写的产品这么少

发布于 1周前 作者 sinazl 来自 Go语言

Golang Go语言中为什么网上写的产品这么少

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

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

求解

73 回复

多向钓鱼贴??🐶🐶🐶

更多关于Golang Go语言中为什么网上写的产品这么少的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


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

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


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

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

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

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

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

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

你这搜索确实不给力,我随便搜都出来好几个。

https://getqor.com/cn
https://www.go-admin.com/

当然这些项目质量如何就不知道了。

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

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

历史原因与潮流趋势。

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

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

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

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


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


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



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

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

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

#12 原因已经说了。

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

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



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

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

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

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

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

都等用爱发电重写一遍么

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

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

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

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

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

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

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

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

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

go 有 docker,k8s…

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

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

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

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

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

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

腾讯内部很多商城就是用 Go 写的,只是不开源。
因为内部基本是用 trpc , pb 或者特定的二进制协议通讯,加上随便一个接口都会有超高流量,时不时老大还要降 CPU,内存使用量,这时 php Java 反而不合适了。

个人单干,小公司的用 Java, php 没毛病。

而且说 Go 不适合做 web 的。请考虑一下自己的 web 是不是访问量太低了,低到不需要考虑性能……

工程化有点不太成熟. 项目结构都不太统一…

不知道楼主怎么搜索的,感觉搜索方式有问题?很多商业产品是 Go 做的啊,比如腾讯字节都有很多。

也有一些电商小程序服务商之类的在用 Go 开发商业产品。

如上面所说,绝大部分为闭源产品。

开源二开除非是喜欢自己造轮子,为什么不选成熟产品呢?

另外,qor 是国人团队的产品。

因为时间短,想想 php 和 java 流行多少年了,go 才多久

头部公司现在很多项目都是 go 写的,包括你说的商城项目,只是大家没开源而已。

另外,你找开源商城不就是为了开发快嘛,开发快干嘛不用 php,而且 php 已经那么成熟的社区生态了,就这一点来说 go 就没毕要存在开源商城

go 这种至简的语言真的适合商城这种东西吗,还是别的优点很突出?

想学 go 语言就业? 很简单 · 去各大招聘网站看看 go 的岗位有多少? go 的平均薪资是多少? 使用 go 做主要开发语言的公司类型是什么样的? 以及用 go 开发哪些产品…这些都只是表面,深沉次的可以去了解下 go 语言的发展史,多看看 go 的设计主要是基于什么。比如 Java 设计就是对标企业及 web 项目。

go 语言不多是用在硬件项目上么?

go 除了运维部署方便,写业务其实比 java 更麻烦,更不要说和 php 比效率了,
对与小电商来说 php 最快成本最低,有了 docker 之后部署也不是问题,分发一个环境 image 包就行,

在一个就是目前中国大环境对小电商不友好,审核越来越严格,和论坛一样,小电商走向末路,没人愿意搞。

腾讯不是要求提高 cpu 使用率么

年轻人,这会不是 2000 年了,不要一提到产品就想到电子商城(那跟整天创业就缺个程序猿的,有啥区别),那么多成功的中间件多看看,更有助于你的职业生涯。。。

magento 的二次开发成本高在哪

有什么实际场景需要用 go 再造一个轮子? 有多少商业前景? 普通中小企业的商城流量根本不需要什么高并发, 甚至一台 10 年前的破主机就足够支撑业务了

为啥总有人觉得 golang 是用来替代 C 语言的呢?

这种论调是从哪里看来的?能说个出处吗?因为语法和运行方式像 C 语言?

感觉很多人都会误解 go 语言的初衷,Go 语言是无法完全替代 C 语言的,完全是错误的定位。

https://talks.golang.org/2012/splash.article

请好好阅读 Go 语言设计初衷和要解决的痛点,不要误导别人。

Go 语言的主流 web 框架在 github 上已经 52k 了,已经在其他主流编程语言 web 框架同样的热门程度了。

go 是偏底层的语言,用来做上层业务不合适,另外也是错过了电商的爆发期,自然存量项目就少了

可能是 井喷.

go 适合做底层平台,业务产品还是 java,php 多

你说的这些东西 也没有 c 语言 c++开发的

只要钱给够,拿 pure C 写也行,但你要说开源…用爱发电我感觉没几个人想写,特别还是在其他语言的开源商城这么多这么成熟的情况下

Shopee 也算是吧

你要的那些东西,商城,论坛,都是上一个时代的东西了。

不是 go 不擅长写这些,是如今已经没人新起这样的项目了。

假如已经有个成熟稳定的网站在跑,谁会闲着没事用 go 去重写?

业务还是 java,php

容器技术 Go 还是王者,其他的就一般吧了

降低应用使用的 CPU 总量(预占 /保留的资源)。

golang 可以显著降低应用资源占用吗?
比如高峰期 5000qps 维持在 60%cpu 使用率情况下,计算密集型,spring 用了 160 核

#57 能显著降低内存占用, 对比 Java

网上为什么一个汇编语言写的商城都没有?

#58 如果只是降低内存占用的话,那感觉不是很合算呀,毕竟公司里面部门成本都是按使用核数计算。
在我看来需要如果可以降低计算密集型程序的 cpu 使用率达到 30%,放弃 java 生态做 go 重构还是勉强可以汇报的

#60 我们成本统计按具体价格算的

#60 而且互联网大部分 web 后端服务都是 io 密集型, 按核数统计意义不大

前有 b 站,现有 Twitch,大部分的 go 代码,还有前面有几位谈到的国内头部厂家, 这些都是整体系统,商城只是其中的一小部分而已,单纯的开源商城目前不是好的开源点了,要做好不容易,没有商业参与和背书,靠爱发电也很难走远.
Just a reminder that the Twitch leak is mostly in GO
https://www.reddit.com/r/golang/comments/q32648/just_a_reminder_that_the_twitch_leak_is_mostly_in/

产品不只有 curd…

还不如看看是哪个家伙乱写逻辑,估计能减半,160 核,差不多是 40 个实例。
某鹅内部 Go 写的话,大概是 6 个实例左右(一般业务还会有 50%预留),注意对象池,前端分配逻辑的话,差不多能扛住

不过平均 5000qps 差不多日活得上百万了,你们还在为这事苦恼?

业务模块是优惠计算、优惠最优解,计算密集型。用 go 重写可以缩减到 20 个实例吗?

果然不是同一个腾讯

我觉得你这得在算法上下功夫。
刚播种的知识:换语言重写产生的性能优化 80%来自于重写,20%来自于换语言。

lz 思考的方向错了,并不是技术选择了产品,而是需求选择了技术。

你的问题应该是,是否有人愿意花钱买一个“一定要 go 写的”商城系统?

go 语言对标的是 C/C++,你见过用 C++开发的商城系统吗?

我也一直在找,如果有找到合适的开源项目麻烦踢一脚 3q

之前公司需要临时搞一个 web 商城,直接用 wordpress 部署了。
但是有点儿深度定制需求,改点儿东西,那就直接火葬场了,公司的后端都是些 py 的,没人会 php 。

在Golang(又称Go语言)领域,你可能会发现相较于其他编程语言如Java、Python等,关于Go语言的产品介绍和宣传相对较少,这背后有几个主要原因:

  1. 新兴语言:Go语言自2009年发布以来,虽然发展迅速,但相对于Java、C++等拥有几十年历史的编程语言,它仍然是一个相对较新的选择。因此,市场上基于Go语言开发的产品积累还不足。

  2. 应用场景:Go语言以其高效、简洁和并发处理能力著称,特别适用于云计算、微服务、网络编程等领域。这些应用场景往往更侧重于后端服务,不像前端或移动应用那样直接面向大量终端用户,因此公众曝光度相对较低。

  3. 社区文化:Go语言社区注重实用性和技术深度,而非广泛的市场推广。开发者更倾向于分享技术文章、库和工具,而不是大肆宣传特定产品。

  4. 企业级应用:许多基于Go语言开发的产品是企业级应用或内部工具,这些产品往往不面向公众市场,因此你很难在网上看到它们的宣传。

尽管网上关于Go语言产品的信息相对较少,但Go语言在业界的应用已经相当广泛。随着越来越多的公司采用Go语言进行项目开发,相信未来你会看到更多基于Go语言的优秀产品涌现。如果你对Go语言感兴趣,建议多关注Go语言的官方博客、社区论坛以及GitHub上的开源项目,这些都是了解Go语言最新动态和应用场景的好去处。

回到顶部