Skip to main content

Backend Development with Dart

One of the main objectives when we chose this technology was to be able to unify the development in a single source code of the entire front end of the application, all in a single repository. As Frodo would say, one ring to rule them all.

Backend development in Dart for Flutter projects

We are in a very interesting moment because the solutions to develop also the backend part in Dart have increased considerably this last season. That's why I'm here to show you a summary of the tools currently available, if you want me to go deeper into any of them, let me know in the comments. Let's get to it:

Shelf

Shelf stands out for its minimalist and composable design, flexible routing capabilities and testing utilities.
shelf flutter package on pub.dev with the readme of this package for backend development in flutter project.

Dart Frog 

Dart Frog is maintained and developed by Very Good Ventures. It is characterised by being minimalistic and fast. It has many routing capabilities, from file system routing, index routing and dynamic routing. Last August 2nd they released their first major version 1.0. introducing a lot of improvements such as:
  • Environment management.
  • Extension for VS Code.
  • Authentication (dart_frog_auth).
  • Dart Frog daemon (this lays the foundation for new and powerful tools to come in the future).
  • ....
I leave you the complete note of changes in case you want to read it in detail.

flutter code implementing a simple request in dartfrog.dev

Serverpod

Serverpod is an advanced backend with a lot of tools. It automatically generates your protocol and client-side code by parsing your server. 


An astronaut dog with a girl as logo of serverpod

  • Calling a remote endpoint is as easy as making a local method call. 
  • Revolutionary ORM
  • World-class logging
  • Built-in caching
  • Upload Files straight to S3 or Google cloud with ease.
  • Sign in through social logins or wing your own.
  • Pass serialized objects through authenticated web sockets easly.
  • Serverpod's future calls replace complicated cron jobs.
  • Quickly deploy your Serverpods with Docker containers.
  • Monitor the database & external services that you are using.

Yes, as I said, Serverpod comes with a companion app that lets you monitor and interact with your server in real time.



network monitoring tool created by serverpod to facilitate the development of network requests in flutter.
There are other tools such as alfred or serveme that given the dominance and popularity that Shelf, Dart Frog and Serverpod do I will limit myself to mention them but I will not go into them in depth (for the moment). 

What do you think? I'll read you in the comments and I'll see you in future posts!

Comments

© 2020 Mobile Dev Hub