前言

自发布以来,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开发框架

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开发框架,大家喜欢就好!!

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

慢聊Go之Go常见的Web 开发框架相关推荐

  1. 几种常见的Web攻击

    几种常见的Web攻击 文章目录 几种常见的Web攻击 一.DoS攻击 1.SYN洪水攻击 2.IP欺骗 3.Land攻击 4.针对DoS攻击的防御 二.CSRF攻击 1. CSRF攻击的发生有三个必要 ...

  2. url存在宽字节跨站漏洞_5分钟速览丨常见的Web安全漏洞及测试方法

    中秋小长假 "余额"就剩半天了 尽管心里有太多不舍 也要调整自己 毕竟假期都是短暂的 工作才是职场人生的常态 为了尽快消除"假日综合症" e小安贴心送上小文一篇 ...

  3. 常见六大 Web 安全攻防解析 | 技术头条

    作者 | 浪里行舟 责编 | 胡巍巍 在互联网时代,数据安全与个人隐私受到了前所未有的挑战,各种新奇的攻击技术层出不穷.如何才能更好地保护我们的数据?本文主要侧重于分析几种常见的攻击的类型以及防御的方 ...

  4. 常见嵌入式WEB服务器

    常见嵌入式WEB服务器 最近在搞一款应用到嵌入式WEB的产品,早期常为搭建服务器头疼,故在此列出几款常用的.不过我公司现在使用的goahead,下载见www.goahead.com 2.5.1版本.下 ...

  5. 常见六大Web安全问题

    一. XSS Cross-Site Scripting(跨站脚本攻击)简称 XSS(因为缩写和 CSS重叠,所以只能叫 XSS),是一种代码注入攻击. 攻击者通过在目标网站上注入恶意脚本,使之在用户的 ...

  6. 404未找到是什么意思_常见的web错误404你知道是什么意思吗?

    我们知道,最常见的web错误码404表示文件或资源未找到,但还有其他的错误代码,下面整理出来: 一.1xx-信息提示:这些状态代码表示临时的响应.客户端在收到常规响应之前,应准备接收一个或多个1xx响 ...

  7. 常见的web中间件java框架漏洞总结

    对近期的web中间件漏洞进行了解.因此我对常见的web中间件漏洞进行了收集以及整理.(本篇文章将持续更新) 文章目录 一.IIS IIS6.x IIS7.x 二.Apache Apache HTTPD ...

  8. 常见六大 Web 安全攻防解析

    前言 在互联网时代,数据安全与个人隐私受到了前所未有的挑战,各种新奇的攻击技术层出不穷.如何才能更好地保护我们的数据?本文主要侧重于分析几种常见的攻击的类型以及防御的方法. 一.XSS XSS (Cr ...

  9. 常见六大Web安全攻防解析

    前言 在互联网时代,数据安全与个人隐私受到了前所未有的挑战,各种新奇的攻击技术层出不穷.如何才能更好地保护我们的数据?本文主要侧重于分析几种常见的攻击的类型以及防御的方法. 想优质原创文章请猛戳Git ...

最新文章

  1. 【c语言】蓝桥杯算法提高 c++_ch02_02
  2. python获取文件路径
  3. Σ-delta ADC是否可以测量热噪声?
  4. Active Directory操作主机详解
  5. 关于eclpse java项目与tomcat jdk版本不一致的解决方法
  6. 004_SpringBoot整合Listener
  7. Tkinter的Checkbutton组件的简单使用
  8. CAS单点登录0-原理
  9. python怎么删除列表创建_Python基础--列表创建访问删除
  10. java 微信api框架_Java架构学习(五十二)使用框架开发微信微信框架介绍整合微信开发框架WxJava使用微信返回消息模板接口使用WxJava框架发送模板消息http协议参数转义知识...
  11. TensorFlow:实战Google深度学习框架(四)MNIST数据集识别问题
  12. 小心,信用卡销卡后,竟然变成黑名单!
  13. UVALive 7455 Linear Ecosystem (高斯消元)
  14. 谷歌大脑2017总结(Jeff Dean执笔,干货满满,值得收藏)
  15. 正则表达式 —— 一种模式描述语言(贪婪匹配与惰性匹配)
  16. ip类「ABCDE五类」区分和私有ip地址的知识
  17. 每日学习笔记(12)
  18. 怎么调整计算机的音量,笔记本音量怎么调_如何调整笔记本电脑的音量-win7之家...
  19. 计算机连接路由器的方法,路由器连接电脑的三种方式和设置介绍
  20. 输入FILCO蓝牙键盘的PIN

热门文章

  1. 麦克风阵列声源定位实现
  2. 强大的strace命令
  3. 创建带头结点单链表实现二进制数加1的运算
  4. 基于Python的统计建模
  5. Unity入门常见错误之碰撞检测方法无法触发
  6. 全球及中国可编程图形计算器行业研究及十四五规划分析报告
  7. 计算机不显示固态硬盘,新装的固态硬盘不显示怎么办?
  8. 分享Android单元测试
  9. 利用 GDB 快速阅读 postgresql 的内核代码
  10. 认证 (authentication) 和授权 (authorization) 的区别.md