d****n 发帖数: 1637 | 1 sailsjs 设计理念完胜beego,根本没法同日而语。
auto api, lifecycle event, multiple database backend, etc.
完全包含当今的流行web frameworks所有理念。
beego 越用越觉得设计粗糙,但是就是tmd开发快,部署快,代码阅读简单,上手快(
sailsjs相比java那套一经上手很快了,去年搞java时候build 就tmd用了两个星期,感
觉真不是给人设计的。 .net也简单,但是不喜欢$MS)。
beego坐在golang的大船上,人家有啥,它就有啥。golang 1.6里面马上http/2默认支
持了,
beego啥也不用改,就加上
HttpCertFile =
HttpKeyFile =
就完事了。
golang没有generic,其实也不耽误啥,多练习联系interface, type switch,也就啥都
一样了。
java,c++, c#那个generic也很少用。都是在核心代码上。
java 一个exception 能tm打印出300多个stack来,看起来tm生气。
C# 好点,就20... 阅读全帖 |
|
d****n 发帖数: 1637 | 2 bee api 自动生成model, controller,
1 model 里面见到foreign key 就not null
2 controller 居然不支持自动 left/inner join
两个以上同类型fk时候,第二个 panic
3 没有join的时候, 还挂着个 sub-structure 很浪费io
{
id:123
UserId:{
id:456,
name: null
}
}
不用join时候可以简洁点
{
id:123
UserId: 456
}
4 controller 都是靠各自的response,还没发现可以refactor的地方。
5 panic时候也response 200,这个最难以容忍
6 query url 太简单了, 没有发现条件查询,e.g. /v1/user?name="like me"&date=
"> 2015"
7 again,每个controller 里面都要重新parse url parameters, no refactor
8 beego and bee tools source co... 阅读全帖 |
|
|
d****n 发帖数: 1637 | 4 我用的是beego,比起martini,beego 有偏好,但是有orm.我可没那能力和时间自己造
一个轮子。
martini 我感觉有两点好的,
1. router 是tree的,支持很好的regexp, query parsing也很standard
beego 的太简单,太少doc
2.http.Hanlder 和 golang的compatible. func fn(request, response)
beego的只用 一个struct (beego.Controller) 传来穿去,很难refactor 或者
intercept
beego 有自己的middleware装法,但是不标准, 要follow it.
public的middle ware 都支持标准 handler singnature.
matini不好的就是要自己装orm,感觉好多人自己加装gorm。
我只有用RDBMS 的经验。没用国 noSQL, (听说golang支持mongodb也不错)
golang 自己家的rethingDB 也很好,但是太新了。一次update 就改动了2000多个
featur... 阅读全帖 |
|
|
W***o 发帖数: 6519 | 6 我想试试把gorm整合到beego 看看, beego自带的orm还是太原始了 |
|
|
|
|
W***o 发帖数: 6519 | 9 是的,这个国产轮子的确很猛
我觉得做中间层挺好用的。
最近读了一下它的代码,对于学go 帮助很大 |
|
|
d****n 发帖数: 1637 | 11 俺也没大牛那么多机会写amazon cloud app,老老实实练手指头。 |
|
W***o 发帖数: 6519 | 12 还是自己写,慢工出细活。这种草快梦的,以后维护成本会更高 |
|
f******2 发帖数: 2455 | 13 Beego感觉是走Django的路子,重型机械。
Martini,Goji感觉是Flask的路子,可插入可拼装是卖点。
Gorilla在这里边是什么位置? |
|
W***o 发帖数: 6519 | 14 昨晚试了一下gorm +beego, 可以写和读,今天继续整 |
|
d****n 发帖数: 1637 | 15 整机,半成品,零件
很奇怪,beego和martini都没有用Gorilla组装 |
|
d****n 发帖数: 1637 | 16 nodejs file IO 就只能嘿嘿了,写起来别扭,读起来不爽。
golang 一点也不怕。完全没压力。8个goroutine出去,一个channel等回来,你有多少
cpu,我就能扩展多少。
nodejs 就会,
setImmediate(function(){
})
要不就async.parallel([])
有人提promise,说高级,我看半斤八两。debug时候就挠头皮吧。 |
|
|
d****n 发帖数: 1637 | 18 兄弟不才。多听听别人看法,我的太偏激了。
非常感谢大牛哥开帖:) |
|
|
|
|
|
|
|
f******2 发帖数: 2455 | 25 beego,
写api后台的人一句 bee api my_api,所有架子都搭好,自己到里面去小修改,2小时
后简单的api server就成了。
写webapp的人一句bee new my_api,也是所有架子都搭好。再找个design能力强的伙伴
,两天后webapp就起来了
先说这么多,继续深入研究研究。 |
|
f******2 发帖数: 2455 | 26 我自己只实践了api的部分,webapp部分只有观察没有实践。
对webapp,api框架有需要的兄弟们可以用用,感觉比django要好很多,虽然django是
我认为很容易上手的东西了。
其实甚至可以做些contribution,evangelism。django是treat documentation as
code,这个是它当年火的原因(sale做的好),beego的doc一点都不弱,但是英文版的
需要加强。 |
|
|
|