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 · 9262 次点击
    这是一个创建于 1067 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在看 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 带来的不利索,但是有些还是可以提高开发效率的
    emeab
        10
    emeab  
       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
    你怎么不自己写一个呢
    emeab
        19
    emeab  
       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,舒服
    CEBBCAT
        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   ·   我们的愿景   ·   实用小工具   ·   2957 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 00:32 · PVG 08:32 · LAX 17:32 · JFK 20:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.