我大致搜了一下 go 开发的商城系统,基本上找不到,尤其是 go 开发的商业商城系统,反倒是 java,php 开发的商城系统和商业产品一大堆。cms 也是,这是为啥?
是 go 的程序员不够多?还是 go 不适合做这些?不应该呀现在 go 的程序员也不少,go 的高并发也适合做商城类呀。
求解
1
gesse 2021-10-05 22:07:59 +08:00
多向钓鱼贴??🐶🐶🐶
|
2
zwgf OP @gesse 啥意思,我是最近想转学 go,看教学视频 go 介绍的很牛,但是我搜 go 的商业产品,一搜全是没有,于是在考虑要不要转 go
|
3
hutoer 2021-10-05 22:10:51 +08:00 2
如果我说 go 不适合写商城类系统(包括 CMS 等)
会不会被打? |
4
zwgf OP @hutoer
我觉得应该是适合写的,而且我也看到过公司内部用 beego 开发的管理系统和网站项目,但是为什么没有用 go 开发的商业商城产品?这个是我不能理解的,而且 go 也有十多个年头了,这 10 多年来就没有一款这样的商业产品吗(这里的商业产品指的是商城和 cms 这种 web 产品)? 如果是我搜索不给力,希望大家能举例几个 |
6
westoy 2021-10-05 22:21:44 +08:00 1
当年百团大战 + 凡客独立电商紧喷期, 我这边接过好多电商外包的需求, 我是真研究过当时市面上几乎所有的开源电商程序的
这么说吧, 除了 magento, 可以说没有任何一个现成的开源电商程序适合正经拿来用的 然而 magento 的二次开发的学习成本, 比你拉团队从头写都高 |
7
Hanggi 2021-10-05 22:22:44 +08:00
|
8
westoy 2021-10-05 22:23:03 +08:00
凡客独立电商紧喷期 => 凡客引爆的独立电商紧喷期
|
9
zwgf OP @westoy 不是说开源的,开源的 golang 商城也是能搜到几个的,但是开源嘛,如果不是大厂维护或者有专人维护,产品质量确实不敢多求。像你说的 magento 也是 PHP 开发的,商业的有 ecshop 、hishop 、shop++等等这种 java 、php 、.net 开发的商用商城项目一搜一大把,为啥 go 的就一个也搜不到
|
10
wunonglin 2021-10-05 22:28:44 +08:00
历史原因与潮流趋势。
以前前后混合的时代正好是 php 和 java 的天下,有各种各样的系统、管理后台。到了依旧充斥着以前那套东西,在加上以前的东西现在也能复用。 所以,现在 golang 火了,但是人们一旦做这种 cms 就会联想到用 php 、java 做的“快”,那是因为以前有现成的东西给他们,而不是因为 php 和 java 有多“快”。 所以现在就算用 golang 开发 cms,也不会再想到以前那套东西,且需要前端配合,前端现状又是娱乐圈 A 、R 、V 百花齐放。对于某些原因来说,用以前那套东西“成本低” 但是 golang 渲染模板确实不好用就是了 |
11
zwgf OP @Hanggi
https://getqor.com/cn 这个是一个海外项目,从界面到语言,在国内拿来做商城基本上不用想。 https://www.go-admin.com/ 这种后台项目是很多,什么 gin-vue-admin 等等,但是不是商业产品。只能算是一个 go 的项目 |
12
zwgf OP @wunonglin
确实之前 phpjava 的时代,但是 go 也有 10 多年的历史,对于网络世界 10 多年的历史可不短,为什么没有一个中文场景的这种产品,而且现在前后端分离基本上已经是共识了,那么后端从 php 或者 java 切换成 go,只要确保接口和之前的一致,前端的工作量并没有增加。加上 go 语言的设计优势,为什么没有人或者公司愿意做? |
13
westoy 2021-10-05 22:40:22 +08:00
@zwgf
当年有市场, 催生出来的呗, 我上面提了当年有段时间是百团大战 + 凡客引爆的独立电商紧喷期么 你说的这些里面 ecshop 我是熟的, 最早是 phpx 一个水友开的开源的坑, 随便做着玩的, 后来就在那阶段转商业化的 现在除了练手的, 谁还去开新坑啊, 电商这种程序, 和产品规划的业务耦合太紧了, 正经做的也不可能用现成的啊, 既然是找外包做着看的, 谁管你用哪门语言啊, 产品外包这块讲究的就是项目复用啊 |
16
loading 2021-10-05 22:50:53 +08:00
入门级商城这种小东西用迭代多次的 php/java 不比你一个 bug 版 golang 实现要好?
要企业级的?目前估计只有 b 站这种不小心的才会开源。 |
17
zwgf OP |
19
vinle 2021-10-05 23:23:54 +08:00
记得 donald kunth 在分享圆周率的趣事的时候提到过一句话 if you have to ask, you are not the right kind of person.。同理,会提出“为何 go 写的 cms 较少”这个问题的话,相信楼主并不是 go 的"right person"。我也曾有过类似的疑问,最后官方文档很好地解开了我的疑惑,或许楼主也可以尝试了解下。golang.org/doc
|
20
Rorysky 2021-10-05 23:26:47 +08:00
商城是需要创新的地方么,php 和 java 写的商城有什么不够用么?
都等用爱发电重写一遍么 |
21
zwgf OP |
22
yoke123 2021-10-05 23:50:35 +08:00
找个 java 、php 的商城项目,重构成 go 语言版本不就行了?
当然和现在的比难度要难上不少,但是能做完你也会成长的更快,有利有弊。 |
23
kwanzaa 2021-10-06 00:14:33 +08:00
闭源。
批站时间记忆犹新。 |
24
youxiachai 2021-10-06 00:36:08 +08:00
用 go 写的商业项目。。基本都是闭源的吧。。。
特别 cms 这种东西,脑子正常点的话,都不会用 go 在造一个轮子吧。。。 |
25
fkdog 2021-10-06 00:42:37 +08:00
因为大部分厂商都用 go 写一些高性能的中间件。
至于应用业务逻辑,一方面是 php java 已经有了足够成熟的开源产品、开发生态和开发者,另外一方面是用 go 重写也没有太多好处。 |
26
youxiachai 2021-10-06 00:43:16 +08:00
把楼上看了一遍 特别#19 楼那个
go 有 docker,k8s... 而楼主就只想着没有用 go 实现的商城。。只能说,lz 并不是 go 的目标用户 |
27
dayeye2006199 2021-10-06 02:08:32 +08:00 5
因为 go 被设计出来的主要目的不是来写 cms,电商平台这类高度业务相关的程序的。
go 一直是作为一个 better C 被设计出来的。C/C++的使用成本很高,go 出来之前,比较正经的基础组件(数据库、中间件、网路、容器编排等)基本选择只有 C/C++。但这个模式不符合大厂的利益,因为能用好 C/C++的人太少,写出来的程序 bug 太多。go 被搞出来之后,即使是年轻的工程师也可以像老帮菜一样,写出质量较高,性能不错的各种基础组件了。这个才是对大厂生产力提高最多的地方,也是 google 为什么乐意持续投资搞 go 的原因。 至于传统的 web 后端,这个完全是语言流行起来之后的溢出效应。这个道理就和你问,为什么 C/C++写的 CMS 和商城系统这么少呢?非不能也,只是擅长的领域不一样。 |
28
zbw0414 2021-10-06 02:34:23 +08:00
软件世界的本质还是人,毕竟俗话说组织架构决定软甲架构。java 培训班什么数量级,人口基数在那摆着,招人、招合适的人都容易得多,那这样你让原来公司转 go 或者新公司 all-in-go 都不太可能。而且电商系统并不是单体性能敏感型的业务,反而和大数据、数据运营、人群画像,这些大数据关系密切,那后端 all-in-java 基本上都 hold 住。但像是云计算、APM 等这种对内存敏感、启动预热时间敏感的业务,java 就不合适了( java-native 、graalvm 如果能被市场认可,那 java 场景又被拓宽了许多)。
现在很多靠 AI 、算法、云服务起家的公司对 go 用的反而比较多,我猜主要可能是公司创始最早的那波人都是玩 C 的,从起源上和 go 比较亲近,和 C 的 FFI 亲和性比较好。 |
29
kinge 2021-10-06 03:42:44 +08:00 1
每个语言都有自己擅长的地方,go 不擅长做 web,做 web 请选 php
|
30
mengzhuo 2021-10-06 05:51:04 +08:00 via iPhone
腾讯内部很多商城就是用 Go 写的,只是不开源。
因为内部基本是用 trpc , pb 或者特定的二进制协议通讯,加上随便一个接口都会有超高流量,时不时老大还要降 CPU,内存使用量,这时 php Java 反而不合适了。 个人单干,小公司的用 Java, php 没毛病。 |
31
mengzhuo 2021-10-06 05:54:14 +08:00 via iPhone
而且说 Go 不适合做 web 的。请考虑一下自己的 web 是不是访问量太低了,低到不需要考虑性能……
|
32
2kCS5c0b0ITXE5k2 2021-10-06 05:58:25 +08:00
工程化有点不太成熟. 项目结构都不太统一...
|
33
janxin 2021-10-06 06:03:19 +08:00 via iPhone
不知道楼主怎么搜索的,感觉搜索方式有问题?很多商业产品是 Go 做的啊,比如腾讯字节都有很多。
也有一些电商小程序服务商之类的在用 Go 开发商业产品。 如上面所说,绝大部分为闭源产品。 开源二开除非是喜欢自己造轮子,为什么不选成熟产品呢? 另外,qor 是国人团队的产品。 |
34
renmu123 2021-10-06 07:06:14 +08:00 via Android
因为时间短,想想 php 和 java 流行多少年了,go 才多久
|
35
sadfQED2 2021-10-06 07:12:00 +08:00 via Android
头部公司现在很多项目都是 go 写的,包括你说的商城项目,只是大家没开源而已。
另外,你找开源商城不就是为了开发快嘛,开发快干嘛不用 php,而且 php 已经那么成熟的社区生态了,就这一点来说 go 就没毕要存在开源商城 |
36
IndexOutOfBounds 2021-10-06 08:42:49 +08:00
go 这种至简的语言真的适合商城这种东西吗,还是别的优点很突出?
|
37
DinnyXu 2021-10-06 10:15:43 +08:00
想学 go 语言就业? 很简单 · 去各大招聘网站看看 go 的岗位有多少? go 的平均薪资是多少? 使用 go 做主要开发语言的公司类型是什么样的? 以及用 go 开发哪些产品...这些都只是表面,深沉次的可以去了解下 go 语言的发展史,多看看 go 的设计主要是基于什么。比如 Java 设计就是对标企业及 web 项目。
|
38
wolfan 2021-10-06 10:36:33 +08:00
go 语言不多是用在硬件项目上么?
|
39
littlewing 2021-10-06 10:46:45 +08:00
TiDB 算吗
|
40
zjsxwc 2021-10-06 10:47:04 +08:00
go 除了运维部署方便,写业务其实比 java 更麻烦,更不要说和 php 比效率了,
对与小电商来说 php 最快成本最低,有了 docker 之后部署也不是问题,分发一个环境 image 包就行, 在一个就是目前中国大环境对小电商不友好,审核越来越严格,和论坛一样,小电商走向末路,没人愿意搞。 |
42
tmac33 2021-10-06 11:18:20 +08:00 3
年轻人,这会不是 2000 年了,不要一提到产品就想到电子商城(那跟整天创业就缺个程序猿的,有啥区别),那么多成功的中间件多看看,更有助于你的职业生涯。。。
|
43
charlie21 2021-10-06 11:31:53 +08:00
magento 的二次开发成本高在哪
|
44
ucando 2021-10-06 11:48:37 +08:00
有什么实际场景需要用 go 再造一个轮子? 有多少商业前景? 普通中小企业的商城流量根本不需要什么高并发, 甚至一台 10 年前的破主机就足够支撑业务了
|
45
Hanggi 2021-10-06 11:59:56 +08:00
@dayeye2006199 为啥总有人觉得 golang 是用来替代 C 语言的呢?
这种论调是从哪里看来的?能说个出处吗?因为语法和运行方式像 C 语言? 感觉很多人都会误解 go 语言的初衷,Go 语言是无法完全替代 C 语言的,完全是错误的定位。 https://talks.golang.org/2012/splash.article 请好好阅读 Go 语言设计初衷和要解决的痛点,不要误导别人。 Go 语言的主流 web 框架在 github 上已经 52k 了,已经在其他主流编程语言 web 框架同样的热门程度了。 |
46
nmap 2021-10-06 12:13:11 +08:00
go 是偏底层的语言,用来做上层业务不合适,另外也是错过了电商的爆发期,自然存量项目就少了
|
48
fmumu 2021-10-06 13:03:38 +08:00
go 适合做底层平台,业务产品还是 java,php 多
|
49
fyibmsd 2021-10-06 14:00:41 +08:00 1
你说的这些东西 也没有 c 语言 c++开发的
|
50
aptx4689 2021-10-06 14:27:58 +08:00
只要钱给够,拿 pure C 写也行,但你要说开源…用爱发电我感觉没几个人想写,特别还是在其他语言的开源商城这么多这么成熟的情况下
|
51
tottea 2021-10-06 15:36:36 +08:00
Shopee 也算是吧
|
52
Muninn 2021-10-06 18:29:50 +08:00
你要的那些东西,商城,论坛,都是上一个时代的东西了。
不是 go 不擅长写这些,是如今已经没人新起这样的项目了。 |
53
fox0001 2021-10-06 18:44:19 +08:00 via Android
假如已经有个成熟稳定的网站在跑,谁会闲着没事用 go 去重写?
|
54
guanhui07 2021-10-06 19:17:53 +08:00 2
业务还是 java,php
|
55
pengtdyd 2021-10-06 19:26:03 +08:00
容器技术 Go 还是王者,其他的就一般吧了
|
57
Feiex 2021-10-07 00:23:53 +08:00
@mengzhuo golang 可以显著降低应用资源占用吗?
比如高峰期 5000qps 维持在 60%cpu 使用率情况下,计算密集型,spring 用了 160 核 |
59
test0x01 2021-10-07 12:51:21 +08:00 via Android
网上为什么一个汇编语言写的商城都没有?
|
60
Feiex 2021-10-07 19:45:31 +08:00
@zoharSoul #58 如果只是降低内存占用的话,那感觉不是很合算呀,毕竟公司里面部门成本都是按使用核数计算。
在我看来需要如果可以降低计算密集型程序的 cpu 使用率达到 30%,放弃 java 生态做 go 重构还是勉强可以汇报的 |
63
dbskcnc 2021-10-07 20:29:25 +08:00
前有 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/ |
64
Akiya 2021-10-07 21:02:20 +08:00 via iPhone
产品不只有 curd...
|
65
mengzhuo 2021-10-07 21:58:46 +08:00
@Feiex 还不如看看是哪个家伙乱写逻辑,估计能减半,160 核,差不多是 40 个实例。
某鹅内部 Go 写的话,大概是 6 个实例左右(一般业务还会有 50%预留),注意对象池,前端分配逻辑的话,差不多能扛住 不过平均 5000qps 差不多日活得上百万了,你们还在为这事苦恼? |
68
2i2Re2PLMaDnghL 2021-10-08 15:37:36 +08:00
@Feiex 我觉得你这得在算法上下功夫。
刚播种的知识:换语言重写产生的性能优化 80%来自于重写,20%来自于换语言。 |
69
index90 2021-10-08 16:27:37 +08:00
lz 思考的方向错了,并不是技术选择了产品,而是需求选择了技术。
你的问题应该是,是否有人愿意花钱买一个“一定要 go 写的”商城系统? |
70
lbp0200 2021-10-15 11:53:18 +08:00
go 语言对标的是 C/C++,你见过用 C++开发的商城系统吗?
|
71
fo0o7hU2tr6v6TCe 2021-12-23 10:13:22 +08:00
我也一直在找,如果有找到合适的开源项目麻烦踢一脚 3q
|
72
mlbjay 2023-07-04 15:49:39 +08:00
之前公司需要临时搞一个 web 商城,直接用 wordpress 部署了。
但是有点儿深度定制需求,改点儿东西,那就直接火葬场了,公司的后端都是些 py 的,没人会 php 。 |