適合??蚣茏銐虺墒炝?A Survey of 5 Go Web Frameworks
創(chuàng)新互聯(lián)建站主要從事成都做網(wǎng)站、網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)善左,10年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專(zhuān)業(yè),歡迎來(lái)電咨詢(xún)建站服務(wù):18980820575
小型項(xiàng)目你甚至不用框架,用net/http http - The Go Programming Language
常用庫(kù)也成熟了 Top - Go Search
golang的web后端即使不concurrent也比php,ruby,python快很多很多
golang里用concurrent真的非常方便,非常非???,超大web項(xiàng)目golang scale成本低
如果你想,golang的部署可以比php更方便,使用go get和http.ServeAndListen()可以不用nginx和apache
對(duì)于文件改動(dòng)重新編譯其實(shí)并不是大問(wèn)題,看pilu/fresh · GitHub,其實(shí)你自己寫(xiě)shell腳本(也可以直接用go寫(xiě),因?yàn)樗旧砭褪窍到y(tǒng)語(yǔ)言)監(jiān)控文件系統(tǒng)改動(dòng)然后自動(dòng)重新build,即使是C/C++的項(xiàng)目這也不是大問(wèn)題,人們不用C/C++寫(xiě)web是因?yàn)樗鼈儾皇菍?xiě)web app的最佳選擇
golang寫(xiě)的代碼編譯通過(guò)后,要比scripting language魯棒,因?yàn)間o compiler強(qiáng)制一些最佳實(shí)踐
學(xué)完了 net/http 和 fasthttp 兩個(gè)HTTP協(xié)議接口的客戶(hù)端實(shí)現(xiàn),接下來(lái)就要開(kāi)始Server的開(kāi)發(fā),不學(xué)不知道一學(xué)嚇一跳,居然這兩個(gè)庫(kù)還支持Server的開(kāi)發(fā),太方便了。
相比于Java的HTTPServer開(kāi)發(fā)基本上都是使用Spring或者Springboot框架,總是要配置各種配置類(lèi),各種 handle 對(duì)象。Golang的Server開(kāi)發(fā)顯得非常簡(jiǎn)單,就是因?yàn)樘貏e簡(jiǎn)單,或者說(shuō)沒(méi)有形成特別統(tǒng)一的規(guī)范或者框架,我發(fā)現(xiàn)了很多實(shí)現(xiàn)方式,HTTP協(xié)議基于還是 net/http 和 fasthttp ,但是 handle 語(yǔ)法就多種多樣了。
先復(fù)習(xí)一下: Golang語(yǔ)言HTTP客戶(hù)端實(shí)踐 、 Golang fasthttp實(shí)踐 。
在Golang語(yǔ)言方面,實(shí)現(xiàn)某個(gè)功能的庫(kù)可能會(huì)比較多,有機(jī)會(huì)還是要多跟同行交流,指不定就發(fā)現(xiàn)了更好用的庫(kù)。下面我分享我學(xué)到的六種Server開(kāi)發(fā)的實(shí)現(xiàn)Demo。
基于 net/http 實(shí)現(xiàn),這是一種比較基礎(chǔ)的,對(duì)于接口和 handle 映射關(guān)系處理并不優(yōu)雅,不推薦使用。
第二種也是基于 net/http ,這種編寫(xiě)語(yǔ)法可以很好地解決第一種的問(wèn)題,handle和path有了類(lèi)似配置的語(yǔ)法,可讀性提高了很多。
第三個(gè)基于 net/http 和 github.com/labstack/echo ,后者主要提供了 Echo 對(duì)象用來(lái)處理各類(lèi)配置包括接口和handle映射,功能很豐富,可讀性最佳。
第四種依然基于 net/http 實(shí)現(xiàn),引入了 github.com/gin-gonic/gin 的路由,看起來(lái)接口和 handle 映射關(guān)系比較明晰了。
第五種基于 fasthttp 開(kāi)發(fā),使用都是 fasthttp 提供的API,可讀性尚可,handle配置倒是更像Java了。
第六種依然基于 fasthttp ,用到了 github.com/buaazp/fasthttprouter ,有點(diǎn)奇怪兩個(gè)居然不在一個(gè)GitHub倉(cāng)庫(kù)里。使用語(yǔ)法跟第三種方式有點(diǎn)類(lèi)似,比較有條理,有利于閱讀。
錯(cuò)!大錯(cuò)特錯(cuò)!
GO、PHP、Ruby、Python 這些都是用于數(shù)據(jù)處理的編程語(yǔ)言(簡(jiǎn)稱(chēng):后端)
只有 HTML、HTML5 才能做用戶(hù)界面(簡(jiǎn)稱(chēng):前端)
Revel Web開(kāi)源框架
個(gè)高效的Go語(yǔ)言Web開(kāi)發(fā)框架,?其思路完全來(lái)自 Java 的?Play Framework。
特點(diǎn)
熱編譯,簡(jiǎn)單可選,同步(每個(gè)請(qǐng)求都創(chuàng)建自己的goroutine來(lái)處理。
Go語(yǔ)言Web框架:beego
一個(gè)用Go開(kāi)發(fā)的應(yīng)用框架,思路來(lái)自于tornado,路由設(shè)計(jì)來(lái)源于sinatra。
支持特性
MVC;
REST;
智能路由;
日志調(diào)試;
配置管理;
模板自動(dòng)渲染;
layout設(shè)計(jì);
中間件插入邏輯;
方便的JSON/XML服務(wù);
golang在近些年被追捧,不管某華,某阿在很多服務(wù)器開(kāi)發(fā)上都在使用。
你不用懷疑golang的
優(yōu)勢(shì):部署簡(jiǎn)單,良好的語(yǔ)言設(shè)計(jì),并發(fā)性好,性能優(yōu)良,開(kāi)發(fā)簡(jiǎn)潔快,標(biāo)準(zhǔn)庫(kù)強(qiáng)大,編譯簡(jiǎn)單
缺點(diǎn):還存在一些缺陷(例如垃圾回收),缺少安全檢查,性能方面目前比不過(guò)java,第三方庫(kù)不及java
但作為新興語(yǔ)種,我們不用擔(dān)心,背后有谷歌支持和java持平也就是時(shí)間上的問(wèn)題。
而且前面還有某華,某阿頂著不怕。
第一個(gè):Beego框架
Beego框架是astaxie的GOWeb開(kāi)發(fā)的開(kāi)源框架。Beego框架最大的特點(diǎn)是由八個(gè)大的基礎(chǔ)模塊組成,八大基礎(chǔ)模塊的特點(diǎn)是可以根據(jù)自己的需要進(jìn)行引入,模塊相互獨(dú)立,模塊之間耦合性低。
相應(yīng)的Beego的缺點(diǎn)就是全部使用時(shí)比較臃腫,通過(guò)bee工具來(lái)構(gòu)建項(xiàng)目時(shí),直接生成項(xiàng)目目錄和耦合關(guān)系,從而會(huì)導(dǎo)致在項(xiàng)目開(kāi)發(fā)過(guò)程中受制性較大。
第二個(gè):Gin框架
Gin是一個(gè)GOlang的微框架,封裝比較優(yōu)雅,API友好,源碼注釋比較明確,已經(jīng)發(fā)布了1.0版本;具有快速靈活、容錯(cuò)方便等特點(diǎn),其實(shí)對(duì)于golang而言,web框架的依賴(lài)遠(yuǎn)比Python、Java更小。
目前在很多使用golang的中小型公司中進(jìn)行業(yè)務(wù)開(kāi)發(fā),使用Gin框架的很多,大家如果想使用golang進(jìn)行熟練Web開(kāi)發(fā),可以多關(guān)注一下這個(gè)框架。
第三個(gè):Iris框架
Iris框架在其官方網(wǎng)站上被描述為GO開(kāi)發(fā)中最快的Web框架,并給出了多框架和多語(yǔ)言之前的性能對(duì)比。目前在github上,Iris框架已經(jīng)收獲了14433個(gè)star和1493個(gè)fork,可見(jiàn)是非常受歡迎的。
在實(shí)際開(kāi)發(fā)中,Iris框架與Gin框架的學(xué)習(xí)曲線幾乎相同,所以掌握了Gin就可以輕松掌握Iris框架。
第四個(gè):Echo框架
也是golang的微型Web框架,其具備快速HTTP路由器、支持?jǐn)U展中間件,同時(shí)還支持靜態(tài)文件服務(wù)、Websocket以及支持制定綁定函數(shù),制定相應(yīng)渲染函數(shù),并允許使用任意的HTML模版引擎。
文章題目:用go語(yǔ)言開(kāi)發(fā)網(wǎng)站 用go語(yǔ)言開(kāi)發(fā)網(wǎng)站有哪些
新聞來(lái)源:http://jinyejixie.com/article32/dodhisc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、App設(shè)計(jì)、標(biāo)簽優(yōu)化、網(wǎng)站排名、、微信公眾號(hào)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)