shelf VS Echo

Compare shelf vs Echo and see what are their differences.

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
shelf Echo
30 122
870 28,466
2.2% 1.6%
7.0 8.0
8 days ago 3 days ago
Dart Go
BSD 3-clause "New" or "Revised" 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.

shelf

Posts with mentions or reviews of shelf. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-30.
  • Dart on the Server: Exploring Server-Side Dart Technologies in 2024
    4 projects | dev.to | 30 Jan 2024
    Shelf
  • shelf_proxy
    2 projects | /r/dartlang | 7 Mar 2023
    To be honest, there's not much to it! It's a single-file add-on for the shelf package with about 100 lines of code, and the comment for the ProxyHandler class at the top sums up the shelf-proxy package pretty well:
  • Is a Quick Start Guide helpful for beginners?
    1 project | /r/dartlang | 5 Mar 2023
    The Dart Language Tour has all of this basic stuff but better, and when you're done, look at the shelf package on pub.dev if you want to get started on creating a server.
  • Dart in backend??
    2 projects | /r/dartlang | 1 Dec 2022
    These are the best backend frameworks for Dart right now but you can use the shelf package if you want a slightly different approach
  • Serverside Dart
    5 projects | dev.to | 17 Nov 2022
    In this blog, I will talk about the benchmarks of Flask (Python), Express (JavaScript), Shelf (Dart), dart_frog (Dart) and Conduit (Dart), and my opinions on Dart on the server side.
  • How to store cookies in server using shelf_router?
    1 project | /r/dartlang | 8 Oct 2022
    Thats all what I found - https://github.com/dart-lang/shelf/issues/29 Looks like this is the most recent updated package, not very well know, which can handle cookies - https://pub.dev/packages/shelf\_secure\_cookie
  • Server-side Dart
    4 projects | dev.to | 3 Oct 2022
    There was a time, I want to start a new project and have to choose what technologies to use for the frontend and backend parts as well. Research gets me to Aqueduct and Shelf, both of them weren't looking actively developing and supported and that leads me to the idea to make my own small micro-framework like Echo for Golang or Bottle for Python. And it was easy to decide: I've had time and motivation :)
  • Dart Frog
    6 projects | dev.to | 10 Sep 2022
    Dart Frog 🐸 es un framework web construido sobre Shelf inspirado por Next.JS, Remix y Express.
  • I want to learn Backends with Dart - where should I start?
    1 project | /r/u_Brave_Reaction_1224 | 26 Jul 2022
    shelf
  • Are you using monorepos?
    9 projects | /r/FlutterDev | 1 Jun 2022
    We are't using one of the frameworks for Dart on the backend (Conduit, Dart Frog) and instead built on top of shelf for both the projects we've used Dart on the backend for - one we went for a gRPC approach and the implemented a REST API.

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 2024-02-23.
  • Go + Hypermedia - A Learning Journey (Part 1)
    6 projects | dev.to | 23 Feb 2024
    Echo - web framework for Go
  • Error handling in Go web apps shouldn't be so awkward
    1 project | dev.to | 10 Jan 2024
    The three behaviors I've described that we want all depend on two things, the first of which is "idiomatic error handling". We need to be able to simply return err in our handlers. Unfortunately, the standard libray doesn't give us this. But some third-party frameworks do. The most popular one I'm familiar with is labstack echo, whose HandlerFunc looks like this:
  • Creating a Dockerfile for your Go Backend
    1 project | dev.to | 12 Sep 2023
    In this tutorial, I will be using the Echo framework to build the backend. You can learn more about Echo here.
  • Microservices in Go Lang with Postgres (Local, Docker to Render Public hosting)
    3 projects | dev.to | 29 Aug 2023
    ____ __ / __/___/ / ___ / _// __/ _ \/ _ \ /___/\__/_//_/\___/ v4.11.1 High performance, minimalist Go web framework https://echo.labstack.com ____________________________________O/_______ O\ ⇨ http server started on [::]:8080
  • go-ecommerce-microservices: A practical e-commerce microservices, built with cqrs, event sourcing, vertical slice architecture, event-driven architecture.
    8 projects | /r/golang | 26 Aug 2023
    Some of the features: - ✅ Using Vertical Slice Architecture as a high level architecture - ✅ Using Event Driven Architecture on top of RabbitMQ Message Broker with a custom [Event Bus](pkg/messaging/bus/) - ✅ Using Event Sourcing in Audit Based services like [Orders Service](services/orders/) - ✅ Using CQRS Pattern and Mediator Patternon top of Go-MediatR library - ✅ Using Dependency Injection and Inversion of Controlon top of uber-go/fx library - ✅ Using RESTFul api with Echo framework and using swagger with swaggo/swag library - ✅ Using Postgres and EventStoreDB to write databases with fully supports transactions(ACID) - ✅ Using MongoDB and Elastic Search for read databases (NOSQL) - ✅ Using OpenTelemetry for collection Distributed Tracing with using Jaeger and Zipkin - ✅ Using OpenTelemetry for collection Metrics with using Prometheus and Grafana - ✅ Using Unit Test for testing small units with mocking dependent classes and using Mockery for mocking dependencies - ✅ Using End2End Test and Integration Test for testing features with all of their real dependeinces using docker containers (cleanup tests) and testcontainers-go library
  • go for web backend
    4 projects | /r/golang | 8 Jul 2023
    If you come from NodeJS background, you may find Echo (https://echo.labstack.com) most similar to express.
  • What is the current ideal choice for server-side rendered web frameworks?
    13 projects | /r/golang | 8 Jun 2023
  • [OpenSource] I am building high performance Plex alternative in Go for Movies and TV Show
    8 projects | /r/golang | 2 Jun 2023
    Can I try to rewrite it using the following? I'll just hand you the code I don't care about credit, I just enjoy cleaning things up. - https://github.com/spf13/cobra - https://echo.labstack.com/ - SQLite - and not a bunch of if statements
  • Could I get a code review?
    11 projects | /r/golang | 1 Jun 2023
    Use a library for HTTP serving, such as Gin, Chi, or Echo. I personally use Chi, as it's just the right level of abstraction for how I like to work. Despite what others say here, don't try to re-implement everything in a modern serving library using the standard library.
  • It's so easy to learn
    4 projects | /r/ProgrammerHumor | 23 May 2023
    Here I'm not really sure what you're referring to: * You can set request timeout and it has nothing to do with whether you handled your error or not. * In most cases you either bubble it up the callstack or do something with error in place you o received it i.e. you switch to default value, retry or sth along those lines. In some cases frameworks like echo will translate error into 5XX response for you if you don't do anything with it in top level handler. * Panics are recoverable. Also in case your handler panics it won't crash entire server -> stdlib HTTP server just closes connection, frameworks might even provide panic handler which will return 5XX instead of nothing. * try/catch doesn't really solve anything I mentioned here ¯_(ツ)_/¯. You just hope somebody caught your exception somewhere else.

What are some alternatives?

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

aqueduct - Dart HTTP server framework for building REST APIs. Includes PostgreSQL ORM and OAuth2 provider.

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.

jaguar - Jaguar, a server framework built for speed, simplicity and extensible. ORM, Session, Authentication & Authorization, OAuth

Fiber - ⚡️ Express inspired web framework written in Go

dart-express - Express-like HTTP framework written in Dart

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

conduit - Dart HTTP server framework for building REST APIs. Includes PostgreSQL ORM and OAuth2 provider.

chi - lightweight, idiomatic and composable router for building Go HTTP services

functions-framework-dart - FaaS (Function as a service) framework for writing portable Dart functions

Iris - The fastest HTTP/2 Go Web Framework. New, modern and easy to learn. Fast development with Code you control. Unbeatable cost-performance ratio :rocket:

shelf_plus

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