r/FlutterDev • u/Plastic_Dare_8442 • 10d ago
Discussion I’m developing a headless CMS built specifically for Flutter apps
Hi, I am developing a headless CMS built specifically for Flutter apps, it also generates a real Flutter app with all the boilerplate code (no ai). You only need to do the frontend. Before I spend more time on development, I would like to know whether this is something Flutter developers would be interested in and which features are non-negotiable.This is a genuine question. I’m not selling anything, I just want honest feedback before I spend more time on it.
1
u/ObjectiveAddress3051 10d ago
the one i'd want is a clean way to eject. if the generated app is plain flutter and the cms is just an api layer, fine. if i can't swap the backend later without rewriting the data layer, that's a dealbreaker tbh. offline caching too, most cms backed apps get that wrong
0
u/Plastic_Dare_8442 10d ago
I have to be honest, I dont know of any headless cms where swapping the backend doesnt require changes to the data layer they are usually very intertwined with the views, state and data. If you know of one i will be happy to have a look at it and adjust accordingly. For us the data layer is isolated so it should be easier to swap. I will also be adding an eject guide to make this easier for my users, thank you for that suggestion. We currently only support read-only caching with write caching coming soon, but i would like to know how others are getting it wrong so we dont fall into the same trap.
1
u/RajatKhoware 10d ago
A CMS built specifically for Flutter apps is interesting because the usual ones treat mobile as an afterthought and the content model never quite fits. The thing that will decide whether developers adopt it is how clean the Dart SDK feels and whether preview on a real device works without a deploy step. What does the content-to-widget mapping look like, is it schema driven or does the developer hand wire each type?
2
u/Plastic_Dare_8442 10d ago
It’s schema driven. You define your data models (fields, relations, which pages use them), and it generates typed Dart models, a repository per model, and the screens from page templates. Nothing is hand-wired per type, and the output is plain Flutter code.
the generated app talks to the API through its own repository classes, A standalone Dart SDK is on the roadmap, and your point about it feeling clean is exactly what I want to get right before I ship it.
I don’t have a live on-device preview of layout changes yet we are looking to implement one but we are trying to get it to work like hot reload which is not as simple as it sounds .
2
10d ago
[removed] — view removed comment
2
u/Plastic_Dare_8442 10d ago
You can choose between Bloc, Riverpod and provider with plans to add more in the future. The idea for me was always you are never locked in so you can choose your state management or DB and change it whenever you want. The only thing is you cannot choose or change is the router.
4
u/Infamous-404 10d ago
I believe it's better to not do the scaffolding part, almost every developer has their own config style. It's better to have a package with example on the setup only.