很喜欢 Echo 框架
很喜欢 Echo 框架
balabalaguguji · 15 小时 15 分钟前 · 2409 次点击
个人比较喜欢简洁的框架,*近看了下 go 的 web 框架 Echo,非常喜欢它的设计,看上去挺像 koa2 的。
支持分组中间件,路由中间件,这个很棒。
*近才开始学习了下 Go,感觉很棒,方法前面加一个 go 就变成了协程运行,不过用 chan 来做数据交互可读性确实没有 async/await 好。
另外 Go 的 defer 也很棒。 *棒的是 Go 的程序可以直接生成二进制文件,无需其他依赖直接跑。
还有什么好特性或者不好的地方,大家评论分享下
echo 框架 协程 二进制42 条回复 • 2021-10-15 09:35:46 +08:00
cmdOptionKana 1
cmdOptionKana 15 小时 1 分钟前
Go 用来做一些小项目确实是个非常优秀的选择,官方提供的工具链很好用,web 框架(不止 Echo,其实其他的 Go web 框架都是)很灵活、高效。
而且,小项目就算没有泛型之类的语言特性也无所谓,一共也没多少行代码,简平快硬写就行,啥编程模式之类的在小项目中体现的好处并不算大。
只是做大项目的话,Go 在 web 方面底蕴还是比不上 php 和 java 。
balabalaguguji 2
balabalaguguji 14 小时 54 分钟前
@cmdOptionKana #1 做大项目应该也不成问题吧,自己可以灵活搭配,不过还没试过,不知道具体有什么比不上 php/java 的
liuhan907 3
liuhan907 14 小时 53 分钟前
@balabalaguguji 比方说,没有好用的 ORM
kidlj 4
kidlj 14 小时 49 分钟前 via iPhone
@liuhan907 Ent.
robert233 5
robert233 14 小时 47 分钟前
echo xorm 满足了小项目需求
liuhan907 6
liuhan907 14 小时 45 分钟前
@kidlj 我说的是没有好用的,不是没有能用的。
iPhone9 7
iPhone9 14 小时 44 分钟前
@liuhan907 为什么要用 orm,直接 sql 不香吗
balabalaguguji 8
balabalaguguji 14 小时 27 分钟前
@liuhan907 #3 个人不是很喜欢 ORM,都是直接操作数据库,感觉直观点,也不用那么麻烦的整天搞映射
liuhan907 9
liuhan907 14 小时 21 分钟前
@balabalaguguji 我喜欢 ORM 是因为很多时候真的不需要性能,而我又不想手写 update 语句。
liuhan907 10
liuhan907 14 小时 20 分钟前
@iPhone9 那肯定没有我直接修改内存数据然后 save 一下了事香啊
iPhone9 11
iPhone9 14 小时 17 分钟前 ❤️ 1
@liuhan907 菜鸡才喜欢 orm
skye 12
skye 14 小时 16 分钟前
@balabalaguguji 大项目需要更多的轮子,新兴语言一般的轮子没有老语言多。
liuhan907 13
liuhan907 14 小时 12 分钟前
@iPhone9 菜就菜吧,但是它节省了我的时间啊。
mxT52CRuqR6o5 14
mxT52CRuqR6o5 14 小时 8 分钟前 via Android ❤️ 1
@iPhone9 就喜欢这种自信的言论
lovedoing 15
lovedoing 14 小时 7 分钟前 ❤️ 4
菜鸡才喜欢 orm 还行 ? 差不多得了
aitaii 16
aitaii 13 小时 51 分钟前
真正的高手都是通过手动控制 cpu 高低电位运行程序的,拉闸合闸不香吗
BeautifulSoap 17
BeautifulSoap 13 小时 46 分钟前 ❤️ 1
@iPhone9 像你这种菜鸡才喜欢写 sql,强者都是手写数据库
cmdOptionKana 18
cmdOptionKana 13 小时 36 分钟前 via Android
@balabalaguguji 底蕴主要有两方面,对于大项目来说,PHP 和 Java 积累了非常庞大的人才库,大项目需要考虑人员流动,另一方面是积累了大量的解决方案以及*佳实践之类的业界共识,可以减少很多讨论时间。
go 是可以灵活搭配,但灵活对于大项目来说弊大于利。而且,项目越大,go 自身的优势就越不明显,比如单个二进制文件部署、占用内存低之类的,大项目不怎么考虑这些因素了。
abersheeran 19
abersheeran 12 小时 52 分钟前
好家伙,看到分组中间件、路由中间件我犹豫了一下,想着不会是那个意思吧,结果一查还真是。和我在一个 Python Web 框架里设计的,不谋而合……哈哈哈,和业界典范想到一起了还挺开心。
https://index-py.aber.sh/stable/route/#_5
https://index-py.aber.sh/stable/route/#_13
SenLief 20
SenLief 12 小时 41 分钟前
@BeautifulSoap 强者用什么数据库,都是脑子记住。
Zchary 21
Zchary 12 小时 30 分钟前 via iPhone
js 转 go 的*个 web 框架不应该是 fiber 吗? just kidding
balabalaguguji 22
balabalaguguji 12 小时 30 分钟前
@abersheeran #19 这个是我的强需求
iPhone9 23
iPhone9 12 小时 3 分钟前
@BeautifulSoap 一看你就是不会 sql 只会 orm 的菜鸡
liuhan907 24
liuhan907 11 小时 33 分钟前
@balabalaguguji 其实还有一个我不喜欢的地方,因为 go 没有 attribute 或者 annotation 类似物,所以路由基本都是集中式。但是我非常不喜欢集中式路由。外加没有依赖注入,我不喜欢手动管理一大堆(指十几二十种以上)的依赖组件,这简直是折磨人。。。
lscho 25
lscho 11 小时 15 分钟前
以前经常用 nodejs 的表示也很喜欢 echo 。
upwell 26
upwell 10 小时 49 分钟前
echo 写小项目确实快,之前写过一个小项目,很快就能搞好。不知道现在 go web 框架主流的是什么,一般公司正式的项目用什么框架?求教一下
abersheeran 27
abersheeran 9 小时 2 分钟前
@liuhan907 用中间件,把数据挂到 context 上不也一样吗?像依赖 Annotation 来自动注入的应该就 Java 和 Python 了吧。
abersheeran 28
abersheeran 9 小时 0 分钟前
@balabalaguguji 哈哈哈,其实如果没有给指定分组增加中间件的功能,还可以用 PATH 来绕开,只不过比较麻烦。我当时也是灵机一动,觉得这个能解决中间件的适用范围问题就加上了。
FrankFang128 29
FrankFang128 8 小时 59 分钟前
这些 web 框架有什么很大的差异吗?
liuhan907 30
liuhan907 8 小时 42 分钟前 via Android
@abersheeran 主要是这得手动搞,依赖一多很烦。另外注入的话另一个好处是免去手动构造对象,在参数变化的时候少一点麻烦。其实说白了就是我懒,自动档开惯了不喜欢手动档。
kkocdko 31
kkocdko 4 小时 8 分钟前 via Android
@iPhone9 这位老哥的号是换人了么,记得几个月前似乎不是这个语气
wzw 32
wzw 2 小时 16 分钟前
goframe 这个也很赞
fox0001 33
fox0001 1 小时 21 分钟前 via Android
楼上一堆人身攻击,无意义啊…ORM 作用是屏蔽数据库操作。当一个代码文件混合了几种语言,维护起来很痛苦,优化也是个麻烦。小项目随便写吧,大项目要规范,否则到了后面维护就是自己挖坑自己填了。
xinhaiw 34
xinhaiw 1 小时 15 分钟前
ehco 垃圾中的战斗机
wowbaby 35
wowbaby 43 分钟前
@balabalaguguji 应该是开发效率、生态成熟度问题,比如用户管理,账号登录,手机登录,邮箱注册,手机注册,找回密码,基于 go 要多久?基于 php 我只要几个小时,mvc 网页、api 都可以出来。
比如缓存依赖,缓存标签,数据库我也可以自由切换 mysql,mssql,postgres 等等。
go 优势应该是搞性能吧,部署方便。
BeijingBaby 36
BeijingBaby 39 分钟前
https://gofiber.io/
BeijingBaby 37
BeijingBaby 35 分钟前
@BeijingBaby GoFiber 香,只是提供基本工具链。
其实更好的是只用一些 router 工具
qq1340691923 38
qq1340691923 26 分钟前
我首选 fiber,其次 gin
abersheeran 39
abersheeran 24 分钟前
@liuhan907 Golang 是做不到你想要的这个,忍忍或者换语言?
2i2Re2PLMaDnghL 40
2i2Re2PLMaDnghL 23 分钟前
@BeautifulSoap 像你这种菜鸡才喜欢手写数据库,强者都是直接使用 Wolfram 理论的图计算模型编写等效变换
qq1340691923 41
qq1340691923 23 分钟前
go 怎么就不适合做大型项目了,字节跳动,bilibili,七牛云都被你吃了?大型项目应该是微服务,多语言合作的
marcosteam 42
marcosteam 4 分钟前
@Zchary Fiber 真的香