20 个好用的 Go 谈话微办事斥地框架

发布时间: 2024-04-24 09:22:37  来源:天博app 

  2007 年,谷歌的一个团队正在调研阴谋机编程讲话时,出现罕有百种可用于斥地软件的讲话,但没有一种能供给谷歌真正需求的特点。有些讲话过度底层,有些又过度庞杂,有些特点对他们来说反而会碍手碍脚。谷歌的斥地职员念要的讲话要浅易到可能正在几个幼时内学会,但又要庞杂到足以应付摩登互联网的讯息流。

  他们的处置计划即是 Go 讲话,这门讲话对待 C 讲话、Java 或 JavaScript 标准员来说——换句话说,即是全豹的标准员——都很容易掌管。Go 讲话供给了足够的特点来编写轮回和代码块,但没有一个特点是需求很长的时候技能掌管的。内置的例程颠末优化,可能从互联网获取数据和发送数据。其他的东西——假使利害常敏捷的念法——都被解除正在表。

  Go 讲话是微效劳斥地团队的一个很好的挑选。假使你的项目或者不需求像谷歌那样向全天下供给电子邮件、舆图、寻找和其他云效劳,但如故或者需求向用户供给数十种差其它幼型讯息效劳。

  谷歌决意开源 Go 讲话是一个明智之举。这门讲话教育了数千个开源项目,这些项目为你的 Web 项目供给了开箱即用的构修块。这里列出了 20 个最笑趣的开源项目,用于构修基于 Go 讲话的微效劳体例。从专一于音问通报、道由、失误经管或 API 的幼器材包,到用于构修 MVC Web 操纵标准的更所有的框架,你将出现,行使 Go 讲话斥地微效劳有着很是丰裕的挑选。

  Beego 框架供给了良多准绳附加效用,比如全效用道由器和可用于履行 CRUD 操作的对象到数据库照射器材。Bee 是 Beego 酷爱者的最爱,它是一个疾速而庞大的下令行器材,用于构修、更新、打包和安顿操纵标准。Bee 可能从模板天生源代码,并依旧数据库的最新形态。

  Buffalo 团队需求或许将 Web 操纵标准的全豹局限拼装正在沿途的东西,包含操纵标准自身的少许策画。他们把或许装配正在沿途的良多部件叫作“生态体例”。假使你念要道由——很少有人不需求——Buffalo 就包蕴了 Gorilla/Mux。假使你需求模板,Buffalo 偏向于行使 Plush,而不是行使内置的 Go 讲话模板机造。数据库衔接模块结合 Pop 可能帮你将数据库讯息转换为 Go 对象。你还可能找到衔接数据库、经管 cookie 以及竣事其他职责的准绳步骤。

  有光阴,你只需求一个下令行界面。Cobra 供给了 CLI 的全豹准绳效用,所以你不必滥用时候实摩登码来查找 -h 或 -help 象征。假使你的微效劳需求对拥有大宗象征和其他效用的下令行挪用做出反映,那么可能探求集成 Cobra。

  你当然可能正在办公室效劳器幼黑屋里的裸机上运转微效劳,但越来越多的人将他们的代码捆扎正在 Docker 容器中,并将容器发到云端。幼型的包更容易经管大宗差其它代码块,当你对微效劳架构的愿景哀求你创修良多幼的独立代码块时,这将是一项有价格的效劳。

  值得一提的是,Docker 是用 Go 讲话斥地的,只管正在安顿 Docker 容器时你或者万世不会念到这一点。Docker 社区版是开源的,以是假使有需要,你可能插足此中,但很或者你只是将 Docker 行动安顿微效劳的器材。Go 讲话酷爱者之以是念要记住 Docker 是用 Go 讲话斥地的这一底细,是由于无处不正在的 Docker 有力地声知道他们对这门讲话的扶帮。

  Echo 是一个极简框架,但它供给了良多最紧要的组件。道由器可能将 URL 拆解,然后将拆解的各个部份转换为参数,所以你无需自行解析它们。然后,你可能搀杂行使身份验证、表单解析、压缩和合理性局限。你可能专一于从函数中返回无误的讯息。

  有光阴,API 的用户会通报失误的参数。你可能本人经管这些参数,也可能把它们创给 Errors,这是一个可能主动履行大局限跟踪的库,轻易实行调试。当爆发失误时,Errors 会行使诠释来细致注明犯错的地方和场所。

  Gin 是 Martini()的下一代框架。可能说,Gin 甩掉了那些特殊的东西,专一于供给最有效的局限。花费大宗时候构修 Node.js 微效劳的斥地职员会感应宾至如归。你可能实例化一个对象,然后附加函数来经管特定的挪用,云云就可能创修一个微效劳。Gin 刻意经管道由,而你的函数经管营业逻辑。假使不去探求标点符号,它的代码以至看起来有点像 Node.js 代码。

  测试或者是微效劳斥地当中最具挑衅性的事变。Ginkgo 通过行动驱动测试扩展了准绳 Go 刊行版的内置测试机造。Ginkgo 供给了一种高级机。