Go 的 Web 框架哪家强

2017-03-02 19:35:48 +08:00
 wenbinwu

Go 有不少 web 框架,很多都不是很完善,现在哪个发展的比较好?

6357 次点击
所在节点    Go 编程语言
84 条回复
leedstyh
2017-03-03 00:11:27 +08:00
echo ,这个框架本来就有够好, go1.8 之后, go 的 web 服务可以裸跑了,不需要 nginx (之前看过一篇文章介绍的),而 echo 也提供了很多必要的功能。
Comdex
2017-03-03 00:34:53 +08:00
macaron
zonghua
2017-03-03 00:38:53 +08:00
@realpg 是 ThinPHP 的感觉
heimeil
2017-03-03 01:34:42 +08:00
Gorilla web toolkit
jarlyyn
2017-03-03 01:40:11 +08:00
自己写的路过。

go 本身的组建已经很强了。

搞个中间件粘一下,搞个路由,搞下缓存。

基本齐活可以玩了。
jarlyyn
2017-03-03 01:49:34 +08:00
我用过的几个组件推荐下

中间件: https://github.com/urfave/negroni

类 express 这个可用。但源代码部分有点不喜欢,重头写了

路由:https://github.com/julienschmidt/httprouter

这个还不错。调整一下也可以实现子路由的功能


内存缓存:https://github.com/coocood/freecache
可以做本地缓存用

序列化反序列化 :https://github.com/vmihailenco/msgpack
效率可能不是最高的。但是和原声的 json 包一样, interface 直接丢进去就可以了,省心。比 gob 效率高很多。

mysql/sqlite 的驱动。外加标准库的 template 等一些库。

普通的网站能搞的很不错了。
fundon
2017-03-03 03:46:53 +08:00
echo
Unknwon
2017-03-03 03:59:09 +08:00
@kappa dep 目前与官方无关

gopkg.in 目前非 vendor 机制下的版本处理兼容性最好
WildCat
2017-03-03 04:58:09 +08:00
@jarlyyn ORM 哪家强?
wenbinwu
2017-03-03 05:08:10 +08:00
@WildCat 刚发现 https://github.com/jinzhu/gorm ,感觉挺好
WildCat
2017-03-03 05:10:45 +08:00
@wenbinwu 只有这个火了 =。=


@Unknwon 这个是 golang 社区的大神!你好!
ETiV
2017-03-03 05:17:05 +08:00
gorm 文档写的不认真……特别是大小写,这个看着看着就能在脑内自动纠正了

还一问题就是,复合主键的情况下,调 AutoMigration 创建表。会报自增键只能有一个的错,导致表无法创建成功。
timothyye
2017-03-03 08:11:15 +08:00
@leedstyh 裸跑是神马意思,可以自己绑定域名了?
TangMonk
2017-03-03 08:22:06 +08:00
用 rust 的 rocket 呗
twm
2017-03-03 08:30:00 +08:00
千万不要用 go 开发 web 应用
Felldeadbird
2017-03-03 09:09:02 +08:00
@twm 为什么啊?不是说 go 在并发处理方面有得天独厚的能力吗?
torbrowserbridge
2017-03-03 09:17:04 +08:00
janxin
2017-03-03 09:22:08 +08:00
@Felldeadbird 没有脚本语言灵活
Akagi201
2017-03-03 09:40:49 +08:00
自己撸框架吧. 帖下我的
https://github.com/Akagi201/light
基于 标准的 http middleware 管理包 alice 跟 性能最强的 httprouter. 兼容 context 包.
自己撸框架的好处是, 可以自由添加底层代码, 缺什么就加什么. 而且时间紧时可以不用写测试代码, 提交到官方 repo, 通常要写测试代码, 磨合很久才能合并.
8355
2017-03-03 09:48:18 +08:00
我只会 beego 所以没什么可推的 无脑推 beego

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/344420

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX