# beego-example

# 前言

近年来得益于 Go 社区的普及和推广,很大程度上促进了 Go 生态的蓬勃发展。十年前的 Go 还只是程序员手里的玩具,但如今已经成为解放程序员生产力的重要工具。越来越多设计新颖、理念先进、架构完善的组件涌现出来。注册的 ETCD、监控的 Prometheus、日志的 Zap、云原生的 K8S 等组件的出现,让我们能够在Go生态中尽情选择组件,设计我们的系统,实现我们想要的代码世界。 Go 在这十年的发展,让我们见证了一门语言的崛起之路,看到了无数程序员夜以继日为 Go 生态的添砖加瓦。作为 Go 生态的重要组成部分 Beego,热切的希望能够和 Go 社区组件的融合,享受 Go 生态的红利。因此在今年我们 Beego 团队将会重启和蜕变,重新思考和设计 Beego,将其打造为 Go 生态最实用的框架。

# 什么是 Beego

Beego 是一个能够快速开发 Go 应用程序的 WEB 框架。它可以用来迅速地开发 API、网络 App 和后端服务。同时,它也可以作为 RESTful 框架。其设计灵感主要来自 Python 和 Rails 流行的框架,借鉴了 Python 语言开发的框架 Tornado 和 Flask 以及 Ruby 开发的 web 框架 Sinatra。 Beego 与其他框架的最大区别,是我们不仅在追求框架性能的同时,更加关注于开发效率,解放程序员的生产力。 通常情况下,我们做一个业务的时候,在使用一些 WEB 框架需要纠结的选择各种组件和编写自己的中间件,将这些代码拼接到一起,这个繁琐过程可以理解成我们拿了一堆锤子、钉子在组装一个工具,做好了工具才能开始需求,导致我们开发人员陷入到选轮子、造轮子的加班困境中。Beego 则是借助 Go 社区大家提出的想法,组装出一个好用的工具,帮助程序员早点做完需求,早点下班。

# 我们做了什么

我们在重启 Beego 的过程中,发现 Beego 框架和 Bee 工具的功能点非常多,但很多功能都没有被用户发现和使用。我们意识到一个能帮助程序员快速开发的好框架,不仅需要齐全的功能,更需要充足的 example、文档、配套工具、以及整个社区人员,去支撑框架的整个生态。所以我们编写了大量 Beego 的 example ,收集了由 Beego 构建的开源项目,将他们汇总成 example 网站 ,希望通过这个网站,能够让更多的人快速了解 Beego 和使用 Beego。 我们在整理 Beego 框架和文档,了解到 Beego 项目始于2012年,创作较早,基于那个时期 Go 的基础建设、组件和理念并不像如今这么完善,导致了 Beego 在某些设计或者组件上存在一些问题。这些问题让如今的 Beego 的使用情况落后于后来居上的一些新框架。虽然如此,但我们仍然选择了贡献 Beego,一方面 Beego 可以说是最早最好的中文框架,另一方面是我们靠 Beego 上手学习的 Go。因此为了这些原因,我们组建了 Beego 团队,重启 Beego,希望能够将新的理念、新的血液带入到 Beego,使得 Beego 更好的服务于国人。