go 有没有类似 springboot 全家桶的东西 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
hakr
V2EX    Go 编程语言

go 有没有类似 springboot 全家桶的东西

  •  
  •   hakr
    cccy0 2021-04-26 23:53:59 +08:00 10208 次点击
    这是一个创建于 1629 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在看 go, 大体看了看 github 上的一个项目 https://github.com/flipped-aurora/gin-vue-admin 发现这一套配置下来这么麻烦么, 有没有类似 springboot 的解决方案呢...

    40 条回复    2021-05-08 15:19:08 +08:00
    dcoder
        1
    dcoder  
       2021-04-27 05:19:18 +08:00
    没有, 估计也不会有.
    Go 跟 Java 完全不是一套思维.
    EIJAM
        2
    EIJAM  
       2021-04-27 08:14:22 +08:00 via iPhone   4
    如果喜欢 Spring 那一套玩意,可能不太适合写 Go
    mifly
        3
    mifly  
       2021-04-27 08:41:43 +08:00 via Android
    看看 beego ?
    dbpe
        4
    dbpe  
       2021-04-27 08:43:49 +08:00   3
    你喜欢 Spring?

    我可是十分厌恶这玩意..
    waising
        5
    waising  
       2021-04-27 09:06:46 +08:00
    GoFrame? 我就是因为 spring 换 go 的....现在又要来 go-spring?
    dongtingyue
        6
    dongtingyue  
       2021-04-27 09:27:33 +08:00
    麻烦在哪?
    tonnycao
        7
    tonnycao  
       2021-04-27 09:40:01 +08:00
    谢谢分享 我昨天也是找了一圈,没发现基于 gin 的流行的脚手架
    x940727
        8
    x940727  
       2021-04-27 09:47:05 +08:00   25
    Spring 哪里不好了……有点感觉莫名其妙,难道真就手撸一切才有成就感?
    qW7bo2FbzbC0
        9
    qW7bo2FbzbC0  
       2021-04-27 09:59:10 +08:00
    @x940727 #8 +1,框架有些部分虽然是为了处理 OOP 带来的不利索,但是有些还是可以提高开发效率的
    2kCS5c0b0ITXE5k2
        10
    2kCS5c0b0ITXE5k2  
       2021-04-27 10:02:37 +08:00
    @x940727 没什么不好的. 但是不适合 go 啊. 别用 Java 的思路硬往 Go 上面套啊.
    x940727
        11
    x940727  
       2021-04-27 10:07:46 +08:00   6
    @emeab 哪有什么适合不适合的,Spring 的 IoC 和 DI 放在任何语言身上都没有问题吧,这可以很大程度上降低代码的耦合度,还有 AOP,代理模式的思想在 Go 语言里面就不好使了?说白了是现在 Go 的语法特性决定了 Go 目前就是一把梭,短平快的语言,但是随着未来项目越来越大,肯定会出现这些东西的。
    x940727
        12
    x940727  
       2021-04-27 10:14:23 +08:00   4
    为什么有很多人说 Go 语言不需要依赖注入? - viruscamp 的回答 - 知乎
    https://www.zhihu.com/question/265433666/answer/1837150393
    其实就如同这个回答一样,Go 以前也说不需要泛型,现在还不是老老实实加上了,随着社区变大,随着大项目越来越多,一个项目有更多人参加的时候,走 Java 的路子基本上是不可避免的。
    dqzcwxb
        13
    dqzcwxb  
       2021-04-27 10:16:18 +08:00
    @x940727 #12 没有 Java,或者人人都是 Java
    Java 走到今天的路子发展出 Spring 不是偶尔,而是所有要工程化语言的必然
    keepeye
        14
    keepeye  
       2021-04-27 10:18:08 +08:00
    为啥要揉在一起,gin 用来写 api 不香吗?前端用 iview-admin 之类的框架一把梭不香吗
    x940727
        15
    x940727  
       2021-04-27 10:18:15 +08:00   1
    @dqzcwxb
    为什么有很多人说 Go 语言不需要依赖注入? - 方正的回答 - 知乎
    https://www.zhihu.com/question/265433666/answer/318533422
    按这个回答来说的话,简直不能更正确,说白了就是现在 Go 的从业者和项目并不是很多,超级大项目也是掰着手指能数的过来,等到真社区大了,Java 有的一切都会有的……
    xarthur
        16
    xarthur  
       2021-04-27 10:21:37 +08:00 via iPhone
    目前应该是没有的,Go 的 Web 业务部分还没发展到像 Java 这么工程化。
    不过楼主说的是 SpringBoot,其他人在说 Spring 是在干嘛,SpringBoot 也不难用啊,不用写 XML,下载就能用,甚至支持 Kotlin (语法比 Go 甜多了)
    index90
        17
    index90  
       2021-04-27 10:24:06 +08:00
    Java 转 Go 的人越来越多了……
    charlie21
        18
    charlie21  
       2021-04-27 10:28:48 +08:00 via iPhone
    你怎么不自己写一个呢
    2kCS5c0b0ITXE5k2
        19
    2kCS5c0b0ITXE5k2  
       2021-04-27 10:37:23 +08:00
    @x940727 Go 有 interface 是不是某种程度也算是 DI? 没人说 IoC 和 DI 不好. 但是,别写什么语言都要去把 Java 那套全整去 ,好像所有语言都必须经过 Java 改造才能用一样.
    qbhy
        20
    qbhy  
       2021-04-27 10:46:28 +08:00
    @index90 php 转 go 的也不少
    young1lin
        21
    young1lin  
       2021-04-27 10:56:14 +08:00   1
    可以自己撸一个简单的啊,定义抽象 Environment 、Resource 、BeanDefinition 、BeanPostProcessor 、BeanFactory 、ApplicationContext 、Ordered 、BeanNameGenerator 、DisposableBean 、InitializingBean 、各种 Aware 接口、Advice 接口、EventListener 等等。你把那些东西照搬过去不就 OK 了吗,不就是抄吗。把 Bean 流程定义好,下面就是不断完善的过程。
    hakr
        22
    hakr  
    OP
       2021-04-27 11:13:17 +08:00
    @EIJAM #2 这和喜不喜欢没关系, 你看我上面说的那个项目自己搞了多少轮子
    hakr
        23
    hakr  
    OP
       2021-04-27 11:14:06 +08:00
    @dbpe #4 哦.....我没啥感觉, 公司用啥我用啥- -
    hakr
        24
    hakr  
    OP
       2021-04-27 11:14:52 +08:00
    @waising #5 其实 spring 的槽点也很多, 但是有了 springboot 之后基本上可以快速开发了
    dallaslu
        25
    dallaslu  
       2021-04-27 11:54:46 +08:00
    Go 阵营:Spring 是 Java 封建糟粕
    Kasumi20
        26
    Kasumi20  
       2021-04-27 12:08:04 +08:00
    Java EE 才是糟粕
    LittleYangYang
        27
    LittleYangYang  
       2021-04-27 12:26:31 +08:00
    go 框架里面还是喜欢用 iris,舒服
        28
    CEBBCAT  
       2021-04-27 12:45:09 +08:00 via Android
    二楼说的可能是那股 Java 味,唉
    zoharSoul
        29
    zoharSoul  
       2021-04-27 13:35:19 +08:00
    楼主应该问有没有 ror 那样的框架, 有些人有 java ptsd, 听见就魔怔了
    lecher
        30
    lecher  
       2021-04-27 13:40:06 +08:00   3
    go 现有的机制决定了,如果要做到 spring 的语法糖表达能力,只能靠编译生成解决,java 想要的工程约束,在 go 的体系里面全都很难做,要从造 IDE 和增加代码生成开始做。
    当选择了增加语法糖压缩代码信息量这条路,就意味着这个框架有了自己的语法,框架的使用者必须顺着设计者的思路去看文档,才能弄清楚代码会怎么执行。实际上就和业务框架要不要使用 ORM 一样,是只学一套标准的 sql 表达式,还是去另外学一套生成 sql 的表达式。实际开发过程做遇到问题,哪种更好调试。

    我很少看到 java 栈的开发喜欢上 go,因为相比 java 而言 go 太简陋了,语法表达能力太弱了,此外还有 java 栈内一切皆对象的理念,在 go 这种缺少对象、继承,仅有组合机制的语言而言,描述业务的思路都变得不一样了。

    在我看来,两种语言的差异是
    java 栈的开发都可以造一套自己习惯的语法糖范式,熟悉之后可以加快开发效率,维护的人需要了解新的语法糖,上手和维护成本高了。
    但是 go 里面造语法糖不方便,所以大部分人都可以基于基本语法抽象业务,开发效率不高,但代码直白,上手和维护成本低一些。
    wellsc
        31
    wellsc  
       2021-04-27 13:47:58 +08:00
    就 golang 这弱鸡的抽象能力,就不会有类似 spring 的产物出现。等泛型出来再说吧
    cs419
        32
    cs419  
       2021-04-27 14:51:39 +08:00
    spring boot != spring
    spring != java
    java 有槽点 但不能拿这些框架来代表 java 的缺点
    hyperxu
        33
    hyperxu  
       2021-04-27 17:54:25 +08:00   1
    Akiya
        34
    Akiya  
       2021-04-27 19:08:49 +08:00 via iPhone
    额,如果是 C#的话官方那一套东西啥都有了,不需要第三方框架。golang 根本就不是一个 oo 的语言,不会真的有人拿 go 写业务吧
    HenryGe
        35
    HenryGe  
       2021-04-27 19:11:05 +08:00
    go 就算有全家桶也不会像 springboot.
    fxjson
        36
    fxjson  
       2021-04-27 19:17:12 +08:00 via Android
    gin 很爽
    fxjson
        37
    fxjson  
       2021-04-27 19:17:41 +08:00 via Android
    不喜欢重量级的东西
    ihipop
        38
    ihipop  
       2021-04-27 19:19:52 +08:00 via Android
    @Akiya 真的有,还不少。比如知乎,比如好未来,比如 7 牛。
    但掩盖不了目前 go 的各种问题。
    EminemW
        39
    EminemW  
       2021-04-28 00:25:51 +08:00
    楼上的难道没用过 wire 吗,这就是 DI
    lbp0200
        40
    lbp0200  
       2021-05-08 15:19:08 +08:00
    那么问题来了,你为什么要学习 golang ?
    golang 不可能替代 Java 的。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2698 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    Word is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 09:03 PVG 17:03 LAX 02:03 JFK 05:03
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86