商汇粹外网资源平台

搜索
查看: 3169|回复: 5

go有哪些快速开发的web框架?

[复制链接]

该用户从未签到

11

主题

33

帖子

107

积分

注册会员

Rank: 2

积分
107
发表于 2022-9-21 20:31:58 | 显示全部楼层 |阅读模式
主要考虑的是开发速度,适合小项目的
回复

使用道具 举报

该用户从未签到

7

主题

29

帖子

105

积分

注册会员

Rank: 2

积分
105
发表于 2022-9-21 20:43:38 | 显示全部楼层
谢邀
推荐 Golang Gin ,Github 3.3万的star,更简洁、性能更好的Golang Web框架,其他的就不推荐了,这个你用了后,就知道它有多好,把Go语言本身的特性发挥的很好。
我目前也正在分析这个框架,这里有些文章可以参考:

  • Golang Gin 实战(一)| 快速安装入门
  • Golang Gin 实战(二)| 简便的Restful API 实现
  • Golang Gin 实战(三)| 路由参数
  • Golang Gin 实战(四)| URL查询参数的获取和原理分析
以上希望可以帮到你。
回复

使用道具 举报

该用户从未签到

5

主题

52

帖子

178

积分

注册会员

Rank: 2

积分
178
发表于 2022-9-21 20:55:18 | 显示全部楼层
有兴趣可以七天自己快速开发一个Web框架,只有500行,每天代码放在独立的目录,很适合学习
完全模仿Gin,7天撸了一个框架Gee,每天70行,七天五百行。

  • 第一天:前置知识(http.Handler接口)
  • 第二天:上下文设计(Context)
  • 第三天:Tire树路由(Router)
  • 第四天:分组控制(Group)
  • 第五天:中间件(Middleware)
  • 第六天:HTML模板(Template)
  • 第七天:错误恢复(Panic Recover)
回复

使用道具 举报

该用户从未签到

5

主题

54

帖子

197

积分

注册会员

Rank: 2

积分
197
发表于 2022-9-21 21:06:58 | 显示全部楼层
作为一个混迹开源圈的开发者,可以推荐一个去年才开源、但是现在已达8k星的项目~go-zero : https://github.com/tal-tech/go-zero
因为自己也做开源,知道项目的口碑积累非常非常不容易Q_Q~ 大半年能吸引8k的开发者点星可以说是经过广大小伙伴对开发效率的极端考验。go-zero是一个集成了各种工程实践的 web 和 rpc 框架, 包含极简的 API 定义和生成工具 goctl,并可直接运行!!!非常容易上手~~~
使用 go-zero 的好处:

  • 轻松获得支撑千万日活服务的稳定性
  • 内建级联超时控制、限流、自适应熔断、自适应降载等微服务治理能力,无需配置和额外代码
  • 微服务治理中间件可无缝集成到其它现有框架使用
  • 极简的 API 描述,一键生成各端代码
  • 自动校验客户端请求参数合法性
  • 大量微服务治理和并发工具包
最后列一下go-zero的架构图,感兴趣的小伙伴可以戳链接到github围观哟~
回复

使用道具 举报

该用户从未签到

4

主题

24

帖子

88

积分

注册会员

Rank: 2

积分
88
发表于 2022-9-21 21:18:38 | 显示全部楼层
推荐五款开快速开发的Web框架,希望能够帮助题主,供大家一起交流学习。

1. 项目名称:基于 Go 的 Web 框架 Faygo

项目简介:Faygo 是一款快速、简洁的 Go Web 框架,可用极少的代码开发出高性能的 Web 应用程序(尤其是API接口)。只需定义 struct Handler,Faygo 就能自动绑定、验证请求参数并生成在线API文档。
项目地址:https://git.oschina.net/henrylee/faygo

2. 项目名称:基于 Go 的 Web 开发框架 essgo

项目简介:essgo 是一款 Go 语言开发的简单、稳定、高效、灵活的 web 开发框架。它的项目组织形式经过精心设计,实现前后端分离、系统与业务分离,完美兼容 MVC 与 MVVC 等多种开发模式,非常利于企业级应用与 API 接口的开发。当然,最值得关注的是它突破性支持运行时路由重建,开发者可在 Admin 后台轻松配置路由,并实现启用/禁用模块或操作、添加/移除中间件等!同时,它以 ApiHandler 与 ApiMiddleware 为项目基本组成单元,可实现编译期或运行时的自由搭配组合,也令开发变得更加灵活富有趣味性。
项目地址:https://git.oschina.net/henrylee/lessgo

3. 项目名称:模块化设计的 Go  Web 框架 Macaron
项目简介:Macaron 是一个具有高生产力和模块化设计的 Go Web 框架。框架秉承了 Martini 的基本思想,并在此基础上做出高级扩展。
项目地址:https://git.oschina.net/Unknown/Macaron

4. 项目名称:基于Go 的轻量级 Web 框架 GoInk
项目简介:HxGo 是基于我以往的 php 开发经验编写的 Go Web 框架。力求简单直接,符合大众编写习惯,同时性能优良。 HxGo 基于 MVC 的结构模式,实现 REST 支持的自动路由分发,简化 HTTP 请求和视图操作。同时,HxGo 提供简易直接的数据访问层,高效直接操作数据库内容。
项目地址:https://git.oschina.net/fuxiaohei/GoInk

