Here’s the story, I’m open to suggestions:
I have a bubble app and i want to build a native mobile app (no i don’t want a wrapped web app, please don’t suggest that).
I’m using Draftbit for the front end but using bubble itself as the backend where bubble isn’t the frontend is a nightmare. This is probably an issue with every app but let’s say you have a social network with users, posts, likes, bookmarks, follows, etc.
A user data type looks like this:
And a Post data type looks like this:
Every object that is a List of X (posts, users, bookmarks, notifications) from the outside is a list of strings/ids.
If i want to query a user and display all of the posts that user would see, i pull the user data, and now i have to run a query for every single user id in their “following” list, and then a call for every single “post id” each of those users have in their List of posts, and then a query for every single User and Post IDs in each posts “Boosted By” and “Hearted By” and on and on it goes.
This is a massive, insane and recursive web of API calls. It is inefficient and complex. Bubble of course has it’s on built it way where it abstracts all of this because bubble can automatically “translate” each user ID to it’s subcomponents and just display the username ec, but from the outside all you have is a user id, it doesn’t give you the user name and all it’s details. It’s a sort of internal GraphQL type of system that isn’t offered to the outside.
It does have Backend workflows that lets you do some internal filtering like getting a list of all posts for a user and return it as a JSON but it can only do one layer deep and backend workflows API is also more limited than the main API for responses, so that doesn’t really solve the problem.
Xano has its own GraphQL type of data queries where you can make one call and behind the scenes it finds and fills in all the subcomponents you need and returns the actual data and instead of id numbers that will require more api calls, so with a single call i can return a data tree with all of the data i need and it does it really fast.
And here is the challenge. If i use Xano as the backend, now i have to use bubble less in the way it was intended and I have to make the same API calls from bubble to xano that i do from draftbit to Xano. And i lose most the ease of use of the natural language constructors in bubble when adding/editing it’s internal database.
So i was wondering if it still somehow makes sense to keep bubble’s database as is, and find an easy way also offload it to xano for drafbit’s sake, or is that more of a mess. And if it does indeed make more sense to just use Xano as the backend, what does that look like in bubble. Do i now how to make all those elaborate calls when writing data and I didn’t save any complexity?
To sum up, if i want to use bubble for the web app, and drafbit for the native app, what would be the simplest solution here?