27

golang实战使用gin+新版微信公众号赛车源码建go语言web框架rest

 5 years ago
source link: https://studygolang.com/articles/14113?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

联系方式:QQ:2747044651 网址

2017年我们联系方式:QQ:2747044651 网址 公司需要快速迭代一款联系方式:QQ:2747044651 网址 产品,当联系方式:QQ:2747044651 网址 时,我们团队的后端框架是spring mvc ,该框架结构清晰,上手快,但是由于我们的产品迭代速度快,底层数据库操作接口变动频繁,导致service层工作量巨大,不胜其烦。另外,随着项目的成长,代码量越来越大,项目启动越来越慢,严重影响了开发调试速度。

在这种情况下,我们希望寻找一种新的框架或编程语言,我们期望他具备调试简单,上手快,启动速度快,保密性高,以及适用于高并发及web编程,性能优越等优点。当时手上备选框架有spring boot和golang,综合比较,在巨大的遗憾中,我们选择了springboot,相关选型参考信息如下。

1、从功能满足度比较

在启动该产品研发时,我们梳理了自己的需求,主要在三个方面,一是支持高性能的restful api服务,二是支持web页面服务,三是支持快速跌代。Restful接口及性能方面,spring boot 和golanbg 都支持,且性能区别不大。页面服务方面,spring boot 封装了springmvc,相对成熟度更高,并且由于大量javaer的长期积累,该框架已经非常成熟;而go lang 方面,也有成型的框架,如beego,但是该框架使用度并不高.究其原因,是因为beego没有形成像php框架那样的生态,比如行业内php开源框架thinkphp,目前基于该框架已经形成了大量的cms,商城,erp,微信管理等软件,这也是我为什么要写作该书的原因,我希望通过写作该书,让更多的人认识到go语言,并参与到golang 的生态搭建中来。回归正题,功能满足度,spring boot更胜一筹。

2、学习成本

我们需要考虑到团队的学习成本,当时团队已经非常熟悉spring mvc框架,如果切换spring boot,学习成本几乎为零,但是若切换到golang,学习成本相对较高。另外,网络上关于golang框架,推荐并不多,比如gin,decho,以及beego,我们重点了解了beego框架,知乎上争论颇多。这些,都让我们对是否使用go语言,心里预期上打了一些折扣。

3、项目迁移成本

在选择框架的时候,我们还考虑了我们的集成成本。我们的客观情况是:公司的技术栈以及这些技术栈形成的项目积累,几乎都是java,如果我们切换到golang,那么产品运维成本将相对较高,另外由于目前行业类golang 从业者较少,如果我们采用go,将人为地为我们的项目团队组建带来巨大的难度.

4、社区活跃度

Go语言社区活跃度并不高,具体可以看如下几个方面

l 百度搜索指数

下图是golang 和java 以及php的搜索指数,近段时间以来,golang关注度不断下降,已经到日均1000pv,如果golang不孵化生态圈,将面临淘汰.事实上,在百度上搜索golang,很多都是2014年的旧事了。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK