网站首页 > 文章中心 > 其它

go语言主流web框架

作者:小编 更新时间:2023-08-16 18:47:24 浏览量:453人看过

Go语言做Web应用开发的框架,哪一个更适合入门

Revel Web开源框架

个高效的Go语言Web开发框架,?其思路完全来自 Java 的?Play Framework.

go语言主流web框架-图1

特点

热编译,简单可选,同步(每个请求都创建自己的goroutine来处理.

Go语言Web框架:beego

支持特性

MVC;

REST;

智能路由;

日志调试;

配置管理;

模板自动渲染;

layout设计;

中间件插入逻辑;

方便的JSON/XML服务;

go语言web框架beego安装(go mod方式)

go语言web框架beego安装(go mod方式)_不忘初心,方得始终-CSDN博客

重要:将bee命令放到GOROOT/bin目录下,这步很关键

cp bee /usr/local/go/bin/

注:或者可以将GOPATH/bin设置为环境变量

echo 'export PATH=" PATH"' ~/.bashrc

source ~/.bashrc

router路由下方法名要大写,访问权限

wq保存

生效环境变量: source /etc/profile

go build -o abc.exe可指定编译后的文件名

Golang常用环境变量说明与设置详解

环境变量GOBIN表示我们开发程序编译后二进制命令的安装目录.

当我们使用go install命令编译和打包应用程序时,该命令会将编译后二进制程序打包GOBIN目录,一般我们将GOBIN设置为GOPATH/bin目录.

export GOBIN=$GOPATH/bin

Go get包管理mod

windows下默认项目路径在go安装目录的src下(beego)

有哪些主流的web框架

①.、Spring

Spring Boot是由Pivotal团队提供的框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.

Thymeleaf是面向Web和独立环境的现代服务器端Java模板引擎,能够处理HTML,XML,JavaScript,CSS甚至纯文本.

Druid是阿里的一个开源高效的数据查询系统,主要解决的是对于大量的基于时序的数据进行聚合查询.数据可以实时摄入,进入到Druid后立即可查,同时数据是几乎是不可变.通常是基于时序的事实事件,事实发生后进入Druid,外部系统就可以对该事实进行查询.

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射.MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录.

golang 有哪些比较稳定的 web 开发框架

第一个:Beego框架

Beego框架是astaxie的GOWeb开发的开源框架.Beego框架最大的特点是由八个大的基础模块组成,八大基础模块的特点是可以根据自己的需要进行引入,模块相互独立,模块之间耦合性低.

相应的Beego的缺点就是全部使用时比较臃肿,通过bee工具来构建项目时,直接生成项目目录和耦合关系,从而会导致在项目开发过程中受制性较大.

第二个:Gin框架

Gin是一个GOlang的微框架,封装比较优雅,API友好,源码注释比较明确,已经发布了1.0版本;具有快速灵活、容错方便等特点,其实对于golang而言,web框架的依赖远比Python、Java更小.

目前在很多使用golang的中小型公司中进行业务开发,使用Gin框架的很多,大家如果想使用golang进行熟练Web开发,可以多关注一下这个框架.

第三个:Iris框架

在实际开发中,Iris框架与Gin框架的学习曲线几乎相同,所以掌握了Gin就可以轻松掌握Iris框架.

第四个:Echo框架

也是golang的微型Web框架,其具备快速HTTP路由器、支持扩展中间件,同时还支持静态文件服务、Websocket以及支持制定绑定函数,制定相应渲染函数,并允许使用任意的HTML模版引擎.

Golang web 框架对比

由于 golang 提供了完善的net/http标准库,基于该标准库实现一个web框架的难度相比其他语言低了不少,所以go web框架简直就是百花齐放.从老牌的revel和 beego ,到新出的 gin ,和 iris 等,而且还有一些类似于 chi 这种router.个人一般小项目,尤其是中间件需要暴露一些http接口的,基本就使用chi即可.

本次测试主要是gin iris echo 这三个框架.侧重在于高性能,从并发和json序列化和反序列化两个方面来测评,毕竟后台项目侧重的也就是这两个方面.

为了选择符合重IO的框架,现设定如下场景的demo,demo的具体要求如下:

gin:

iris:

echo:

综合以上各个测试结果可以看出,gin以及iris都是非常优秀的框架,gin的优势比其他稍微大点,iris次之,而echo相应差一点.

另外欢迎大家试用和star另外一个web框架 baa ,为了避嫌我没有贴出baa的数据,性能测试处于gin之后和iris之间.

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章