1.为什么选择这本书?
因为工作中有一个项目使用了Go进行开发,项目用到了MySQL, Redis,GORM,Rabbitmq,Zap等组件进行开发,没有使用到Web框架,因为本人是Web开发方向,所以就想了解下Web框架在Go开发中的应用,看看别人是怎么用的。国外的Go Web框架有:Echo, Gin, Iris, Macaron, Martini, Mux等,国内的Go Web框架有:Beego,GoFrame等。鉴于有书介绍Gin框架,所以就选择了Gin框架进行学习。
2.这本写了什么?
这本书以Gin框架作为切入点,介绍了整个Go Web开发的完整流程及工具:Gin框架的使用(请求、路由解析、响应),数据库的使用(MongoDB, Redis),前端开发(React),部署(Docker, Nginx),运维(Telegraf,Prometheus,Grafana)。
其中,对于git flow不同分支的用法介绍的比较详细,对于团队协作的项目来说,这点必不可少,这是本书的优点。同时,本书缺少了MySQL,ORM, Zap等组件的缺少介绍,稍显遗憾。毕竟Web开发中,这是无法避免的。也因为Gin框架比较精简,整个项目并不是传统的MVC架构。
从2024年10月12日至2024年11月3日期间,期间花了大概17天阅读完《使用Gin框架构建分布式应用》(原书名是:Building Distributed Applications in Gin)。
3.这本书适合什么样的人?
什么样的人适合阅读这本书?书上的介绍是"This book is for Go developers who are comfortable with the Go language and are seeking to learn about REST API design and development with the Gin framework."——掌握了Go语言,想了解 RESTFul API设计,想使用Gin进行开发的人。这本书默认大家对书中所涉及的技术有一定的了解,如编程语言、前端技术、数据库技术、运维技术等。整本书重点是把这些技术给串起来,告诉你怎么用(how)。整本书算是“practice(实战)”类的书,但总共只有400多页,限于篇幅,所以"为什么这样用(why)?"就被省略掉了,所介绍的内容也不会太深。
这本书适合于想了解Go开发流程,以及想了解Gin框架的人,假设你现在就已经是一名Go开发人员,那么这本书就可以跳过了。假设你暂未有实际的开发经验,那么这本书可以作为不错的入门书。
参考资料
(1) Mohamed Labouardy,《Building Distributed Applications in Gin》:https://book.douban.com/subject/35610349
欢迎搜索及关注:编程人(a_codists)