
Go 有不少 web 框架,很多都不是很完善,现在哪个发展的比较好?
1 notes 2017-03-02 19:39:09 +08:00 via Android 试试 beego 支持下国产 |
2 loading 2017-03-02 19:42:38 +08:00 via Android 目前在用 echo ,要很多轮子。 beego 失去了 golang 的特点,但是开箱就能用。 |
3 scnace 2017-03-02 19:43:42 +08:00 via Android 主要看你 web 框架的用途吧(话说既然发在了 go 节点 那么不是应该在 go 节点里找一找呢?之前有很多菊苣讨论过 |
4 timothyye 2017-03-02 20:03:39 +08:00 via Android revel , beego , iris , echo , gin |
5 shidenggui 2017-03-02 20:13:02 +08:00 用过 gin 开发过不少项目,挺不错的 |
6 plqws 2017-03-02 20:14:35 +08:00 千万不要用 iris 。。。血泪教训。。。 |
7 0915240 2017-03-02 20:14:45 +08:00 gin 还不错。 |
8 janxin 2017-03-02 20:16:02 +08:00 用的 echo |
9 realpg PRO beego: 让你找回 php 的感觉…… |
10 Muninn 2017-03-02 20:31:25 +08:00 via Android echo |
11 kuaner 2017-03-02 20:32:54 +08:00 via iPhone 千万不要用 iris |
12 mocos 2017-03-02 20:33:15 +08:00 via Android macaron |
13 neoz 2017-03-02 20:47:13 +08:00 公司在用 gin |
16 abujj 2017-03-02 21:08:32 +08:00 via Android 准备上 iris 。。。突然看到不推荐 我的内心啊。。。 |
17 88250 2017-03-02 21:11:21 +08:00 不用框架 :D |
18 tkisme 2017-03-02 21:16:31 +08:00 fasthttp |
21 kappa 2017-03-02 21:33:18 +08:00 @fuxiaohei https://github.com/gin-gonic/gin/issues/794 这么久了没有人管,现在 javierprovecho 也没怎么花心思在项目上,感觉要坑。。 |
22 fuxiaohei 2017-03-02 21:39:42 +08:00 |
23 kappa 2017-03-02 21:42:49 +08:00 @fuxiaohei 哪有 maintainer 回复? gopkg 等官方 dep 正式发布以后恐怕就和 godeps 一样慢慢退出舞台了,现在切过去意义有多大,而且还搞个半吊子就不动了。。 |
24 fuxiaohei 2017-03-02 21:49:28 +08:00 @kappa 最后那个人是 member 啊,我看讨论的和 dep 没关系,是他们自己 import path 混乱。 canonical import paths 就是解决这个问题的 |
25 abujj 2017-03-02 21:49:35 +08:00 via Android 。那现在推荐用哪个? |
28 kappa 2017-03-02 22:00:42 +08:00 @fuxiaohei canonical import paths 对于一般的项目意义不大,这个问题就是他们自己管杀不管埋瞎搞出来的,以前用 gopkg 最大的意义也是版本控制而不是解决依赖路径,现在这个节骨眼上再投靠过去真不合适。 |
31 fuxiaohei 2017-03-02 22:08:36 +08:00 @kappa 不是投靠过去,他的 readme 也是 gopkg.in 的 import 了,只是用 canonical import paths 可以强制 import 路径。 github.com 的 import 就编译不过去。一刀切一下把事情处理掉好了 |
35 buseni 2017-03-02 23:12:52 +08:00 via Android beego 就类似于 thinkphp ,一天就可以撸代码了 |
36 csyangchen 2017-03-02 23:15:46 +08:00 gin 不错, 功能基本都有, 但不会太 framework 限制你的使用. |
37 relaxgo 2017-03-02 23:22:47 +08:00 via iPhone 从 echo 转到 chi , echo api 也不稳定 |
38 aljun 2017-03-02 23:42:09 +08:00 说 iris 的。。。你们真的看过 iris 源码么。。。。 其实我个人之前用框架。。。看了源码之后发现。。。 一个 http parser 就能解决很多需求。。 |
39 aljun 2017-03-02 23:44:37 +08:00 @aljun 手急了。。。应该是 http router 。。。别的自己撸就好 [https://github.com/julienschmidt/httprouter]( https://github.com/julienschmidt/httprouter) |
40 nicevar 2017-03-02 23:50:57 +08:00 前阵子也不知道该选哪个框架,大致了解了几个然后选择了 gin ,挺好用的,花了一周时间把 ssh 的项目移植过来了 |
41 leedstyh 2017-03-03 00:11:27 +08:00 echo ,这个框架本来就有够好, go1.8 之后, go 的 web 服务可以裸跑了,不需要 nginx (之前看过一篇文章介绍的),而 echo 也提供了很多必要的功能。 |
42 Comdex 2017-03-03 00:34:53 +08:00 macaron |
44 heimeil 2017-03-03 01:34:42 +08:00 via Android Gorilla web toolkit |
45 jarlyyn 2017-03-03 01:40:11 +08:00 自己写的路过。 go 本身的组建已经很强了。 搞个中间件粘一下,搞个路由,搞下缓存。 基本齐活可以玩了。 |
46 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 等一些库。 普通的网站能搞的很不错了。 |
47 fundon 2017-03-03 03:46:53 +08:00 echo |
50 wenbinwu OP @WildCat 刚发现 https://github.com/jinzhu/gorm ,感觉挺好 |
52 ETiV 2017-03-03 05:17:05 +08:00 via iPhone gorm 文档写的不认真……特别是大小写,这个看着看着就能在脑内自动纠正了 还一问题就是,复合主键的情况下,调 AutoMigration 创建表。会报自增键只能有一个的错,导致表无法创建成功。 |
54 TangMonk 2017-03-03 08:22:06 +08:00 via Android 用 rust 的 rocket 呗 |
55 twm 2017-03-03 08:30:00 +08:00 千万不要用 go 开发 web 应用 |
56 Felldeadbird 2017-03-03 09:09:02 +08:00 @twm 为什么啊?不是说 go 在并发处理方面有得天独厚的能力吗? |
57 torbrowserbridge 2017-03-03 09:17:04 +08:00 |
58 janxin 2017-03-03 09:22:08 +08:00 via iPhone @Felldeadbird 没有脚本语言灵活 |
59 Akagi201 2017-03-03 09:40:49 +08:00 自己撸框架吧. 帖下我的 https://github.com/Akagi201/light 基于 标准的 http middleware 管理包 alice 跟 性能最强的 httprouter. 兼容 context 包. 自己撸框架的好处是, 可以自由添加底层代码, 缺什么就加什么. 而且时间紧时可以不用写测试代码, 提交到官方 repo, 通常要写测试代码, 磨合很久才能合并. |
60 8355 2017-03-03 09:48:18 +08:00 我只会 beego 所以没什么可推的 无脑推 beego |
61 brucefeng 2017-03-03 09:50:54 +08:00 一直没搞明白, go 在做 web 的时候强点在哪里? |
62 RealLiuSha 2017-03-03 10:09:15 +08:00 写过一个认证服务, 用的 echo 。。。 没我 python 好用 |
63 liguoqinjim 2017-03-03 10:11:48 +08:00 faygo |
64 qianguozheng 2017-03-03 10:13:21 +08:00 @brucefeng 说我的感觉,跟写普通程序很类似。 我本来也没有做过 web 开发,但是发现还是挺容易的 |
65 Immortal 2017-03-03 10:15:37 +08:00 现在在用 gin 吧 推荐 echo 和 gin go 写 web 建议还是做 api 为主 前后分离的做 像传统 php 或者其他那样耦合的 go 也不算特别合适 官方模板库挺不好用 |
66 orderc 2017-03-03 10:25:42 +08:00 macaron |
67 janxin 2017-03-03 10:35:08 +08:00 @brucefeng 跟脚本比不复杂多少但是提供更高的性能,更容易写出高吞吐 API 。不过和页面紧耦合就是痛苦了,所有的静态语言通病吧。 |
69 nicevar 2017-03-03 10:38:32 +08:00 @brucefeng 接触 go 没多久,之前 web 都是用 java 做的,初步感觉 go 简洁易用,我那个笨重 ssh 项目后台管理用 java+ExtJs , api 部分现在改用 go 了,开发速度快多了,个人不太喜欢 python 的框架,依赖有时候很乱,发布也不太方便 |
70 jarlyyn 2017-03-03 10:40:14 +08:00 @brucefeng 凭心而论, go 写 web 不算特别强,但也不算很差。 主要是 web 大部分的时间都和数据库 /网络传素打交道。 go 的缺点主要是轮子少。文档太简略,动不动要爬源代码。 优点是部署简单,静态语言。 |
72 kappa 2017-03-03 12:32:16 +08:00 |
73 simo 2017-03-03 12:40:30 +08:00 参考 github star 。了解下每个框架的优缺点,找到适合自己业务的。 目前个人大部分小项目自己撸。 稍大些的用 gin 和 beego 。 |
74 pacoyang 2017-03-03 14:45:59 +08:00 gin! |
75 zzWinD 2017-03-03 15:01:04 +08:00 |
76 strwei 2017-03-03 17:11:53 +08:00 逼购 |
77 orvice 2017-03-03 18:25:49 +08:00 gin 该有的都有,不该有的也没有 :) |
79 leedstyh 2017-03-03 21:56:16 +08:00 @timothyye 就是不需要 nginx 反代, go 的 web 程序直接跑在生产环境。 https://news.ycombinator.com/item?id=13213902 当然,绑定域名这种事,肯定可以,这个是 echo 的做法 ( https://echo.labstack.com/cookbook/subdomains),其实其他的框架也可以 |
80 pathbox 2017-03-03 22:24:55 +08:00 net/http 然后加需要的扩展就够了。 如果真要追求性能, httprouter 和 fasthttp 似乎不错,不过在生产环境还没尝试过 |
81 timothyye 2017-03-03 23:17:10 +08:00 go 的模板渲染感觉不是强项,所以比较好的方案是前后端分离, go 只负责提供后端 API 接口,这绝对是强项,哈哈 |
83 Unknwon 2017-03-05 01:17:28 +08:00 |
84 myself659410 2017-03-07 13:49:33 +08:00 正在试看框架 |