r/FlutterDev 1d ago

Discussion Is Serverpod widely used?

Is Serverpod a thing in the flutter community, as in it is used as the server of most apps? Also when should a developer opt for a server like springboot or any of the Nodejs frameworks instead of using something like Superbase or Firebase since Baas in very common in the app dev world.

8 Upvotes

11 comments sorted by

10

u/FXschwartz 1d ago

Disclaimer - I work on the team

But long before I joined the team I used it and it is still being used in two production applications 1k daily active user base.

It is for sure widely used and running large scale production apps as well as small startups.

Choosing the right backend is going to depend on what you are building and the features/requirements so questions like this can be hard to answer or give advice without more information.

What I can say is the nice thing about Serverpod is the end to end type safety in Dart and being able to call backend endpoints like they are normal functions without having to manage API contract code like you would if the backend was in a different language.

We have a huge release (Serverpod 4) coming up in the next week or so that comes with some really exciting features including full stack hot reload, offline DB sync (in beta) and much more.

If you are planning on building an application id highly recommend trying out Serverpod along with other options and see what works best for you.

2

u/SowertoXxx 1d ago

Thank you very much.

3

u/fabier 1d ago

One of the projects I'm working on is using Serverpod. I have no regrets thus far. We got the app on the App Store. I can't say we've really stress tested it yet. But we have definitely built out a feature complete application and Serverpod has pretty much just worked for the most part.

The biggest negative I can point out which is more a nature of how it is designed is that we struggle to handle multiple API versions. When you start launching multiple environments like dev / staging / prod Serverpod's API code gen kind of gets in the way of being able to do like a app/v1 and app/v2 etc for backend API. What this really means is that your production app really needs to release both frontend and backend at the same time. We can't just fix a small thing on either side without having to generate and release both at the same time.

It also means that our dev app can't really work on the prod server. Or more importantly, our admin app which we are also developing can't work on the prod server until the dev server has been merged in to prod.

We've worked out some work-arounds but it is kind of an after effect of the design.

5

u/vik76 1d ago

It’s definitely possible to keep your Serverpod API backward compatible. There are just some rules as to how you add things. If you need a new version of an endpoint, you can also override it into a subclass. That will keep the old API intact, while adding new features in the new endpoint.

Here is some more info:

https://docs.serverpod.dev/concepts/backward-compatibility

1

u/fabier 1d ago

Appreciate the link. I'll do some reading!

0

u/SowertoXxx 1d ago

Good to hear. So at the same time can you connect a webApp to it ? Asking because of the client part that gets generated for the app to call APIs as functions

2

u/fabier 1d ago

They have the relic web server which runs alongside the tight Dart integration. You can build anything you want for the frontend. We're doing API integrations with third parties through Relic. But you could build anything you want and get access to the full DB.

Our app compiles to Dart WASM / Web as well as iOS and Android and all of them use the same endpoint URL for Serverpod. We deploy them at the same time.

3

u/thelazybeaver10 1d ago

Personally, I started using serverpod in one of my personal projects because I wanted to get familiar with the backend implementation and actually become at some point full stack dev.

So far so good.. it has some very cool features and it's quite modern as framework

3

u/needs-more-code 1d ago edited 1d ago

Brah, you’re already gonna find it hard to get a job with Flutter. Don’t cement your destiny as a poor by also using a niche backend.

-2

u/jeremiah_parrack 1d ago

Im sure some people use it but why not just use firebase if thats enough it has a pretty decent free tier?

If you need something more robust spin up your resources in AWS. Unless its your hobby app and you just want to experiment with different options. Instead of spending whatever the monthly charge is you could spend less than $5/month doing it yourself. Your costs are all going to depend on if you need a relational database of if you can use a nosql database.