欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

為什么我堅(jiān)持用Go語(yǔ)言做Web應(yīng)用開(kāi)發(fā)框架? - 新聞資訊 - 云南小程序開(kāi)發(fā)|云南軟件開(kāi)發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開(kāi)發(fā)/軟件開(kāi)發(fā)

知識(shí)

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X(jué)表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營(yíng)銷(xiāo)的便利,運(yùn)營(yíng)的高效,讓網(wǎng)站成為營(yíng)銷(xiāo)工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!

您當(dāng)前位置>首頁(yè) » 新聞資訊 » 網(wǎng)站建設(shè) >

為什么我堅(jiān)持用Go語(yǔ)言做Web應(yīng)用開(kāi)發(fā)框架?

發(fā)表時(shí)間:2018-6-19

發(fā)布人:葵宇科技

瀏覽次數(shù):40

點(diǎn)擊上方“CSDN”,選擇“置頂公眾號(hào)”

關(guān)鍵時(shí)刻,第一時(shí)間送達(dá)!

【CSDN編者按】很多情況下,企業(yè)上線或需要快速迭代一款新的產(chǎn)品,但會(huì)發(fā)現(xiàn)原有的后端框架已不太適用,甚至影響了開(kāi)發(fā)調(diào)試速度,那么尋找一種新的開(kāi)發(fā)框架和編程語(yǔ)言變得極為迫切。本篇將揭秘用于創(chuàng)建網(wǎng)站和REST API的最流行、最強(qiáng)力和最全面的Go框架。

640?wx_fmt=png

Google的Go語(yǔ)言(又名Golang)已成為編寫(xiě)網(wǎng)絡(luò)服務(wù)和API強(qiáng)有力的選擇。它可以編譯成快速運(yùn)行的原生代碼,天生支持異步編程,還擁有廣泛和不斷擴(kuò)大的用戶群。

下面列出了網(wǎng)絡(luò)開(kāi)發(fā)中用到的Go語(yǔ)言的主要框架。一些框架旨在簡(jiǎn)化用戶的使用,如API訪問(wèn)點(diǎn)等。還有一些主要是為了處理全面的網(wǎng)站開(kāi)發(fā),或者可以根據(jù)工作需要的組件擴(kuò)張或縮減開(kāi)發(fā)。


Go網(wǎng)絡(luò)開(kāi)發(fā)框架:Beego


在某些方面,Beego會(huì)讓人聯(lián)想到Python中包羅萬(wàn)象的Django Web框架。它具備各種Web應(yīng)用程序的通用功能,總共有八個(gè)模塊,你可以根據(jù)需要選擇使用。除了大多數(shù)Web框架中常見(jiàn)的模型-視圖-控制器(model-view-controller,MVC)組件外,它還包括訪問(wèn)數(shù)據(jù)庫(kù)的對(duì)象關(guān)系映射(object-relationship map,ORM)、內(nèi)置緩存處理程序、會(huì)話處理工具、日志記錄機(jī)制和常用的操作HTTP對(duì)象的庫(kù)。

Beego還有一個(gè)與Django很相似的地方是它的命令行工具。例如,你可以使用bee從頭創(chuàng)建Beego應(yīng)用或管理現(xiàn)有的應(yīng)用。


Go網(wǎng)絡(luò)開(kāi)發(fā)框架:Gin


Go的第一個(gè)Web開(kāi)發(fā)框架是Martini,但這個(gè)項(xiàng)目已經(jīng)停止了維護(hù)。然而,其他Go框架如雨后春筍般紛紛涌現(xiàn),它們使用Martini的基本思想,但是具有更好的性能和更多的功能。

Gin就是其中的一個(gè)項(xiàng)目。它使用修改過(guò)的的httprouter軟件包來(lái)提高速度,并為很多常見(jiàn)的場(chǎng)景提供處理程序,包括中間件、文件上傳、日志、將前端HTML組件綁定到后臺(tái)的數(shù)據(jù)結(jié)構(gòu)等等。其穩(wěn)定版API是1.x版本,所以未來(lái)的變更應(yīng)該不會(huì)破壞現(xiàn)有的Gin應(yīng)用。


Go Web開(kāi)發(fā)框架:Gorilla


Gorilla的定位是“Web工具箱”,而并非MVC風(fēng)格的框架。它提供的庫(kù)可以幫忙解決Web服務(wù)編程中各種底層的問(wèn)題,包括context(在請(qǐng)求期間保存狀態(tài))、mux(路由和調(diào)度),以及實(shí)現(xiàn)HTTP上的安全cookie、會(huì)話、websocket和RPC等功能。

Gorilla沒(méi)有提供模板、表單和其他前端部分。你需要自己準(zhǔn)備這些部分,你可以在其他框架中使用Gorilla的各個(gè)組件,或是在獨(dú)立組件中集成用Gorilla編寫(xiě)的東西。


Go Web開(kāi)發(fā)框架:Echo


Echo是另一個(gè)小框架,主要面向API。例如,它并沒(méi)有提供模板系統(tǒng),所以你可以根據(jù)需要使用Go自己的html/template。但是,Echo提供了幾種常常用于API的中間件模塊,例如基本的認(rèn)證和密鑰身份驗(yàn)證、壓縮、代理和日志記錄。

Echo還提供了大量實(shí)用的recipe,其中很多無(wú)需大費(fèi)周折就能實(shí)現(xiàn)。例如,如果你想使用Let’s Encrypt來(lái)管理HTTPS證書(shū),那么可以設(shè)置一種recipe來(lái)自動(dòng)安裝這些證書(shū)。


Go Web開(kāi)發(fā)框架:Iris


Iris的創(chuàng)建者稱其為“真正屬于Go的Express.js”,也就是說(shuō),它是JavaScript / Node.js的Web框架的Go語(yǔ)言版,它使用最小設(shè)計(jì),絕大部分功能都由插件提供。Iris提供基本的MVC功能,自帶對(duì)中間件、會(huì)話、路由和緩存的支持。

以下文檔包含很多Iris的示例,包括與React前端的交互,或在Docker / Kubernetes環(huán)境中運(yùn)行的項(xiàng)目:https://iris-go.com/v10/recipe


Go網(wǎng)絡(luò)開(kāi)發(fā)框架:Revel


Ruby>除了提供基本的MVC,Revel還允許你自由使用其他組件來(lái)滿足其他需求。你可以使用Go自己的原生html/template包,或自己提供。同樣,對(duì)于HTTP引擎,你也可以使用Go自己的或第三方提供的。緩存可以在本地的內(nèi)容中完成,也可以通過(guò)Memcached或Redis在后臺(tái)完成。但是,該框架沒(méi)有數(shù)據(jù)庫(kù)的原生ORM。Revel文檔的一個(gè)例子(https://revel.github.io/examples/booking.html)中使用了Gorp庫(kù),但理論上來(lái)說(shuō)你可以使用任何Go ORM。

原文:https://www.infoworld.com/article/3274464/web-development/6-must-have-web-frameworks-for-the-google-go-language.html

作者:Serdar Yegulalp

譯者:彎月;責(zé)編:楊麗

640?wx_fmt=png

640?wx_fmt=gif

相關(guān)案例查看更多