[Go]认识Beego框架

在这里插入图片描述

对比Gin的简洁,自己之前基于Gin撸了一个架子,确实比beego目录看着舒服多了,不过最近接触到beego的项目,beego的bee工具使用还是很方便,来简单梳理下细节;

Beego是一个开源的Go语言Web应用框架,用于快速开发高性能和可维护的应用程序。它提供了一系列的工具和功能,包括路由、ORM(对象关系映射)、会话管理、日志系统等,使得开发者能够更轻松地构建Web应用。

框架目录介绍

Beego框架的结构通常包含以下几个主要部分:

  • Controllers(控制器): 控制器是处理用户请求的地方,它们负责接收用户输入、调用模型层处理数据、并最终返回合适的视图。
  • Models(模型): 模型层通常用于处理数据相关的逻辑,例如数据库操作、数据验证等。
  • Views(视图): 视图负责显示用户界面。在Beego中,视图通常是使用Go语言的模板引擎实现的。
  • Routers(路由): Beego框架通过路由将URL映射到相应的控制器和方法上。路由定义了URL模式,以及与之相关联的控制器和方法。
  • Middlewares(中间件): 中间件允许你在请求到达控制器之前或之后执行一些操作。它们可以用于身份验证、日志记录、缓存等。

下面是一个简单的Beego应用程序的目录结构示例:

mybeegoapp/
|-- conf/
|   `-- app.conf
|-- controllers/
|   `-- default.go
|-- models/
|   `-- models.go
|-- static/
|-- tests/
|-- views/
|-- main.go

如何入门Beego框架:

安装Beego: 使用以下命令安装Beego框架和工具:

go get -u github.com/beego/beego/v2
go get -u github.com/beego/bee/v2

创建Beego应用: 运行以下命令创建一个新的Beego应用:

bee new mybeegoapp

这将在当前目录下创建一个名为mybeegoapp的新应用程序。

启动应用: 进入应用目录并运行以下命令:

cd mybeegoapp
bee run

这将启动Beego应用并监听默认端口(通常是8080)。

访问应用: 打开浏览器并访问 http://localhost:8080,你应该能够看到Beego的欢迎页面。

编写控制器和视图: 编辑controllers/default.go文件以添加自定义的控制器逻辑,编辑views文件夹下的模板文件以创建视图。

定义路由: 在routers文件夹下的router.go文件中定义URL路由规则。

学习文档: 阅读Beego框架的官方文档,了解更多关于路由、控制器、模型等方面的详细信息。文档地址:Beego官方文档。

Beego和Gin

如果你需要一个拥有完备功能集的框架,而且对性能要求相对较低,Beego可能是一个更好的选择。如果你更注重性能、轻量级设计,并且习惯使用更灵活的框架,那么Gin可能更适合你

Beego优点:
  1. 完备的功能集: Beego提供了很多内置的功能,包括ORM、会话管理、路由、中间件等,使得开发者在构建Web应用时可以更轻松地使用这些功能。
  2. 自带工具: Beego自带了一些开发工具,如bee工具,可以加速开发过程,包括快速创建新应用、自动化测试等。
  3. 强大的社区支持: 由于Beego是一个老牌的框架,它拥有一个庞大而活跃的社区,有很多文档和资源可供参考。
  4. 适用于传统应用: Beego更适合传统的MVC架构,对于有经验的开发者来说,它提供了一种熟悉的开发模式。
Gin优点:
  1. 极高的性能: Gin以性能为重点,相较于Beego等框架,它的性能更高,适合构建高性能的Web服务。
  2. 轻量级: Gin的设计非常轻量,代码量相对较少,启动速度快,适合构建小型到中型的项目。
  3. 灵活的中间件: Gin的中间件系统非常灵活,允许开发者方便地扩展和定制中间件。
  4. 适用于RESTful API: Gin的设计更加适用于构建RESTful API,对于需要高效处理HTTP请求的场景非常合适。
Beego缺点:
  1. 性能相对较低: 相对于一些轻量级的框架,Beego的性能可能略显较低。
  2. 较为传统的设计: Beego的设计相对较为传统,可能不如一些新兴框架那样灵活和现代。
Gin缺点:
  1. 相对较新: 相对于Beego,Gin是一个相对较新的框架,因此可能没有那么庞大的社区和生态系统。
  2. 不提供ORM: Gin本身不提供ORM功能,这可能需要开发者选择和集成第三方的ORM库。
  3. 较少的内置功能: Gin相对于Beego来说是一个更轻量级的框架,因此一些功能可能需要开发者自己实现或者集成第三方库。

总之,beego使用起来确实可以,代码臃肿确实也存在,相比Gin的简洁性确实用起来不舒服,但Gin的开发插拔式开发所用到的组件都需要整合;beego就是一梭子都给你;gin让你更能深入了解和思考一个项目,可能beego就不用管这些吧,个人理解,就这样!

参考

  • https://git-books.github.io/books/beego/?p=install/bee.md
  • https://github.com/beego/beego
  • 20
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ifanatic

觉得对您有用,可以友情打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值