The 'Golden Rules' of Software Engineering in Bubble

I just wanted to follow up on this thread as I noticed that bubble did add a warning in their docs to not nest reusables due to significant issues with site performance.

2 Likes

How interesting - good spot that they’ve changed it. I’ve never noticed any issues with it. I have SPAs with tons of nested REs (often 10 layers deep) and have never noticed any issues whatsoever. I think that even if it did slow down performance a few percent, the development speed and maintainability advantage is so insane that it significantly outweighs it…

2 Likes

That warning is likely there as many are not doing it correctly and are probably overloading data.

1 Like

Hi, could you change category of this post to “Tips”? It’s easier to find it later

whats the source for this? I dont seee nested warning in the docs today.

I just got an email from bubble support:

nested reusables that are visible on page load are known to slow down apps dramatically. So this may be the crux of the problem here, which we apologize for

It was in the Bubble docs. I saw that they took it out recently. I also think it is important to note the “on page load” part of their email. If you keep the reusables hidden on page load then you can hopefully control the performance better. The nested reusable is something that I constantly battle with the good and bad.

Thanks @bhage ! So you think I should count nested levels of RE only on each page load?

example: I have 5 layers deep of nested RE.

  • User clicks element and only 2 nested RE layers are loaded

  • user clicks further and 2 more nested RE layers are loaded.

  • user click futher and one RE is loaded.

In this case, I’m only at risk for loading 2 layers of nested RE.

Thats a good thought!! If that’s what you meant I will get more info from support and report back.

You should also check out this post.. If you have a multi-select drop on that 5th layer of RE, it will still load all 5 layers of nested REs o initial page load…even when hidden.