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

beego 开源项目求推荐

  •  
  •   jinya · 2017-02-16 20:25:44 +08:00 · 3029 次点击
    这是一个创建于 2623 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近公司要用 beego 框架,本人想深入学习一下 beego 框架,求老司机带路。
    34 条回复    2017-02-18 12:21:03 +08:00
    scnace
        1
    scnace  
       2017-02-16 20:54:58 +08:00 via Android
    beego.me 不是有两个 demo 项目?
    Muninn
        2
    Muninn  
       2017-02-17 00:35:07 +08:00   ❤️ 3
    深入学习后你会后悔为啥没劝 leader 选别的框架。

    感觉 golang 用 beego 丧尽优势,还不如用个 java 或者 php 。
    WildCat
        3
    WildCat  
       2017-02-17 06:46:36 +08:00
    换公司,下一题
    coderzys
        4
    coderzys  
       2017-02-17 07:08:08 +08:00 via Android   ❤️ 1
    用 beego,你会后悔的, net/http 完全不需要第三方框架,或者用 echo
    liyu4
        5
    liyu4  
       2017-02-17 08:49:28 +08:00 via iPhone
    也蛮好啊,哪里那么苦大
    Muninn
        6
    Muninn  
       2017-02-17 09:07:35 +08:00
    echo +1
    Immortal
        7
    Immortal  
       2017-02-17 09:24:56 +08:00
    先回答问题
    beego 官网里有个地方叫 产品案例 里面有一些开源项目

    然后之前用 beego 写过 现在在用 gin,你也可以看看上面推荐的 echo
    elgoog1970
        8
    elgoog1970  
       2017-02-17 09:39:22 +08:00
    golang 的优势确实没有在 beego 中体现出来
    qianguozheng
        9
    qianguozheng  
       2017-02-17 09:53:15 +08:00
    @Muninn @coderzys @Immortal 多模板哪里有样例?网上有单模板的,多模板不知道怎么用
    alphadog619
        10
    alphadog619  
       2017-02-17 10:31:25 +08:00
    https://beego.me/products 或者直接在 github 搜索
    ruooooooli
        11
    ruooooooli  
       2017-02-17 10:58:26 +08:00
    golang 的优势确实没有在 beego 中体现出来 +1
    junho
        12
    junho  
       2017-02-17 11:02:38 +08:00
    @ruooooooli
    能给我这个新学 beego 的彩笔说下为啥 golang 的优势没在 beego 中体现出来吗。。。
    ruooooooli
        13
    ruooooooli  
       2017-02-17 11:18:20 +08:00
    @junho
    首先说下我不是什么大神, 之前学习使用过一段时间的 Golang, 现在是做 PHP 的.
    之前对 Golang 感兴趣后学习, 当时学习 Golang 的时候 正好 Beego 的文档都是中文的, 熟读文档之后还是上手很快的
    但是用过 Beego 之后得整体感觉和 PHP 的框架并没有什么不同, 唯一就是 PHP -> Golang 了, 除了语法不一样 并没有其他感觉
    我只是说说我用过之后的体验, 大神轻喷哈
    jarlyyn
        14
    jarlyyn  
       2017-02-17 11:19:55 +08:00
    @ruooooooli

    这不是很正常吗。

    决定代码结构的是业务啊,又不是语言……
    ruooooooli
        15
    ruooooooli  
       2017-02-17 11:52:24 +08:00
    @jarlyyn
    可能是我经验还不多 而且当时也就做了一个简单的项目
    但是我还是感觉并不是很符合 Golang 的思维 或者 说不像是一个正真的 Golang Framework
    aljun
        16
    aljun  
       2017-02-17 11:54:42 +08:00 via iPhone
    我觉得你只需要一个东西叫 http parser 。。。其它自己造轮子吧。。。反正我是这么做的
    jarlyyn
        17
    jarlyyn  
       2017-02-17 12:01:50 +08:00
    @ruooooooli

    我并不用 beego,只大概的看过文档。

    但是,最根本的一点。

    语言或者语言的思维本身并不是很重要。

    业务才是最重要的。

    而且从框架本身存在的意义来说,如果一个框架是一个真正的某个语言的框架,那这注定是一个失败的框架。

    从我的角度看,框架本身就是为了去解决共性的东西。

    个人见解。
    fatedier
        18
    fatedier  
       2017-02-17 12:13:24 +08:00
    @ruooooooli 你这样说来 beego 可以让原来使用 PHP 框架的人无缝衔接,不是很好吗~
    realpg
        19
    realpg  
       2017-02-17 13:00:49 +08:00
    赶紧退 beego 坑……
    还不如用 php
    funky
        20
    funky  
       2017-02-17 13:02:57 +08:00
    loading
        21
    loading  
       2017-02-17 13:04:33 +08:00 via Android
    搭车问用哪个 模板库,目前选了 render ,不知道 pango2 能用吗?
    bianhua
        22
    bianhua  
       2017-02-17 13:08:51 +08:00
    @Muninn

    > 感觉 golang 用 beego 丧尽优势

    嗯……想知道丧失了哪些优势?能举个例子么?
    ruooooooli
        23
    ruooooooli  
       2017-02-17 14:07:25 +08:00
    @jarlyyn 可能是我经验有限, 做的东西不多, 并不能真正的理解 还待加强呀

    @fatedier 是的 用过 PHP 框架的可以很快上手 Beego
    Muninn
        24
    Muninn  
       2017-02-17 17:11:09 +08:00
    @bianhua 不好意思,我水平不到,说不清楚那种感觉。
    总之你看几个系统库的源码,
    再看几个其他出名项目的源码,
    看几个其他框架写出的成品的源码,
    最后再看看 beego 和 beego 写出来的项目的源码。
    这种感觉应该很明显。

    至少对我来说
    我用 go 是追求像 python 一样的简洁优雅,和近似 c 和性能。
    这两点 beego 都相去甚远。
    bianhua
        25
    bianhua  
       2017-02-17 17:18:12 +08:00
    @Muninn

    给几段代码比较一下?

    我早先用过 Beego ,当时感觉确实有缺陷,但不知道我的“感觉”跟你的是否是一样的。
    elone
        26
    elone  
       2017-02-17 17:29:05 +08:00 via Android
    我的建议是不要用框架, net http 真的够用了
    jarlyyn
        27
    jarlyyn  
       2017-02-17 17:33:23 +08:00
    @elone
    至少还要 middleware 和 router 吧。

    你一定要说 defaultmux 可以用那我也没话说……
    sampeng
        28
    sampeng  
       2017-02-17 17:43:26 +08:00
    看了一下源码。。。放弃使用 beego 的想法。完全没优势啊。搞得跟 php 和 java 一样。那为毛我不选 php 和 java 。还有更好的生态圈。如果是简单的 http api 层。。个人感觉 net/http 完全够用。稍微封装一下即可。
    最痛苦的事就是当你用一个框架中标榜的特性时,然后这货还没写清楚文档。然后你就 sb 了。
    简单可依赖!简单可依赖!
    sampeng
        29
    sampeng  
       2017-02-17 17:46:09 +08:00
    楼上都在说业务为王。。那你用个球的 golang 。。。 php 和 java 的一大把程序员让你招。 golang 的凤毛麟角。。
    现在爱上 golang 的唯一原因就是部署太爽。一个二进制文件,这才是我心目中的跨平台。因为我是 mac 本。
    前几天调试一个 udp 的问题。 c++的同事说些个工具需要 1-2 个小时。我还没说话, go build 完事。。。就几行代码的事
    sampeng
        30
    sampeng  
       2017-02-17 17:47:45 +08:00
    @jarlyyn 用和不用都是和业务相关。。如果你的业务只有几个接口。。最多几十个接口。其实代码风格搞好了,我一直认为要个球的 router 。。。直接写死在配置文件里面,写清楚一点。格式好看一点。一点不比 router 差。
    chingli
        31
    chingli  
       2017-02-17 17:49:45 +08:00
    以下内容摘自我写的一篇博客文章,大家看我的理解对不对:

    http://www.chingli.com/coding/understanding-go-web-app/

    ## 框架

    我们在前面已经费劲口舌地说明了当用 Go 写 Web 服务器程序时,该如何实现路由功能,以及该如何用规范的方式编写 Handler (或中间件)。但一个 Web 程序的编写往往要涉及更多的方面,我们在前面介绍中间件时已经说过,各种各样的中间件能够帮助我们完成这些任务。但许多时候,我们总是希望他人帮我们完成更多的事情,从而使我们自己的工作更加省力。应运这种需求,就产生了许许多多的 Web 框架。根据架构的不同,这些框架大致可分为两大类:

    第一类是微架构型框架。其核心框架只提供很少的功能,而更多的功能则需要组合各种中间件来提供,因此这种框架也可称为混搭型框架。它相当灵活,但相对来说需要使用者在组合使用各种中间件时花费更大的力气。像 Echo 、 Goji 、 Gin 等都属于微架构型框架。

    第二类是全能型架构。它基本上提供了你编写 Web 应用时需要的所有功能,因此更加重型,多数使用 MVC 架构模式设计。在使用这类框架时你可能感觉更轻省,但其做事风格一般不同于 Go 语言惯用的风格,你也较难弄明白这些框架是如何工作的。像 Beego 、 Revel 等就属于全能型架构。

    对于究竟该选择微架构还是全能型架构,仍有较多的争议。像 The Case for Go Web Frameworks 一文就力挺全能型架构,并且其副标题就是“ Idiomatic Go is not a religion ”,但该文也收到了较多的反对意见,见这里和这里。总体上来说, Go 语言社区已越来越偏向使用微架构型框架,当将来 context 包进入标准库后, http.Handler 本身就定义了较完善的中间件编写规范,这种使用微架构的趋势可能更加明显,并且各种微架构的实现方式有望进一步走向统一,这样其实 http 包就是一个具有庞大生态系统的微架构框架。
    jinya
        32
    jinya  
    OP
       2017-02-17 23:53:32 +08:00
    go 有什么值得推荐的框架?
    koodai
        33
    koodai  
       2017-02-18 04:31:48 +08:00 via iPhone
    啊哈~
    要弄清楚 beego 为什么没有体现 golang 的优势,先得搞清楚 golang 的优势在那里。我认为是在微线程。
    boogo 框架的作者是 PHP 转过去的,然后一切都还是 PHP 的那些套路,框架基本就是 PHP 滥觞的再现,没有把 go 最深的、创造性的地方体现、挖掘出来。
    rails 把 ruby 拔高了一截,很明显, beego 做不到。

    再说,这个框架是否已经被作者放弃了?已经很久不关注了。
    我用无闻的教程入的门,后期也和他搞的搜索工具一样搞过几个小东西,但感觉不够顺手,就没继续玩下去了。
    不认为 go 的优势应用领域在于表现型 web ,复杂的网络计算,精确的线程粒度控制比较出彩。纯 web 项目 rails 、 Django 、 php 我都认为更好
    chingli
        34
    chingli  
       2017-02-18 12:21:03 +08:00
    @koodai 语文课开始,大家说说楼上“框架基本就是 PHP 滥觞的再现”一句中的“滥觞”是什么意思?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3308 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 12:33 · PVG 20:33 · LAX 05:33 · JFK 08:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.