1. 程式人生 > >golang實戰使用gin+新版微信公眾號賽車源碼建go語言web框架rest

golang實戰使用gin+新版微信公眾號賽車源碼建go語言web框架rest

gmv 結構 一是 封裝 微信 springmvc 積累 產品 越來越大

聯系方式: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年的舊事了。

golang實戰使用gin+新版微信公眾號賽車源碼建go語言web框架rest