Echo VS chi

Compare Echo vs chi and see what are their differences.

Our great sponsors
  • Nanos - Run Linux Software Faster and Safer than Linux with Unikernels
  • Scout APM - A developer's best friend. Try free for 14-days
  • SaaSHub - Software Alternatives and Reviews
Echo chi
36 30
21,148 10,426
1.7% 2.8%
8.1 7.4
5 days ago 9 days ago
Go Go
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Echo

Posts with mentions or reviews of Echo. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-11-27.
  • Geofence your self-hosted API's
    6 projects | dev.to | 27 Nov 2021
    Since I'm using echo as the web framework to control my decorations, I was able to implement some pretty simple middleware that rejects POST requests from IP addresses that aren't within close proximity to mine with a 403 status code.
  • Ask HN: Simplest stack to build web apps in 2021?
    17 projects | news.ycombinator.com | 22 Nov 2021
    For backend I'd say -> Golang, PostgreSQL, Redis. I've just worked with Vue.js but I've seen some of the React codebases and don't really appreciate that complexity. Vue does a far better job and simplifying things.

    With Golang, you actually don't need a mega framework to get started, you can use small libraries that will do the job for you without doing any magic behind the scenes. (Like, for sure you can use echo[0] but you would probably be happy with mux[1] and it's middlewares itself). And it's not uncommon in Go codebases to repeat yourself. I'd argue that's a much better paradigm than polluting your codebase with 10k indirect dependencies, the garbage that is the Node.js ecosystem.

    [0]: https://echo.labstack.com/

  • 4 Things to Consider When Choosing a Go API Framework
    5 projects | dev.to | 16 Nov 2021
    This can be extremely helpful if you just want to get going and start writing the business logic of your application without having to worry about some of these implementation details however it does come with a price: you're mostly stuck with the framework's choices. Don't like the way that echo formats logs? Tough. Want to use a different router than the one chosen by buffalo? Good Luck.
  • Would it be better to use Frameworks or not ?
    3 projects | reddit.com/r/golang | 25 Oct 2021
    I tried once to only use the standard library for a REST-like api and ended removing all that code and replacing it with a framework (Echo in my case) once i noticed that all that those thousands lines of code that i wrote to handle errors, requests, responses, validations, etc were almost the same to the ones you could find it those frameworks.
  • Which web framework to learn?
    6 projects | reddit.com/r/golang | 20 Oct 2021
    https://echo.labstack.com is fantastic
  • Shit post
    1 project | reddit.com/r/shitposting | 19 Oct 2021
  • Do you guys use frameworks with Go for backend development?
    7 projects | reddit.com/r/golang | 8 Oct 2021
    For REST, I use Echo which bills itself as a Web Framework. So in that sense, yes. In the sense of something overarching like Java's Spring Framework, no.
  • BunRouter: Zero allocations HTTP router for Go
    2 projects | reddit.com/r/golang | 7 Oct 2021
    It's looks exactly like Echo? Even the landing page is similar: https://echo.labstack.com/
  • I can not find where this log is happening...
    1 project | reddit.com/r/golang | 29 Sep 2021
    It’s Echo itself that logs incoming requests. https://github.com/labstack/echo/issues/1017
  • Go, Kafka and gRPC clean architecture CQRS microservices with Jaeger tracing πŸ‘‹πŸ§‘β€πŸ’»
    14 projects | dev.to | 29 Aug 2021
    In this article let's try to create closer to real world CQRS microservices with tracing and monitoring using: πŸš€ Kafka as messages broker gRPC Go implementation of gRPC PostgreSQL as database Jaeger open source, end-to-end distributed tracing Prometheus monitoring and alerting Grafana for to compose observability dashboards with everything from Prometheus MongoDB Web and API based SMTP testing Redis Type-safe Redis client for Golang swag Swagger for Go Echo web framework

chi

Posts with mentions or reviews of chi. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-11-16.
  • 4 Things to Consider When Choosing a Go API Framework
    5 projects | dev.to | 16 Nov 2021
    Eli Bendersky has an excellent series where they walk you through building a REST API in Go by first starting with the standard library and then introducing a router such as gorilla or chi and finally switching over to using a complete web framework. This series shows some of the downsides of sticking with the standard library entirely and how extra libraries such as the two router packages above can be extremely helpful.
  • Would it be better to use Frameworks or not ?
    3 projects | reddit.com/r/golang | 25 Oct 2021
    If you purely build a rest api using core modules will get you pretty far. There are multiple small wrappers out there that provide better routing and possibly a nicer api. As an example https://github.com/go-chi/chi is only 1K LOC and compatible with handleFunc.
  • Release v2.20.0 Β· gofiber/fiber
    2 projects | reddit.com/r/golang | 6 Oct 2021
    I really like chi. Feels like an extension for the go http lib
  • Migrating from PHP to Go
    26 projects | reddit.com/r/golang | 30 Sep 2021
    https://github.com/go-chi/chi for routing, it has a nice interface, and is extremely light on resources (not a big deal for a router, but if it's available with a nice API, why not?
    26 projects | reddit.com/r/golang | 30 Sep 2021
    I'm a big fan of [Twirp RPC](https://github.com/twitchtv/twirp), and [go-chi/chi](https://github.com/go-chi/chi) if I need to provide REST endpoints, authentication or other routing middleware. The "gorilla" set of packages are also useful, I always reach for gorilla/websocket if I need to do some websocket work. You can look at an example service in [go-bridget/notify](https://github.com/go-bridget/notify) - the main files to look at are under rpc/notify/notify.proto/.go, and the implementation which you write is under server/notify. If you'd create database drivers, I'd create a package under server/notify/mysql (for example), and then implement an interface for data retrieval/settings. It's on the todolist, if I'll ever need to implement anything other than JWT, or Redis. Comment if you have any questions or notes.
  • Router/mux for golang.
    1 project | reddit.com/r/golang | 5 Sep 2021
    I’m personally a fan of chi router. Fast, works with standard http package handlers.
  • What are your favorite packages to use?
    55 projects | reddit.com/r/golang | 15 Aug 2021
    chi for routing
    55 projects | reddit.com/r/golang | 15 Aug 2021
    Chi HTTP Router
    55 projects | reddit.com/r/golang | 15 Aug 2021
    Here is link number 2 - Previous text "Chi"
    55 projects | reddit.com/r/golang | 15 Aug 2021
    https://github.com/derision-test/go-mockgen for the best mocks Ive ever had in Go https://github.com/go-chi/chi for HTTP routing

What are some alternatives?

When comparing Echo and chi you can also consider the following projects:

Gin - Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.

mux - A powerful HTTP router and URL matcher for building Go web servers with 🦍

Fiber - ⚑️ Express inspired web framework written in Go

Iris - The fastest HTTP/2 Go Web Framework. AWS Lambda, gRPC, MVC, Unique Router, Websockets, Sessions, Test suite, Dependency Injection and more. A true successor of expressjs and laravel | θ°’θ°’ https://github.com/kataras/iris/issues/1329 |

httprouter - A high performance HTTP request router that scales well

Beego - beego is an open-source, high-performance web framework for the Go programming language.

go-kit - A standard library for microservices.

Revel - A high productivity, full-stack web framework for the Go language.