V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
wbofeng
V2EX  ›  Go 编程语言

Beego 再出发

  •  3
     
  •   wbofeng · 2020-06-08 09:07:54 +08:00 · 6560 次点击
    这是一个创建于 1627 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Beego 再出发

    前言

    近年来得益于 go 社区的普及和推广,很大程度上促进了 go 生态的蓬勃发展。十年前的 go 还只是程序员手里的玩具,但如今已经成为解放程序员生产力的重要工具。越来越多设计新颖、理念先进、架构完善的组件涌现出来。注册的 ETCD 、监控的 Prometheus 、日志的 Zap 、云原生的 K8S 等组件的出现,让我们能够在 go 生态中尽情选择组件,设计我们的系统,实现我们想要的代码世界。

    go 在这十年的发展,让我们见证了一门语言的崛起之路,看到了无数程序员夜以继日为 go 生态的添砖加瓦。作为 go 生态的重要组成部分 Beego,热切的希望能够和 go 社区组件的融合,享受 go 生态的红利。因此在今年我们 Beego 团队将会重启和蜕变,重新思考和设计 Beego,将其打造为 go 生态最实用的框架。

    什么是 Beego

    Beego 是一个能够快速开发 go 应用程序的 WEB 框架。它可以用来迅速地开发 API 、网络 App 和后端服务。同时,它也可以作为 RESTful 框架。其设计灵感主要来自 Python 和 Rails 流行的框架,借鉴了 Python 语言开发的框架 Tornado 和 Flask 以及 Ruby 开发的 web 框架 Sinatra 。

    Beego 与其他框架的最大区别,是我们不仅在追求框架性能的同时,更加关注于开发效率,解放程序员的生产力。

    通常情况下,我们做一个业务的时候,在使用一些 WEB 框架需要纠结的选择各种组件和编写自己的中间件,将这些代码拼接到一起,这个繁琐过程可以理解成我们拿了一堆锤子、钉子在组装一个工具,做好了工具才能开始需求,导致我们开发人员陷入到选轮子、造轮子的加班困境中。Beego 则是借助 go 社区大家提出的想法,组装出一个好用的工具,帮助程序员早点做完需求,早点下班。

    我们做了什么

    我们在重启 Beego 的过程中,发现 Beego 框架和 Bee 工具的功能点非常多,但很多功能都没有被用户发现和使用。我们意识到一个能帮助程序员快速开发的好框架,不仅需要齐全的功能,更需要充足的 example 、文档、配套工具、以及整个社区人员,去支撑框架的整个生态。所以我们编写了大量 Beego 的 example ,收集了由 Beego 构建的开源项目,将他们汇总成 example 网站 ,希望通过这个网站,能够让更多的人快速了解 Beego 和使用 Beego 。

    我们在整理 Beego 框架和文档,了解到 Beego 项目始于 2012 年,创作较早,基于那个时期 go 的基础建设、组件和理念并不像如今这么完善,导致了 Beego 在某些设计或者组件上存在一些问题。这些问题让如今的 Beego 的使用情况落后于后来居上的一些新框架。虽然如此,但我们仍然选择了贡献 Beego,一方面 Beego 可以说是最早最好的中文框架,另一方面是我们靠 Beego 上手学习的 go 。因此为了这些原因,我们组建了 Beego 团队,重启 Beego,希望能够将新的理念、新的血液带入到 Beego,使得 Beego 更好的服务于国人。

    我们的规划

    Beego 历经了 8 年的发展,可以看到 Beego 成为许多开发工作者的重要工具,得到了大家的广泛支持。为了让 Beego 更好的发展,更好的服务于大家,我们将会从多个方面建设 Beego 。

    文档建设

    文档是开源的第一要素。我们会将构建四种文档类型:使用文档、架构文档、awesome 文档、生态文档。介绍框架的使用方式、example 案例;框架的基础知识、架构原理;框架相关的 awesome 文章;使用 Beego 的相关作品和 Web 网站。

    团队建设

    建立 Beego 团队,吸引广大小伙伴,为 Beego 添砖加瓦。同时也给加入的小伙伴带来福利,例如 go 周边礼物,Gopher China 门票,推荐成为 Gopher 讲师。在这里你可以认识更多志同道合的朋友,并且有朝一日能够成为独当一面的 Gopher 。

    框架建设

    将框架设计为高性能和高效率两种模式,让大家根据业务场景选择合适的版本。并积极引入开源的新组件例如 zap 、prometheus 、nacos 等组件,丰富 beego 的功能。增加 example 和 unit test,提升框架的可用性和可靠性。最后会重构 Beego,解耦模块,提升性能,将 Beego 的源码作为 Gopher 最好的入门指导。

    生态建设

    使用 Beego 的开源项目或者公司可以联系我们,我们将会手把手教学。并且会将你们的案例、文章、网址定期宣传。共建 Beego 社区。

    核心成员介绍

    目前 Beego 有四名核心成员,承担了 Beego 日常的工作。我们希望能够有更多的人能够加入进来,成为 Beego 核心成员。以下介绍下 Beego 成员。

    • 谢孟军:go 官方中国区社区负责人,Beego 创始人
    • 彭友顺:斗鱼 Jupiter 框架负责人,斗鱼资深架构师
    • 邓明:Apache Commiter,Dubbogo 核心开发人员
    • 王博锋:Gopher China 大学生社区推广人,全栈工程师,在校大学生

    加入我们

    微信二维码

    WechatIMG5.png

    钉钉二维码

    https://cdn.nlark.com/yuque/0/2020/png/159267/1591452716635-e291b76d-243f-4297-9ee6-385ddb887196.png?x-oss-process=image%2Fresize%2Cw_746

    快速链接

    第 1 条附言  ·  2020-06-08 09:57:13 +08:00

    微信群

    https://cdn.nlark.com/yuque/0/2020/png/159267/1591452169119-28833590-c553-4d29-8601-577bc5a5e0ea.png

    钉钉群

    https://cdn.nlark.com/yuque/0/2020/png/159267/1591452716635-e291b76d-243f-4297-9ee6-385ddb887196.png?x-oss-process=image%2Fresize%2Cw_746

    第 2 条附言  ·  2020-06-08 10:07:12 +08:00

    微信群

    https://i.v2ex.co/kyMz2N3rb.png

    钉钉群

    https://i.v2ex.co/23D1QL6ub.jpeg

    37 条回复    2020-11-18 08:07:10 +08:00
    HerrDu
        1
    HerrDu  
       2020-06-08 09:41:01 +08:00
    图片挂掉了
    nguoidiqua
        2
    nguoidiqua  
       2020-06-08 09:44:11 +08:00
    框架建设方面有大概的时间表么?
    airplayxcom
        3
    airplayxcom  
       2020-06-08 09:53:07 +08:00
    说实话,beego 给我第一印象就是太重了
    Immortal
        4
    Immortal  
       2020-06-08 09:56:02 +08:00
    不知道现在 beego 长啥样了
    早期看 beego 源码味道更像 PHP
    这里没有黑 php 的意思 只是纯粹的说代码思路和项目结构
    airplayxcom
        5
    airplayxcom  
       2020-06-08 10:12:19 +08:00
    @Immortal 对,我也感觉把 PHP 思想带进来了
    iceiceice
        6
    iceiceice  
       2020-06-08 10:13:37 +08:00
    新版的 beego 的 log 支持自定义 log 吗
    labulaka521
        7
    labulaka521  
       2020-06-08 10:21:15 +08:00
    加油 这么棒的东西别丢了
    imherer
        8
    imherer  
       2020-06-08 10:27:47 +08:00
    早期开始学 go 的时候一开始就是看的 beego
    但是后来发现一个 bug 就是使用 go mod 的时候 router namespace 不工作,于是就转向 gin 了

    不过总体来说 beego 还是挺不错的
    di1012
        9
    di1012  
       2020-06-08 10:29:55 +08:00
    beego gin
    都学
    Hanggi
        10
    Hanggi  
       2020-06-08 10:30:22 +08:00
    看网上的压测,beego 性能跟 gin 或者 echo 比被拉下了 5 条街,这个计划怎么解决呢?
    Y9qn1d
        11
    Y9qn1d  
       2020-06-08 11:43:28 +08:00 via iPhone
    不喜欢 beego,首先因为不如 gin,然后就是因为几年前谢大在他 q 群安利加密货币我说了几句风险大之类的就被踢了 emmmmm
    CodeCodeStudy
        12
    CodeCodeStudy  
       2020-06-08 11:45:30 +08:00
    @airplayxcom 我觉得刚刚好啊,该有的都有了
    scnace
        13
    scnace  
       2020-06-08 12:10:32 +08:00 via Android
    想起来 ci linter 就是拿 beego 做的例子(
    wsseo
        14
    wsseo  
       2020-06-08 12:48:59 +08:00
    不知道能不能做起来,希望很快有改进发布
    goophy
        15
    goophy  
       2020-06-08 12:57:31 +08:00
    挺好,刚放弃 revel 转 beego 了
    hand515
        16
    hand515  
       2020-06-08 13:20:45 +08:00
    @imherer #8 这个 bug 好像两年了
    dog82
        17
    dog82  
       2020-06-08 13:29:24 +08:00
    @hand515 同遇到这个问题,找了半天没很好的解决方案
    imherer
        18
    imherer  
       2020-06-08 13:40:05 +08:00
    @hand515 看了 github 我 18 年提的 issue…… 到现在还是 open 状态
    hand515
        19
    hand515  
       2020-06-08 13:51:05 +08:00
    @dog82 #17
    @imherer #18

    老项目迁移到 go mod,用 beego 的死活都是 404,最终搜了下 issue 才发现很久的问题了
    imherer
        20
    imherer  
       2020-06-08 13:55:45 +08:00
    @hand515 哈哈。你这是够苦逼的。

    我一开始也是用的 go patch,后来用 go mod 发现是 404,找了好久都不知道哪里问题,后来发现 beego 自带 debug 页面能看到所有的 router,然后才找到问题。然后提了 issue 也没人管,于是我就转向 gin 了
    ljh0585
        21
    ljh0585  
       2020-06-08 14:26:55 +08:00
    用过两个月 beego,总觉得作者已经放弃这个项目了。。
    dodo2012
        22
    dodo2012  
       2020-06-08 14:30:05 +08:00
    @imherer 你 18 年的算啥,我看了下我以前一同事 14 年开的 issue 到现在也没没回复还一直 open 的,他好像从那个 bug 起就转 gin 去了,我也跟着转了。
    imherer
        23
    imherer  
       2020-06-08 14:33:10 +08:00
    @dodo2012 😂
    zzlettle
        24
    zzlettle  
       2020-06-08 16:03:35 +08:00
    最怕的就是这样的开源项目,不知道什么时候就走人不继续维护了
    所以就算一开始很好,也没多少人用
    xkeyideal
        25
    xkeyideal  
       2020-06-08 16:17:24 +08:00
    不用再出发了,gin 挺好用,轻量化,插件式,谁写个 webapi 还整大而全啊,beego 里面很多组件实际项目中基本没法使用
    claymore94
        26
    claymore94  
       2020-06-08 16:39:39 +08:00
    哈哈 原本以为这是一篇推广贴,看来成了劝退贴
    param
        27
    param  
       2020-06-08 17:15:59 +08:00
    再出发大联盟
    useben
        28
    useben  
       2020-06-08 17:40:33 +08:00
    gin 不香吗, 哈哈
    daya
        29
    daya  
       2020-06-09 08:58:40 +08:00 via iPhone
    @claymore94 哈哈哈
    lasuar
        30
    lasuar  
       2020-06-09 09:57:43 +08:00
    感觉就像个人的 KPI 产物呢,几百个 issue 挂着,看看 iris,gin 的 issue 数量。
    个人首推 iris,issue 反应超快,目前 issue 数量两位数,且功能全面,性能比肩 gin 。
    felinx
        31
    felinx  
       2020-06-09 11:06:25 +08:00
    @ljh0585
    @imherer

    谢大 2017 年开始创业,个人精力上的投入不比在外企时的,所以这些年步子变慢了,这是可以理解的。

    现在他们提出 Beego 再出发,这是一件好事,说明不单单是谢大个人了,更多的是想通过社区以更 open 的姿态,引入更多的优秀贡献者来共同推动 Beego 的发展,进行大尺度的优化未来也不是不可能,我相信谢大背后的公司也是会为 Beego 的发展出力的。
    imherer
        32
    imherer  
       2020-06-09 11:39:48 +08:00
    @felinx 能理解,毕竟开源不易
    sunny352787
        33
    sunny352787  
       2020-06-09 16:15:40 +08:00
    前几年用 beego 做过项目,bee 工具确实不错,但是大而全的 beego 确实用着不舒服,后来转到 gin 之后觉得 gin 的那种插件机制才真的适合我们,现在的话也已经不想再回到 beego 了
    vus520
        34
    vus520  
       2020-06-09 17:31:57 +08:00
    Go 生态里还是需要有一个全栈框架,目前更看重 gf 。

    beego 其实可以考虑和 gf 一起加强组件的开发。
    pythonee
        35
    pythonee  
       2020-06-09 21:53:09 +08:00
    nice job
    yiplee
        36
    yiplee  
       2020-06-10 11:11:55 +08:00
    gin 我都觉得重了,现在在用 https://github.com/go-chi/chi
    darklowly
        37
    darklowly  
       2020-11-18 08:07:10 +08:00
    谢孟军的编程水平真的有问题。在 go 刚推出的时候,写了一个入门的册子,然后把 ThinkPHP 的模式搬过来,写出了 beego,代码写的非常差。口口声声说开源,本质上是通过开源的方式在圈地。

    2017 年创业没时间?可是 beego 的开发期其实远在 2017 年之前。没时间是遮羞布,实际上是水平太差。

    水平差和没时间两个因素加一起,就别再出发了,放过 go 吧。

    大量初学者,基础太差,没有鉴别能力,很多是通过 beego 来入门,给初学者编程上的误导,带来的危害,远远大于 beego 的贡献。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   964 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 21:47 · PVG 05:47 · LAX 13:47 · JFK 16:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.