Steward vs Shelf vs Dart_Frog vs Serverpod #55
bradcypert
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
A natural question to ask is "How does Steward compare to X" where X is anything in
["shelf", "dart_frog", "serverpod", etc...]
. I wanted to address that question here.Shelf
Shelf is a very lightweight middleware-based library inspired by Rack (from the Ruby world). Shelf provides an abstraction over the standard library's HTTP handlers and allows you to compose a pipeline for processing request via middlewares. Fundamentally, this is all that shelf does, but given the complexities with the standard library's HTTP handlers, it's very helpful to have something like this as without it, developers would have to interface with the standard library's http package directly to create web servers.
Serverpod
Serverpod is very encompassing web framework for Dart. Serverpod has opinions on just about every part of the web development experience and meshes together well if you follow these opinions. Serverpod uses a CLI to help scaffold, manage, and build your application. Serverpod has opinions and modules for things like authentication, caching, and more.
Dart Frog
Dart frog is the closest framework to Steward's goals (enough that I had to seriously consider if Steward was worth building or if I should just start using/recommending Dart frog). Dart Frog is a lightweight web framework built ontop of Shelf. Dart Frog as some opinions on how certain things should be done, but also supports freedom-of-choice in many areas. This freedom is something that Steward respects tremendously. Dart Frog, similarly to Serverpod, also uses a CLI to scaffold, manage, and build your application.
Steward
Ultimately, the goal for Steward is discussed in #49 and I won't go into that too much here. However, I will say the key things that set us apart from other frameworks are as follows:
Steward ultimately wants to fit in a place similarly to Dart Frog, but with some key differences. We dont like the idea of everything being built on top of shelf and feel that competition at this layer will help us all build better, faster, web abstractions.
Beta Was this translation helpful? Give feedback.
All reactions