Golang: Beego vs Revel. How to Choose?

Golang: Beego vs Revel. How to Choose?

Comparison of two of the most famous frameworks of Golang

The popularity of Golang has been increasing since its launch. A survey shows 76% of the users are using Golang at work and 66% are using it outside the workplace.

A lot of developers are considering Golang for Web development these days. There are several frameworks available for the language. It could be a nightmare to choose the framework you want to start your new app with.

There are two very popular MVC frameworks Beego and Revel. These frameworks are largely self-sufficient to develop a web app. Though in many cases you would want to use any external libraries to suit your needs or comfort.

Disclaimer: This comparison is not for the lightweight frameworks. There are bunch of other frameworks to consider if your priority is lightweight/small application. Gin Gonic, Martini, Web.go are few of those to consider.

Let’s look at these frameworks and what they provide:

Beego

Beego is similar to the Django framework for Python. It offers a ton of features for web applications.

Apart from MVC, the framework integrates an ORM (Object-Relationship Map), logging systems, HTML template engine, and many other libraries.

Beego has a command-line tool (bee) which is familiar to that of Django’s. Bee watches out for code changes and runs tasks when changes are detected.

Pros

  • Saves a lot of time, especially at the beginning of a project
  • Faster with web app development
  • Defined Application structure
  • Provides integrated ORM, built-in cache handler, logger, etc.
  • No need for a third-party library. Very unlikely though!

Revel

Revel is one of the first and fully featured Go web frameworks. It is a self-sufficient framework that does not require any third-party plugins or middleware.

The reason why developers love Revel is that it is a one-stop shop for API development regardless of the complex task.

Pros

  • No third-party middleware, configuration, plugin, and setup
  • Full-fledged framework
  • Huge and active community

Comparison

Let’s compare the frameworks:

  • Efficiency — Both these frameworks have similar performance. There is no clear winner here.
  • Ease to Learn — It depends. It depends on the developers’ background. If you have used Ruby on Rails, you are going to love Revel. If you are a Python developer who has used Django, you will like Beego. Since the basic principles of both frameworks are similar if you have used any MVC framework before, these are easy to learn.
  • Routing — Routing is one of the most important parts of a web framework. Both frameworks have many ways to configure routes. But I love the syntax of Revel most probably because I am a Rails developer. There is no clear winner, it is your choice.
  • Popularity — Both of these frameworks are quite popular. Beego has almost double forks, stars on Github than that of Revel.
  • Community support — They have excellent community support. It is easy to find the solution to your problems.

Conclusion

Revel and Beego are great frameworks with various features inbuilt. Choosing one of them is entirely up to the developer. Rails developers and Django developers will prefer Revel and Beego respectively.

Comments are closed.