5. 项目名称:简单高效的 Go web 开发框架 Baa
项目简介:Baa 是一个简单高效的 Go web 开发框架。主要有路由、中间件,依赖注入和HTTP上下文构成。Baa 不使用 反射和正则,没有魔法的实现。
特性:

  • 支持静态路由、参数路由、组路由(前缀路由/命名空间)和路由命名;
  • 路由支持链式操作;
  • 路由支持文件/目录服务;
  • 中间件支持链式操作;
  • 支持依赖注入*;
  • 支持 JSON/JSONP/XML/HTML 格式输出;
  • 统一的 HTTP 错误处理;
  • 统一的日志处理;
  • 支持任意更换模板引擎(实现 baa.Renderer 接口即可)。
项目地址:https://git.oschina.net/go-baa/baa

码云 - 开源中国代码托管平台欢迎关注码云,一个专为开发者提供稳定、高效、安全的云端软件开发协作平台,无论是个人、团队、或是企业,都能够用码云实现代码托管、项目管理、协作开发,更有代码质量分析、项目演示等丰富功能,欢迎放码过来。
码云知乎机构账号的“放码云间”文章专题为你推荐优质的开源项目资讯,展现最新的行业动态。
回复

使用道具 举报

该用户从未签到

3

主题

17

帖子

75

积分

注册会员

Rank: 2

积分
75
发表于 2022-9-21 21:30:18 | 显示全部楼层
Golang语言的Web开发有很多很多的框架可用,这里做个列举。
Beego框架
Beego框架是astaxie的Goweb开发的开源框架。Beego框架最大的特点是由八个大的基础模块组成,如下图所示:

八大基础模块的特点是可以根据自己的需要进行引入,模块相互独立,模块之间耦合性低。
相应的Beego的缺点就是全部使用时比较臃肿,通过bee工具来构建项目时,直接生成项目目录和耦合关系。这会导致在项目开发过程中受制性较大,本来Golang语言是灵活,在Beego中会收到一些限制,当然这个限制是有限的。
Beego框架受欢迎的原因还有一个就是Beego由汉语官方网站,网址如下:https://beego.me/docs/intro/,并配备有完整的学习文档和项目案例。
Gin框架
Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,已经发布了1.0版本。具有快速灵活,容错方便等特点。其实对于golang而言,web框架的依赖要远比Python,Java之类的要小。自身的net/http足够简单,性能也非常不错。框架更像是一些常用函数或者工具的集合。借助框架开发,不仅可以省去很多常用的封装带来的时间,也有助于团队的编码风格和形成规范。
目前在很多使用Golang的中小型公司中进行业务开发,使用Gin框架的很多,大家如果想使用golang进行熟练web开发,可以多关注一下这个框架。
Gin框架源码地址:https://github.com/gin-gonic/gin
Gin学习文档地址暂时没有找到系统的,如果入门学习的话,可以关注这个:https://www.jianshu.com/p/98965b3ff638
在企业开发环境下,还需要学习用到xorm框架,这里一并列一下xorm框架的资料。xorm框架学习文档:http://xorm.io/docs
Iris框架
Iris框架在其官方网站上被描述为Go开发中最快的Web框架,并给出了多框架和多语言之前的性能对比。目前在github上,Iris框架已经收获了14433个star和1493个fork,可见该框架也非常受欢迎。在实际的开发中,Iris与Gin的学习曲线几乎相同,因此,掌握了Gin就可以轻松掌握Iris框架。Iris框架的相关资料如下,供大家学习:

  • Iris官网:https://studyiris.com/example/iris.html
  • Iris源码地址:https://github.com/kataras/iris
  • Iris系统学习文档:https://iris-go.com/
Echo框架
Echo是个快速的HTTP路由器(零动态内存分配),也是Go的微型Web框架。其具备快速HTTP路由器、支持扩展中间件,同时还支持静态文件服务、WebSocket以及支持制定绑定函数、制定相应渲染函数,并允许使用任意的HTML模版引擎。可以通过如下一张图表明Echo框架的路由性能:

Echo的相关资料如下,供大家进行学习:

  • 关于Echo框架的介绍:https://mp.weixin.qq.com/s/BlyQvkw84dBhs4mX_SB5DQ
  • Echo框架官网:https://echo.labstack.com/
  • Echo源码地址:https://github.com/labstack/echo
上面列举的,都是我自己用的过的和熟悉的,如果作为一个goWeb开发者程序员来说,大部分业务绝对足够用了,上面的这些框架在github上的star数都超过了1万,有的接近2万。说明这些框架是最受开发者喜欢和接受的,因此可以从上面这些框架学起。
如果还想了解其他的框架,可以关注的有:Buffalo框架、Revel框架、Martini框架、Traffic框架、Goji框架等等。
最后,框架只是能更快速的帮我们构建业务,提升开发效率。掌握Golang语言的特点和编程核心,才能写出自己的娴熟代码。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表