Beego 再出發

astaxie發表於2020-06-09

前言

近年來得益於 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 更好的服務於國人。

我們的規劃

Beego 歷經了 8 年的發展,可以看到 Beego 成為許多開發工作者的重要工具,得到了大家的廣泛支援。為了讓 Beego 更好的發展,更好的服務於大家,我們將會從多個方面建設 Beego。

文件建設

文件是開源的第一要素。我們會將構建四種文件型別:使用文件、架構文件、awesome 文件、生態文件。介紹框架的使用方式、example 案例;框架的基礎知識、架構原理;框架相關的 awesome 文章;使用 Beego 的相關作品和 Web 網站。

團隊建設

建立 Beego 團隊,吸引廣大小夥伴,為 Beego 添磚加瓦。同時也給加入的小夥伴帶來福利,例如 go 周邊禮物,Gopher China 門票,推薦成為 Gopher 講師。在這裡你可以認識更多志同道合的朋友,並且有朝一日能夠成為獨當一面的 Gopher。

框架建設

將框架設計為高效能和高效率兩種模式,讓大家根據業務場景選擇合適的版本。並積極引入開源的新元件例如 zap、prometheus、nacos 等元件,豐富 beego 的功能。增加 example 和 unit test,提升框架的可用性和可靠性。最後會重構 Beego,解耦模組,提升效能,將 Beego 的原始碼作為 Gopher 最好的入門指導。

生態建設

使用 Beego 的開源專案或者公司可以聯絡我們,我們將會手把手教學。並且會將你們的案例、文章、網址定期宣傳。共建 Beego 社群。

核心成員介紹

目前 Beego 有四名核心成員,承擔了 Beego 日常的工作。我們希望能夠有更多的人能夠加入進來,成為 Beego 核心成員。以下介紹下 Beego 成員。

  • 謝孟軍:go 官方中國區社群負責人,Beego 創始人
  • 彭友順:鬥魚 Jupiter 框架負責人,鬥魚資深架構師
  • 鄧明:Apache Commiter,Dubbogo 核心開發人員
  • 王博鋒:Gopher China 大學生社群推廣人,全棧工程師,在校大學生 ## 加入我們 ### 微信二維碼

釘釘二維碼

快速連結

更多原創文章乾貨分享,請關注公眾號
  • Beego 再出發
  • 加微信實戰群請加微信(註明:實戰群):gocnio

相關文章