In the past year I’ve come to understand a lot about Bubble, but there are some real mysteries that I haven’t resolved by studying the manual or reference.
For instance, what runs on the server and what runs on the client? Some of this is obvious. Some is not.
Obviously, an API workflow, by its definition, runs on the server. There seem to be other things that run partially on the client and partially on the server, such as Create a new thing or Make changes to a thing, or am I totally confused about that?
Seemingly, for Create and Make changes, something must run on the server in order to affect the database. And seemingly, something must run on the client because there seems to be a synchronous connection between the client and server. I suggest this because otherwise how would it be possible to refer to “Result of step x” in a step following the Create or Make changes action.
Some of this is stated or hinted in the docs, but is there an organized chart of what actions are server-side vs. client-side, and what actions do a little of both?
I think that most things happen server-side. I think client side things are “custom states.” They don’t get processed server side till you tell them to do so.
Someone else can chime in to see if my theory is correct.
I agree that client vs server would be great to have more visibility in the documentation.
There is a small version of the database running on the client, think of it like a cache. It is updated by the client, so updates look fast, then refreshed from the server, which might include updates from other users, or rollback operations that the server didn’t allow or process.
Interesting. It doesn’t always seem to be fast. Sometimes yes, sometimes no. I do see latent updates on the client reflecting server activity. Still trying to wrap my head around all of this.