⑴ golang 有哪些比較穩定的 web 開發框架
第一個:Beego框架
Beego框架是astaxie的GOWeb開發的開源框架。Beego框架最大的特點是由八個大的基礎模塊組成,八大基礎模塊的特點是可以根據自己的需要進行引入,模塊相互獨立,模塊之間耦合性低。
相應的Beego的缺點就是全部使用時比較臃腫,通過bee工具來構建項目時,直接生成項目目錄和耦合關系,從而會導致在項目開發過程中受制性較大。
第二個:Gin框架
Gin是一個GOlang的微框架,封裝比較優雅,API友好,源碼注釋比較明確,已經發布了1.0版本;具有快速靈活、容錯方便等特點,其實對於golang而言,web框架的依賴遠比Python、Java更小。
目前在很多使用golang的中小型公司中進行業務開發,使用Gin框架的很多,大家如果想使用golang進行熟練Web開發,可以多關注一下這個框架。
第三個:Iris框架
Iris框架在其官方網站上被描述為GO開發中最快的Web框架,並給出了多框架和多語言之前的性能對比。目前在github上,Iris框架已經收獲了14433個star和1493個fork,可見是非常受歡迎的。
在實際開發中,Iris框架與Gin框架的學習曲線幾乎相同,所以掌握了Gin就可以輕松掌握Iris框架。
第四個:Echo框架
也是golang的微型Web框架,其具備快速HTTP路由器、支持擴展中間件,同時還支持靜態文件服務、Websocket以及支持制定綁定函數,制定相應渲染函數,並允許使用任意的HTML模版引擎。
⑵ golang 有哪些比較穩定的 web 開發框架
推薦beego和revel
beego:國人開發,中文文檔。
https://github.com/astaxie/beego
revel:重量級框架,你想要的基本都能滿足。
⑶ 怎麼學習golang
除了Java、Python和JavaScript之外,如果要開始學習一門新語言的話,我想應該是Go!
Go語言正在被越來越多的公司使用。我們公司的後端服務已經全面採用Go語言實現了。
最開始接觸Go語言是去年將一份Go代碼「翻譯」成Python並集成到測試平台上,說來也挺神奇,我從來沒學過Go卻完成了這個工作,這也側面反應了Go的語法還是很平易近人的。
今年,在海翔飛調崗之後已經沒有太多時間寫代碼了,但如果要開始學習一個新的語言或技術的話,我最想學的是Go!
目前來看,Go似乎還並沒有太多測試人員使用的場景,不過,我之前介紹過的BDD行為驅動框架gauge是由Go開發的,當然,它也支持使用Go來編寫BDD測試代碼。
對於,已經有一定開發經驗的同學,如何快速的開始學習Go語言呢?我這里給一些思路。
#### 第一步:下載和安裝
在配置環境的時候你需要重點了解GOROOT、GOPATH的作用。
你還要准備一款稱手的編輯器,如果你像我一樣,一直都在使用VS Code的話,那麼就它就可以了。
#### 第二步:從hello world開始
先運行一個hello world程序,認識Go語言的語法。
package main
import ( "fmt")
func main(){
fmt.Println("helloworld!")
}
#### 第三步:熟悉Go的語法
接下來,你可能要花一周左右的時間熟悉Go語言的語法。比如,變數定義、if/for、函數、Map、跨文件的程序調用…等,當然,還有一些Go特有的知識。
當然,我更喜歡看視頻教程,雖然質量參差不齊,但我仍然覺得看視頻比我自己看書更有效率。
熟悉一段Go代碼:
package main
import"fmt"
func myFunc() {
i := 0
Here: //這行的第一個詞,以冒號結束作為標簽
fmt.Println(i)
i++ if i <10{ goto Here //跳轉到Here去
}
}func main() { //調用函數
myFunc()
}
#### 第四步:Go如何做單元測試
針對Go做測試也非常簡單。比如,這是一個被測試文件:add.go。
package test_demofunc Add(a int, b int) int{ return a + b
}
下面針對Add()函數編寫測試用例,test_add.go
package test_demo
import ( "testing")
func TestAdd1(t *testing.T){
r:= Add(1, 2) if r !=3{
t.Errorf("Add(1, 2)failed. Got %d, expected 3.", r)
}
}
func TestAdd2(t *testing.T){
r:= Add(2, 2) if r !=4{
t.Errorf("Add(2, 2)failed. Got %d, expected 4.", r)
}
}
你只需要執行go test命令就可以運行上面的測試了。
#### 第五步:從哪兒找第三方庫
當然,你只學習go語言本身,基本是做不了什麼事的,必須要使用第三方擴展庫。
這里羅列了Go語言的第三方庫,通過這些第三方庫的介紹,我們也可以大概知道Go可以用來干什麼。
如果你知道庫的名字的話,也可以在這個網站上搜索。
據我了解,Go的第三方庫大多都在GitHub上面。
#### 第六步:用Go做Web開發
Go是靜態語言,而且支持並發編程,所以,他有天然的性能優勢,大多公司主要使用Go也是開發後端服務(即API)。
終於到了實戰階段,如果我們真的要掌握一門語言,那麼一定要用它來開發一個項目出來。這個過程大概需要一個月。
Beego是Go下在主流的Web開發框架,資料相對比較豐富,而且有完善的文檔。你可為此制定一個目標,比如用它來開發一個Blog,為此,你需要詳細閱讀Beego文檔,以及學習相關的Web開發技術。
等你完成這個項目的時候,我想你已經會使用Go語言了。
⑷ 大家覺得用Go做WEB有必要用框架嗎
第一個:Beego框架
Beego框架是astaxie的GOWeb開發的開源框架。Beego框架最大的特點是由八個大的基礎模塊組成,八大基礎模塊的特點是可以根據自己的需要進行引入,模塊相互獨立,模塊之間耦合性低。
相應的Beego的缺點就是全部使用時比較臃腫,通過bee工具來構建項目時,直接生成項目目錄和耦合關系,從而會導致在項目開發過程中受制性較大。
第二個:Gin框架
Gin是一個GOlang的微框架,封裝比較優雅,API友好,源碼注釋比較明確,已經發布了1.0版本;具有快速靈活、容錯方便等特點,其實對於golang而言,web框架的依賴遠比Python、Java更小。
目前在很多使用golang的中小型公司中進行業務開發,使用Gin框架的很多,大家如果想使用golang進行熟練Web開發,可以多關注一下這個框架。
第三個:Iris框架
Iris框架在其官方網站上被描述為GO開發中最快的Web框架,並給出了多框架和多語言之前的性能對比。目前在github上,Iris框架已經收獲了14433個star和1493個fork,可見是非常受歡迎的。
在實際開發中,Iris框架與Gin框架的學習曲線幾乎相同,所以掌握了Gin就可以輕松掌握Iris框架。
第四個:Echo框架
也是golang的微型Web框架,其具備快速HTTP路由器、支持擴展中間件,同時還支持靜態文件服務、Websocket以及支持制定綁定函數,制定相應渲染函數,並允許使用任意的HTML模版引擎。
⑸ golang 有哪些比較穩定的 web 開發框架
傾向於直接用template +
gorilla就好了。當然,這兩個都不是框架,是工具。實際上,我是比較反對用框架的。我們當前做的是互聯網項目,對於架構的擴展能力、性能更看重。
當然,如果是做RAD,那麼有能夠提高開發效率的框架也不錯
⑹ golang 有哪些比較穩定的 web 開發框架
傾向於直接用template + gorilla就好了。當然,這兩個都不是框架,是工具。
實際上,我是比較反對用框架的。我們當前做的是互聯網項目,對於架構的擴展能力、性能更看重。
當然,如果是做RAD,那麼有能夠提高開發效率的框架也不錯
⑺ golang 有哪些比較穩定的 web 開發框架
【開發框架】技術選型的候選:
(1)DCloud出品:MUI;
(2)阿里出品:MSUI(基於大名鼎鼎的Framework7框架,但MSUI的兼容性更好);
(3)騰訊出品:FrozenUI;
(4)網路出品:Clouda是網路歷時兩年共同研發的開源App技術框架,基於Node.js,簡單易用,完美結合BAE;
(5)烽火星空出品的:Agile Lite支持jQuery和Zepto雙引擎;
(6)Jingle UI是一個基於html5、css3開發輕量級的移動webapp 框架(支持觸摸屏操作、切換效果也不錯)基於Zepto開發,依賴了iscroll;
要開發一款App的話,需要美工,UI,前端工程師,後端工程師等工作人員才可以實現。
關於這個問題,差不多就是這個樣子的了,你如果不明白,可以自己去後盾瞅瞅,我這些都是在後盾上學的,有空可以去看一下,就算不喜歡也沒關系啊,何樂而不為呢?
⑻ golang適合做web開發嗎
適合。框架足夠成熟了 A Survey of 5 Go Web Frameworks
小型項目你甚至不用框架,用net/http http - The Go Programming Language
常用庫也成熟了 Top - Go Search
golang的web後端即使不concurrent也比php,ruby,python快很多很多
golang里用concurrent真的非常方便,非常非常快,超大web項目golang scale成本低
如果你想,golang的部署可以比php更方便,使用go get和http.ServeAndListen()可以不用nginx和apache
對於文件改動重新編譯其實並不是大問題,看pilu/fresh · GitHub,其實你自己寫shell腳本(也可以直接用go寫,因為它本身就是系統語言)監控文件系統改動然後自動重新build,即使是C/C++的項目這也不是大問題,人們不用C/C++寫web是因為它們不是寫web app的最佳選擇
golang寫的代碼編譯通過後,要比scripting language魯棒,因為go compiler強制一些最佳實踐
⑼ golang 有哪些比較穩定的 web 開發框架
傾向於直接用template +
gorilla就好了。當然,這兩個都不是框架,是工具。實際上,我是比較反對用框架的。我們當前做的是互聯網項目,對於架構的擴展能力、性能更看重。
當然,如果是做RAD,那麼有能夠提高開發效率的框架也不錯。