慢聊Go之Go常见的Web 开发框架

16 篇文章 0 订阅 ¥19.90 ¥99.00

image.png

前言

自发布以来,Golang(Google的Go编程语言)已成为编写API和Web服务的强大且流行的选择。引入后,主流用户更喜欢这种编程语言。

在2016年12月进行的分析之后,在3595名受访者中,将近89%的人决定在工作中或工作之余去学习Golang。

在专有技能和选择方面,Golang在所有Web编程语言中排名最高。

今天,有点不在状态,就不好好的把Java与Go做更细节的对比了。我们今天大概的聊一下,目前比较好用的Go Web Framework。

Golang特点

Google的Go语言又名Golang,可以编译为快速运行的本机代码。我们之前也讲过,它的出现,为了让开发人员开发变得容易。

作为一种开放源代码,经过编译的编程语言,Golang帮助开发人员创建可靠且简单的软件。

该语言定义了诸如C和C ++之类的较为温和的语言的演变和创新。此外,Go拥有广泛且不断增长的用户。

Golang专为并发性和可伸缩性而设计,并且还使优化成为可能。使用这种编程语言,可以消除大量的代码键入和编写独特的API,而不会影响功能。这种编译语言可以在运行时之前执行所有代码检查工作。

Golang诞生的Web开发框架

image.png

1.Martini

Martini由Sinatra激活,实际上是一个轻量级的Web框架。它处理了一些基本问题,例如异常处理,路由和中间件的一些功能。

Martini能够做一些独特的事情,例如根据类型将各种数据集动态注入到处理程序中。

尽管这是一个很小的社区,但它确实很活跃,并且有二十个或以上的活跃插件。由于这是一个小型框架,因此要是使用的话,可能要附加更多组件。

2.Gin Gonic

该Web框架具有与Martini类似的API,但是表现的更好。

保守的Gin Gonic框架仅包含最重要的功能和库。这使其成为构建高性能REST API的理想选择。而且,这比Martini框架快40倍。

无论您是否添加渲染,JSON验证,嵌套组和中间件,它仍然保持其最终功能。该框架利用httprouter,这是Golang语言最快的HTTP路由器。

3.Beego

Beego与Python的Django网站框架相似。它拥有Web应用程序共有的广泛功能,并分为8个模块,可以根据需要避免或使用这些模块。

除了出现在最大的Web框架中的常规MVC元素外,它还集成了ORM(对象关系图)以访问数据,会话处理工具,内置的缓存处理程序,用于HTTP组件的常规操作的库以及日志记录系统。

Beego是另一种让人想起Django命令行工具的方式。例如,开发人员可以从一开始就使用bee命令来开发Beego应用程序或处理当前的应用程序。

4.网络/ HTTP

开发人员通常仅使用HTTP或net来开发整个XMPP服务器,因为所需的仅仅是其性能正常即可。

但是,复杂的Web应用程序通常需要中间件。还有一些吸引人的项目,可让其他Golang Web框架的中间件与标准HTTP或网络进行混合和匹配。

无疑,这个社区很大,因为用户可以再次使用许多其他项目中的位。

但是,它具有受限制的接口,并且没有定义最大化中间件的标准方法。

5.Buffalo

使用Buffalo,即可快速轻松地开发新的Web应用程序。Buffalo将在开始新项目时设置一切-从前端到后端Web建设。

Buffalo带有热重载功能,这意味着dev命令将自动观察.html和.go文件。然后,它将重新启动并重新开发二进制文件。

它是一个整体的Web建设生态系统,可帮助直接开发应用程序。

6.Mango

尽管Mango的创建者Paul Bellamy并没有积极维护它,但许多Golang用户仍在使用它。关于此Web框架,模块化是最好的选择。可以从不同的库中进行选择,以将它们合并到项目中。

Mango框架可帮助您尽可能轻松,快速地开发HTTP功能的可重用模块。而且,它由一系列应用程序和中间件组成,并包含在一个HTTP服务器对象中,以使代码保持自主。

7.Gorilla

Gorilla可能是运行时间最长,最大的Go Web框架。对于用户而言,该模块化框架可以具有尽可能少的数量或尽可能多的数量。这很好用,因为许多组件可以直接通过net / HTTP库重用。

在所有框架中,Gorilla可能是最大的英语社区。此外,它具有强大的WebSocket,因此您无需使用Pusher等第三方服务,就可以将与WebSocket类似的代码精确地附加到REST端点。

8. Gocraft

Gocraft是另一个强大但保守的框架,它提供了可扩展的快速路由功能。路由由它从标准库添加到HTTP或net程序包。

Gocraft是一个Go mux定制中间件软件包,它具有反射和转换功能,因此可以静态键入代码。

此外,可以编写自己的代码或使用内置的中间件添加其他功能。由于开发人员将性能放在首位,因此Gocraft对他们来说是一个了不起的选择。

此外,使用上述框架编写后端Web应用程序确实更加容易。

9.Goji

这是一个快速,轻量级的框架,主要优先考虑其简单性和组合能力。

Goji与net / http.ServeMux类似,是一个保守的HTTP请求多路复用器,它结合了Einhorn辅助功能。这种支持使开发人员可以在Goji中获得Web套接字帮助。

Goji的其他功能包括正常关机,可重新配置的中间件堆栈,URL模式等。

Goji作为Web框架已经满足了不同企业的众多请求。

总结

介绍了下常见的Go 的web开发框架,大家喜欢就好!!

明天,继续细节对比,助你转型!!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在Go语言中,有很多开发框架可供选择。这些框架主要是用于Web开发。虽然它们被称为"框架",但实际上大部分框架只提供了一些基础组件,如路由、中间件等,需要开发者自行选择其他组件或者自己开发相关功能。这些框架的Web开发能力都相当完备,没有太大的差别,并且都是基于Go语言标准库中的net/http.Server进行二次封装的。 其中,Beego是一个非常流行的开源高性能Web框架。它具有简单易用的特点,提供了丰富的功能和工具,方便开发者进行快速的Web应用开发。Beego的GitHub地址是https://github.com/astaxie/beego,官方网站是https://beego.me。 总结来说,如果你在Go语言中进行Web开发,可以考虑使用Beego框架或其他类似的框架,它们都提供了丰富的功能和工具,可以帮助你快速构建高性能的Web应用程序。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [go语言有哪些web框架](https://blog.csdn.net/weixin_50196917/article/details/125615511)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [go语言web框架](https://blog.csdn.net/resilient/article/details/80670546)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小隐乐乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值