2
Muninn 2017-02-17 00:35:07 +08:00 3
深入学习后你会后悔为啥没劝 leader 选别的框架。
感觉 golang 用 beego 丧尽优势,还不如用个 java 或者 php 。 |
3
WildCat 2017-02-17 06:46:36 +08:00
换公司,下一题
|
4
coderzys 2017-02-17 07:08:08 +08:00 via Android 1
用 beego,你会后悔的, net/http 完全不需要第三方框架,或者用 echo
|
5
liyu4 2017-02-17 08:49:28 +08:00 via iPhone
也蛮好啊,哪里那么苦大
|
6
Muninn 2017-02-17 09:07:35 +08:00
echo +1
|
7
Immortal 2017-02-17 09:24:56 +08:00
先回答问题
beego 官网里有个地方叫 产品案例 里面有一些开源项目 然后之前用 beego 写过 现在在用 gin,你也可以看看上面推荐的 echo |
8
elgoog1970 2017-02-17 09:39:22 +08:00
golang 的优势确实没有在 beego 中体现出来
|
9
qianguozheng 2017-02-17 09:53:15 +08:00
|
10
alphadog619 2017-02-17 10:31:25 +08:00
https://beego.me/products 或者直接在 github 搜索
|
11
ruooooooli 2017-02-17 10:58:26 +08:00
golang 的优势确实没有在 beego 中体现出来 +1
|
12
junho 2017-02-17 11:02:38 +08:00
@ruooooooli
能给我这个新学 beego 的彩笔说下为啥 golang 的优势没在 beego 中体现出来吗。。。 |
13
ruooooooli 2017-02-17 11:18:20 +08:00
@junho
首先说下我不是什么大神, 之前学习使用过一段时间的 Golang, 现在是做 PHP 的. 之前对 Golang 感兴趣后学习, 当时学习 Golang 的时候 正好 Beego 的文档都是中文的, 熟读文档之后还是上手很快的 但是用过 Beego 之后得整体感觉和 PHP 的框架并没有什么不同, 唯一就是 PHP -> Golang 了, 除了语法不一样 并没有其他感觉 我只是说说我用过之后的体验, 大神轻喷哈 |
14
jarlyyn 2017-02-17 11:19:55 +08:00
|
15
ruooooooli 2017-02-17 11:52:24 +08:00
|
16
aljun 2017-02-17 11:54:42 +08:00 via iPhone
我觉得你只需要一个东西叫 http parser 。。。其它自己造轮子吧。。。反正我是这么做的
|
17
jarlyyn 2017-02-17 12:01:50 +08:00
@ruooooooli
我并不用 beego,只大概的看过文档。 但是,最根本的一点。 语言或者语言的思维本身并不是很重要。 业务才是最重要的。 而且从框架本身存在的意义来说,如果一个框架是一个真正的某个语言的框架,那这注定是一个失败的框架。 从我的角度看,框架本身就是为了去解决共性的东西。 个人见解。 |
18
fatedier 2017-02-17 12:13:24 +08:00
@ruooooooli 你这样说来 beego 可以让原来使用 PHP 框架的人无缝衔接,不是很好吗~
|
19
realpg 2017-02-17 13:00:49 +08:00
赶紧退 beego 坑……
还不如用 php |
20
funky 2017-02-17 13:02:57 +08:00
|
21
loading 2017-02-17 13:04:33 +08:00 via Android
搭车问用哪个 模板库,目前选了 render ,不知道 pango2 能用吗?
|
23
ruooooooli 2017-02-17 14:07:25 +08:00
|
24
Muninn 2017-02-17 17:11:09 +08:00
@bianhua 不好意思,我水平不到,说不清楚那种感觉。
总之你看几个系统库的源码, 再看几个其他出名项目的源码, 看几个其他框架写出的成品的源码, 最后再看看 beego 和 beego 写出来的项目的源码。 这种感觉应该很明显。 至少对我来说 我用 go 是追求像 python 一样的简洁优雅,和近似 c 和性能。 这两点 beego 都相去甚远。 |
26
elone 2017-02-17 17:29:05 +08:00 via Android
我的建议是不要用框架, net http 真的够用了
|
27
jarlyyn 2017-02-17 17:33:23 +08:00
|
28
sampeng 2017-02-17 17:43:26 +08:00
看了一下源码。。。放弃使用 beego 的想法。完全没优势啊。搞得跟 php 和 java 一样。那为毛我不选 php 和 java 。还有更好的生态圈。如果是简单的 http api 层。。个人感觉 net/http 完全够用。稍微封装一下即可。
最痛苦的事就是当你用一个框架中标榜的特性时,然后这货还没写清楚文档。然后你就 sb 了。 简单可依赖!简单可依赖! |
29
sampeng 2017-02-17 17:46:09 +08:00
楼上都在说业务为王。。那你用个球的 golang 。。。 php 和 java 的一大把程序员让你招。 golang 的凤毛麟角。。
现在爱上 golang 的唯一原因就是部署太爽。一个二进制文件,这才是我心目中的跨平台。因为我是 mac 本。 前几天调试一个 udp 的问题。 c++的同事说些个工具需要 1-2 个小时。我还没说话, go build 完事。。。就几行代码的事 |
30
sampeng 2017-02-17 17:47:45 +08:00
@jarlyyn 用和不用都是和业务相关。。如果你的业务只有几个接口。。最多几十个接口。其实代码风格搞好了,我一直认为要个球的 router 。。。直接写死在配置文件里面,写清楚一点。格式好看一点。一点不比 router 差。
|
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 包就是一个具有庞大生态系统的微架构框架。 |
32
jinya OP go 有什么值得推荐的框架?
|
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 我都认为更好 |