Considering to not use Bubble anymore

I’ve reached a point in my app development where I feel that Bubble is not enough.
For example the inability to natively make a loop, the inability to create complicated constraints when making a search, the unclear order of execution of tasks in the workflows, the constant bugs in the editor…
I am seriously thinking (and taking steps) to migrate my application to… real code.

5 Likes

Hey Hoke -

Curious what requirements you are looking for when looping as well as the advanced constraints? I have had some of the same concerns but have been able to work through them fairly easily, so just would like to hear where you’re at.

Looking at other options will never bring any harm if you have the time to do so properly. Bubble has been having some real issues lately, and there is a substantial amount of disillusionment floating around the Bubble ecosystem.
However, despite the problems lets not forget how much more quickly you can build apps with Bubble than with traditional code. Credit where credit is due, Bubble increases productivity by orders of magnitude. I have experience in coding and I can absolutely vouch for how much quicker Bubble truly is.

Traditional coding has some real benefits and advantages when compared to lowcode tools ofcourse, but it comes with substantial drawbacks and responsabilities (Bubble takes care of alot for you)
I would recommend checking out some other nocode/lowcode alternatives to Bubble before looking at code. Jumping from Bubble to traditional code is a real leap.

Its true that all the things you mentioned should be easier, but they can all be worked around (except for bugs in the editor :sweat_smile:)

2 Likes

You should learn how to use Javascript to bubble, how to consolidate different types of data through the API connector and expressions.

1 Like

Yes but these are patchwork solutions. I don’t think JavaScript to bubble should be used in production applications with lots of users

2 Likes

Why not? What do you think is happening behind the scenes in bubble?

2 Likes

This is the key. All the complaining and problems people talk about here are valid - however, Bubble is still nuts faster to build and iterate on than other solutions.

Bubble is getting better and better. I’m frustrated by the same problems as the OP - but it keeps drawing me back due to the crazy dev speed.

Plus the community here is awesome.

2 Likes

Behind the scenes, bubble creates code which becomes the platform. Javascript to bubble has in my experience been unreliable. In a production app, you should create a custom plugin and not use javascript to bubble. It will be more reliable and in theory perform better

1 Like

What issues have you run into? We use J2B from Toolbox in a lot of different ways on an enterprise app and haven’t noticed any issues at all. We also use custom plugins when the “lift” is too heavy to do without a plugin.

Just curious what issues you’ve run into that blocked you in the past.

2 Likes

Mostly issues with inconsistent timings, because using J2B you can’t control the timing of accessibility of data or elements on the page. Building a plugin, you know that everything is loaded and ready by the time your update code is running (properties are ready and to wait for elements, you can stick a mutation observer script in the initialize function). These things are finicky and have caused me lots of issues using J2B, also there were updates that broke my code as well.

1 Like

This is pretty well documented in manual:

There’s also some post about that.
Which bugs in editor are you facing?
You can make loop. But I agree it could (and should) be easier. Mostly in a nocode world.

2 Likes

I have the same advice for you. “You should learn how to use Javascript to bubble, how to consolidate different types of data through the API connector and expressions.” and understand how to use conditionals.

I will never advice a newbie user to jump to create a plugin when he doesn’t even know the basics. Also, plugins have their niche integrating libraries and other stuff, certainly not for pure data handling

Well, for example I have a workflow that contains 3 custom workflows:

custom workflow 1: calls custom workflow 4. Custom workflow 1 returns a true/false response.
custom workflow 2: gets executed when workflow 1 returns true and another condition is true (which is not important now)
custom workflow 3: gets executed when workflow 1 returns true and another condition is true (which is not important now)

custom workflow 4: returns true when a condition is true (which is not important now)

Both custom workflow 2 and 3 modify a thing in the database.

What I am experiencing is that the things get modified instantly regardless (when they should wait for response i) for custom workflow 1 response ii) for it to be true!).
When I run the main workflow step by step (or in slow mode), and I get to the last custom workflows I see that the conditions should not be triggered (therefore no changes in the database should have been made) but still.
This is unacceptable.

Most of the times I don’t even bother to open a bug report because they are too slow to respond (indeed for this specific case, I have opened a bug report like 5 days ago and it’s still pending).

You have much more control when coding. Still, as @nico.dicagno pointed out, credit where due, development on Bubble is fast

Hello @hoke , Thanks for explaining your issue with the order of execution when it comes to workflows and what you mentioned is correct since in Bubble Step 1 in any workflow will be triggered before Step 2 BUT Step 2 will never wait for Step 1 to finish !
Having said that, in order to guarantee the order of execution (since it’s 100% controlled by Bubble itself not by the developer in workflows), I would recommend that you try any of the following to guarantee the order of execution as you want:
1 - Using “Result of Step 1” guarantees that Step 2 won’t execute before Step 1 is finished as it’s dependant on its result.
2 - Try “Custom Events” instead of “Workflows” since the order of execution is respected in “Custom Events” so that could be another way to guarantee your steps order of execution .

Please watch this 3 minutes video to better understand the order of execution:

I understand how frustrating this could be as I had the same problem months ago and took me some time to figure out how to solve it.

Hope this helps !

3 Likes

Update: I migrated to code.

It wasn’t even that difficult to be honest. One month and I had an app ready for production. Once you code a real web application you understand the limitations of Bubble (for example, a really simple thing: in Bubble you can’t have a field in the database that contains an object!!!) and you can’t never go back.

Thanks for everything

2 Likes

?

Bubble has very little limitations in my experience.

However, I’m glad you have found a solution that works for you.