The Go Programming Language
› http://golang.org/
› Go Playground
Go Projects
› Revel Web Framework
sciel1211

golang 框架选择,单体小应用,服务端渲染,利于 seo,前后端个人开发,方便独立维护.选择哪种框架好呢?

  •  
  •   sciel1211 · Jul 12, 2021 · 9184 views
    This topic created in 1944 days ago, the information mentioned may be changed or developed.
    个人开发简单的小项目,后面用来挂广告随缘流量的那种.哪种框架比较适合呢?

    - Gin?
    - Iris ?
    - Echo?
    - Revel?
    -Beego? 没用过

    有像 python 的 django 的吗?

    如果 golang 没有,那其他语言哪种框架比较好呢?
    60 replies  •  2021-08-25 21:16:53 +08:00
    plutome
    plutome
    Jul 12, 2021
    1
    个人的话 就 gin+vue 就完事了.
    答应我, 不用 Beego 好么?
    lollol33
    lollol33
    Jul 12, 2021
    2
    我个人觉得 beego 可以用,简单且全,省得自己去各种组装
    zoharSoul
    zoharSoul
    Jul 12, 2021
    3
    好像没有类似 django 这种的,
    golang 的这些都称不上框架...顶多算个 http 路由的封装..
    sciel1211
    sciel1211
    OP
    Jul 12, 2021
    4
    @plutome 你的意思是使用 gin 的 template 方式,渲染 html, 在 html 页面里面引入`vue js`从而使用 vue?

    还是说,用 gin 提供后台数据,vue 使用 Nuxt.js 服务端渲染?
    liaosp
    liaosp
    Jul 12, 2021
    5
    gin
    seki
    seki
    Jul 12, 2021
    6
    如果你用 nuxt 的话,nuxt 本身也是一个 node.js 后端,可以不用 go 出场

    除了 template 也可以前后端分析,后端提供 api,前端启动时去访问,当然前端是 nuxt 也行
    kaolajia123
    kaolajia123
    Jul 12, 2021
    7
    echo 或者 gin
    XCFOX
    XCFOX
    Jul 12, 2021
    8
    既然要服务端渲染,不如直接用 Node.js ,Next.js + Prisma
    https://www.prisma.io/nextjs
    ifsclimbing
    ifsclimbing
    Jul 12, 2021
    9
    php
    ifsclimbing
    ifsclimbing
    Jul 12, 2021
    10
    rails
    ifsclimbing
    ifsclimbing
    Jul 12, 2021
    11
    django
    Dockerfile
    Dockerfile
    Jul 12, 2021
    12
    @sciel1211 他肯定是前后端分离的意思吧
    alexmy
    alexmy
    Jul 12, 2021
    13
    我选择前端用 next.js 。后端用 go 自己封装了一个,以前用 iris 。
    kaellzt777
    kaellzt777
    Jul 12, 2021
    14
    答应我, 不用 Beego 好么?
    isouu
    isouu
    Jul 12, 2021
    15
    试试 GoFrame 呢
    kerro1990
    kerro1990
    Jul 12, 2021
    16
    gin
    mybigbigpark
    mybigbigpark
    Jul 12, 2021
    17
    GoFrame
    pinylin
    pinylin
    Jul 12, 2021
    18
    gin
    a719114136
    a719114136
    Jul 12, 2021
    19
    1. go 没 django 这样的框架,go 的框架都是类似于 flask 这种的。
    2. 建议直接用 django,非要用 go 的话,这几个其实都差不多。
    Rwing
    Rwing
    Jul 12, 2021
    20
    我倒是觉得没必要用 go,除非你是学习用,不然拿 go 来写业务系统或 crud 的很累,不如我推荐一下 C# ?
    jianhua
    jianhua
    Jul 12, 2021
    21
    beego 怎么了
    joesonw
    joesonw
    Jul 12, 2021 via iPhone
    22
    macaron 的集成比较多
    keepeye
    keepeye
    Jul 12, 2021
    23
    iris 吧,基本都有,自带 mvc 能凑合用,orm 可以用 gorm
    kidlj
    kidlj
    Jul 12, 2021❤️1
    24
    Echo + Ent. + html/template + Stimulus
    zzzzqqw
    zzzzqqw
    Jul 12, 2021
    25
    没用过 gin,只用过 beego,它怎么了?
    很简单易用啊,想到了需求直接去看 documentation,要啥有啥
    Evilk
    Evilk
    Jul 12, 2021
    26
    php + workerman
    stach
    stach
    Jul 12, 2021
    27
    js python php 这一类语言比较符合楼主的需求, go 一般都是做纯 api 的服务.
    wowbaby
    wowbaby
    Jul 12, 2021
    28
    前段时间打算用 go 来重构 php 项目,看了几个框架文档,比较全的 iris,goframe 等,其它没有 mvc,restful 模式 seo 不太友好,服务器渲染感觉又复杂化了,衡量之后,感觉工程之大,最终是放弃了,感觉 go 写业务优势不明显,不想找罪受,毕竟不太想写代码了,很多东西都没有,得自己封装,很累。比如 Yii 的 ARD 、缓存依赖、组件化、事件等,项目中可以很溜的玩,再说 php7 后性能也不差,基本性能瓶颈在 io 、db 。
    mekingname
    mekingname
    Jul 12, 2021
    29
    goframe 就是像 django 一样的框架。
    ucando
    ucando
    Jul 12, 2021
    30
    小项目? PHP 可真香
    xiaochong0302
    xiaochong0302
    Jul 12, 2021
    31
    个人业务全干工程师选择 PHP,上班流水线打螺丝就 go,java 无所谓的
    bonfy
    bonfy
    Jul 12, 2021
    32
    gin
    caryqy
    caryqy
    Jul 12, 2021
    33
    我自己喜欢使用 gin + vue 的形式


    vue 单纯替换 jquery 使用,使用 gulp 来压缩合并
    meshell
    meshell
    Jul 12, 2021❤️1
    34
    go + template + Alpine.js 吧。
    gsanidt
    gsanidt
    Jul 12, 2021
    35
    gin
    clickclick
    clickclick
    Jul 12, 2021
    36
    echo
    Smash
    Smash
    Jul 12, 2021
    37
    @sciel1211 go 的 embed 可以把 vue 这些前端文件打进二进制包.免去了部署的麻烦
    SansXie
    SansXie
    Jul 13, 2021
    38
    @plutome beego 怎么了?
    wzw
    wzw
    Jul 13, 2021
    39
    GoFrame
    DipperRoy
    DipperRoy
    Jul 13, 2021
    40
    只要你不用 beego 我们就是好朋友
    hunk
    hunk
    Jul 13, 2021
    41
    @plutome 刚开始用 beego 的 orm,有点上瘾
    itwarcraft88
    itwarcraft88
    Jul 13, 2021
    42
    GoFrame+1 慢慢需要的话再自己搭建吧
    bthulu
    bthulu
    Jul 13, 2021
    43
    业务追求开发效率就不要用 go, 时间成本不是问题就随便折腾
    est
    est
    Jul 13, 2021
    44
    我觉得还是直接静态页面吧。
    evam
    evam
    Jul 13, 2021
    45
    @DipperRoy #40 beego 怎么了??求解
    WaldenHorizon
    WaldenHorizon
    Jul 13, 2021
    46
    php-swoole 正在转 go,推荐 goframe,作者很了解一线业务开发的痛点
    bzshow1
    bzshow1
    Jul 13, 2021
    47
    当然用 rust 的 warp
    libook
    libook
    Jul 13, 2021❤️1
    48
    不建议把这些功能全塞到 Go 技术栈里,Go 的生态决定它比较适合做微服务(你去看前几名的框架,一水的轻量级),也就是 API CRUD 的那一部分;这方面更像 Flask,而 Django 是大而全的。

    大而全的框架现在比较少见了; Node.js 下的 Egg(KPI 预警)、Express 也集成了不少东西,你自己开发的话前后端都用 JS/TS,也比较方便。

    个人开发也可以前后端分离,只要做了分离,以后扩展就非常方便。比如前期可以直接在 Go 里挂个静态路由给前端目录,后续可以换 Nginx,性能不够上集群,最终可以迁移到 CDN 。

    SEO 的话可以去参考一些 SSR 方案,也就是说在服务器上把 Vue 、React 之类的富前端页面进行静态化渲染,专门用于 SEO,因为静态化了,所以这块也可以和原本的前端文件一样的方式提供。

    如果你对 Django 很熟悉,也觉得 Django 满足当前的需求,那么就用 Django 吧,没必要非要换技术栈,因为不同技术栈的设计目标、特性都不同,所以你没法简单把一个模式从一个技术栈搬到另一个技术栈,那样最终的结果很可能是你觉得还是不如原来的技术栈好用;要想学习多些领域,就得打破思维定式,去看看真正适合每个技术栈的方案都是什么。
    wangxin13g
    wangxin13g
    Jul 13, 2021
    49
    php
    如果你不写云原生 用 go 就是给自己找不痛快
    haonse
    haonse
    Jul 13, 2021 via iPhone❤️1
    50
    gin+pongo2,自己用了几年了很顺手,pongo2 这个模板引擎语法和 django 模板引擎一样,我从 py 过来的无压力
    haonse
    haonse
    Jul 13, 2021 via iPhone❤️1
    51
    @haonse 另外,和你一样的需求过来,不建议用 beego,但凡多用过几种 web 框架,都能看出它设计上的反人类( py 转 go 的,py 和 go 的 web 框架都试过,go 现在就是 gin iris echo 三选一),举一例:如果你在大型项目里面看到过注解路由,试过手动编译路由文件,就知道我的意思了
    sunmoon1983
    sunmoon1983
    Jul 13, 2021❤️1
    52
    试试 GoFrame 吧
    mauve
    mauve
    Jul 13, 2021
    53
    这几个不适合 SSR,反倒是前端生态里有很多适合 SSR 的,如 VuePress 、Next.js 、Nuxt.js 、Gatsby.js ,你当然可以用,但比起这几个 JAMStack( Javascript API Markup)来说在 Go 这边有个更适合的框架:Hugo,号称 The world's fastest framework for building website

    然后你还需要一个 Headless CMS https://jamstack.org/headless-cms/

    关键词:Hugo JAMStack
    qloog
    qloog
    Jul 14, 2021
    54
    也可以试试 [https://github.com/1024casts/snake]( https://github.com/1024casts/snake), 内置登录、注册页面,剩余的可以自己扩展,如果后续有 API 开发需求也可以无缝对接。
    ziyeziye
    ziyeziye
    Jul 14, 2021❤️1
    55
    goframe, 工具全套
    yagamil
    yagamil
    Jul 21, 2021
    56
    个人也想搭一个玩玩, 楼主可以一起学习学习~~
    xiaogui
    xiaogui
    Jul 21, 2021❤️1
    57
    也可以试试 Fiber
    i4color
    i4color
    Jul 24, 2021
    58
    gin+xorm+vue+elementui
    qq1340691923
    qq1340691923
    Jul 27, 2021
    59
    根据你的需求,我的建议是选 php
    yrj
    yrj
    Aug 25, 2021 via iPad
    60
    @xiaogui go fiber + 1

    用的人这么少吗?我是第二个安利的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1766 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 133ms · UTC 14:23 · PVG 22:23 · LAX 06:23 · JFK 09:23
    ♥ Do have faith in what you're doing.