当前位置: 首页 > 工具软件 > Gocraft/web > 使用案例 >

go web

楚乐逸
2023-12-01
  • 框架成熟:Beego,Martini,Gorilla,GoCraft,Net/HTTP

 A Survey of 5 Go Web Frameworks – The New Stack

beego:beego框架作为初学者刚开始接触web开发的第一个框架,非常适合,也容易接受。 

https://github.com/astaxie/beego 

iris:自称构建速度最快的goweb开发框架,支持中间件,支持mvc,也支持路由组,session等。 

https://github.com/kataras/iris 

gin:目前很多开发团队都在使用的goweb开发框架,使用起来上手也非常容易。

https://github.com/gin-gonic/gin 

汇总了支持go进行web开发的一些框架,中间件等

https://github.com/avelino/awesome-go#web-frameworks

go项目练习

https://github.com/rubyhan1314/Golang-100-Days 

  • 小型项目你甚至不用框架,用net/http http package - net/http - pkg.go.dev
  • 常用库也很成熟 http://go-search.org/tops
  • golang的web后端即使不concurrent也很快。concurrent很方便,超大web项目golang scale成本低
  • 文件改动重新编译不是大问题自己写shell脚本(也可以直接用go写,因为它本身就是系统语言)监控文件系统改动然后自动重新build,即使是C/C++的项目这也不是大问题,人们不用C/C++写web是因为它们不是写web app的最佳选择

https://github.com/pilu/fresh

  • golang写的代码编译通过后,要比scripting language更棒,因为go compiler强制一些最佳实践
  • 用Gorilla写的web项目:

Go by Example

  • Gorilla: 

Gorilla, the golang web toolkit

Go不是脚本语言,不存在需要容器运行“脚本”的问题

http server容器的工作原理是监听端口,并在请求和响应间做一些处理,比如根据请求的域名判断运行指定路径下的脚本,运行脚本时根据后缀执行脚本的解释器。

但是Go的http包提供运行时直接监听端口,处理http请求和响应,所以是不需要容器的。

但是,自己实现多域名绑定什么的还是比较麻烦,所以可以用Nginx、apache等几乎所有服务器容器做代理转发。

也就是说,Go程序不需要容器,如果用容器,也只需要用到代理转发功能,将请求转发到Go程序监听的本地端口地址。

 

参考

go语言有哪个web容器支持他脚本运行? - 知乎

Golang 适合做 Web 开发吗? - 知乎 

相关阅读

相关文章

相关问答