和这方面的霸主 PHP, JavaWeb 相比,Golang能占优势的地方可能只有性能吧?
也不见得,Golang的反射效率并不高,用了框架不一定就干的过 Java
大致看了看,Web 编程主要涉及这几个方面:
- web路由 (uri解析/ restful设计)
- 中间件 (业务和非业务分离)
- validator验证 (业务代码前的一大堆验证,检验)
- db/orm/sql builder (结构体映射,序列化等)
- 流行框架的学习和使用
要说内容不多,其实也还是有点儿多的;只是难度比较小而已。
Golang 标准库不是已经充分支持 Web 开发了么?
golang标准库自带的 net/http
本质上还是够用的,只是快速开发不那么方便。
特别你的 uri 超过10个,模式也很多的情况。
但是真正用到具体框架的时候会发现内容远远不止这么多.
就像 Gin 是在 httprouter 的基础上添加很多特性一样,其他的框架也会根据需要补充很多内容,如 cache, log, config, form,i18n, session等等,而不仅仅是 http 处理/库。
但这又有什么关系呢?
只是使用方式不同,但是大家思路对的起点是一样的。(还是根据公司的业务背景来吧)
比较好的框架,推荐如下:
- Beego
- Gin
Google 推荐的比较完整:(根据需要选择,没必要全部都看)
书的话,如果要看,可以尝试一下 黄健宏翻译的《Go web 编程》,讲的比较基础。(谢孟军写了一本《Go Web编程》推荐)
btw: sql-drivers
Merlin 2018.3 Golang Web 呵呵