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

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

  •  
  •   sciel1211 · Jul 12, 2021 · 8586 views
    This topic created in 1767 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
        1
    plutome  
       Jul 12, 2021
    个人的话 就 gin+vue 就完事了.
    答应我, 不用 Beego 好么?
    lollol33
        2
    lollol33  
    PRO
       Jul 12, 2021
    我个人觉得 beego 可以用,简单且全,省得自己去各种组装
    zoharSoul
        3
    zoharSoul  
       Jul 12, 2021
    好像没有类似 django 这种的,
    golang 的这些都称不上框架...顶多算个 http 路由的封装..
    sciel1211
        4
    sciel1211  
    OP
       Jul 12, 2021
    @plutome 你的意思是使用 gin 的 template 方式,渲染 html, 在 html 页面里面引入`vue js`从而使用 vue?

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

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


    vue 单纯替换 jquery 使用,使用 gulp 来压缩合并
    meshell
        34
    meshell  
       Jul 12, 2021   ❤️ 1
    go + template + Alpine.js 吧。
    gsanidt
        35
    gsanidt  
       Jul 12, 2021
    gin
    OliverDD
        36
    OliverDD  
       Jul 12, 2021
    echo
    Smash
        37
    Smash  
       Jul 12, 2021
    @sciel1211 go 的 embed 可以把 vue 这些前端文件打进二进制包.免去了部署的麻烦
    SansXie
        38
    SansXie  
       Jul 13, 2021
    @plutome beego 怎么了?
    wzw
        39
    wzw  
       Jul 13, 2021
    GoFrame
    DipperRoy
        40
    DipperRoy  
       Jul 13, 2021
    只要你不用 beego 我们就是好朋友
    hunk
        41
    hunk  
       Jul 13, 2021
    @plutome 刚开始用 beego 的 orm,有点上瘾
    itwarcraft88
        42
    itwarcraft88  
       Jul 13, 2021
    GoFrame+1 慢慢需要的话再自己搭建吧
    bthulu
        43
    bthulu  
       Jul 13, 2021
    业务追求开发效率就不要用 go, 时间成本不是问题就随便折腾
    est
        44
    est  
       Jul 13, 2021
    我觉得还是直接静态页面吧。
    evam
        45
    evam  
       Jul 13, 2021
    @DipperRoy #40 beego 怎么了??求解
    wangritian
        46
    wangritian  
       Jul 13, 2021
    php-swoole 正在转 go,推荐 goframe,作者很了解一线业务开发的痛点
    bzshow1
        47
    bzshow1  
       Jul 13, 2021
    当然用 rust 的 warp
    libook
        48
    libook  
       Jul 13, 2021   ❤️ 1
    不建议把这些功能全塞到 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
        49
    wangxin13g  
       Jul 13, 2021
    php
    如果你不写云原生 用 go 就是给自己找不痛快
    haonse
        50
    haonse  
       Jul 13, 2021 via iPhone   ❤️ 1
    gin+pongo2,自己用了几年了很顺手,pongo2 这个模板引擎语法和 django 模板引擎一样,我从 py 过来的无压力
    haonse
        51
    haonse  
       Jul 13, 2021 via iPhone   ❤️ 1
    @haonse 另外,和你一样的需求过来,不建议用 beego,但凡多用过几种 web 框架,都能看出它设计上的反人类( py 转 go 的,py 和 go 的 web 框架都试过,go 现在就是 gin iris echo 三选一),举一例:如果你在大型项目里面看到过注解路由,试过手动编译路由文件,就知道我的意思了
    sunmoon1983
        52
    sunmoon1983  
       Jul 13, 2021   ❤️ 1
    试试 GoFrame 吧
    mauve
        53
    mauve  
    PRO
       Jul 13, 2021
    这几个不适合 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
        54
    qloog  
       Jul 14, 2021
    也可以试试 [https://github.com/1024casts/snake]( https://github.com/1024casts/snake), 内置登录、注册页面,剩余的可以自己扩展,如果后续有 API 开发需求也可以无缝对接。
    ziyeziye
        55
    ziyeziye  
       Jul 14, 2021   ❤️ 1
    goframe, 工具全套
    yagamil
        56
    yagamil  
       Jul 21, 2021
    个人也想搭一个玩玩, 楼主可以一起学习学习~~
    xiaogui
        57
    xiaogui  
       Jul 21, 2021   ❤️ 1
    也可以试试 Fiber
    i4color
        58
    i4color  
       Jul 24, 2021
    gin+xorm+vue+elementui
    qq1340691923
        59
    qq1340691923  
       Jul 27, 2021
    根据你的需求,我的建议是选 php
    yrj
        60
    yrj  
       Aug 25, 2021 via iPad
    @xiaogui go fiber + 1

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