Golang学习-第三篇 认识Web框架
Posted Golang语言社区
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Golang学习-第三篇 认识Web框架相关的知识,希望对你有一定的参考价值。
文 | 盏茶_作酒
共 2036 字,阅读需 5 分钟
序言
作为一个Web开发人员,相信对框架并不陌生。那么什么是Web框架呢?我们学习的语言中有哪些框架呢?带着这两个疑问,来走进我们今天要写的内容。
正文
什么是Web框架?
Web application framework,Web应用框架(Web框架),用来支持动态网站、网络应用程序及网络服务的开发。
Web应用框架有助于减轻网页开发时共通性活动的工作负荷,例如许多框架提供数据库访问接口、标准样板以及会话管理等,可提升代码的可再用性。
认识Go语言中的框架
Web框架,特别是一个好的Web框架,让我们在开发项目的过程中会减少很多的麻烦。不过,作为一个Golang新手,记得一定不能被框架给束缚住,Go的基础一定要学好。当然这不是我们今天讨论的对象。
Golang中的Web框架有很多,对于性能对比,这里我不作特别的说明,如果各位有兴趣的话可以谷歌一下某些大牛的测试。如果自己有能力也可以自己做一个测试并写出一份测试报告。今天我们这里就简单介绍几个目前大家用的比较多的框架。
beego
Martini
gin
revel
作为一名Golang新手,本人用的第一个框架就是beego
,选择她的主要原因就是简单、易上手、文档全面。下面我们就简单的来说一下beego
框架。
beego框架的简介及搭建
beego简介
beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API、Web 及后端服务等各种应用,是一个 RESTful 的框架,主要设计灵感来源于 tornado、sinatra 和 flask 这三个框架,但是结合了 Go 本身的一些特性(interface、struct 嵌入等)而设计的一个框架
beego的架构、执行逻辑
beego架构图
beego执行逻辑图
beego框架的特性
简单化
RESTful 支持、MVC 模型,可以使用 bee 工具快速地开发应用,包括监控代码修改进行热编译、自动化测试代码以及自动化打包部署。
智能化
支持智能路由、智能监控,可以监控 QPS、内存消耗、CPU 使用,以及 goroutine 的运行状况,让您的线上应用尽在掌握。
模块化
beego 内置了强大的模块,包括 Session、缓存操作、日志记录、配置解析、性能监控、上下文操作、ORM 模块、请求模拟等强大的模块,足以支撑你任何的应用。
高性能
beego 采用了 Go 原生的 http 包来处理请求,goroutine 的并发效率足以应付大流量的 Web 应用和 API 应用,目前已经应用于大量高并发的产品中。
beego的安装
go get github.com/astaxie/beego
bee工具安装
bee 工具是一个为了协助快速开发 beego 项目而创建的项目,通过 bee 您可以很容易的进行 beego 项目的创建、热编译、开发、测试、和部署。
go get github.com/beego/bee
安装完之后,bee 可执行文件默认存放在 $GOPATH/bin 里面,所以您需要把 $GOPATH/bin 添加到您的环境变量中,才可以进行下一步。
以上两个安装完成后,那么beego环境搭建基本完成了。我们可以创建一个简单的项目来运行一下。
进入cmd命令,选择您的go工作目录,执行 bee new myfirstproject
则 myfirstproject项目创建成功
执行 bee run myfirstproject
运行myfirstproject如上图则项目运行成功
浏览器输入http://localhost:8080
如上图则访问成功!
beego具体使用请访问beego官网查看文档
以上是关于Golang学习-第三篇 认识Web框架的主要内容,如果未能解决你的问题,请参考以下文章