So, I was having issues with the editor crashing a lot in late 2020 and early 2021. I was attempting to build an app dashboard page. As I was building I noticed my larger pages always crashed and made editor sluggish, then noticed when in smaller pages or reusable elements it didn’t crash. So I began using reusable elements in such a way as to build as much of an entire feature set as possible into a reusable, and then place them onto the page.
After doing that my editor never crashed again when working on the dashboard page as it was now mostly reusable elements. In one of our monthly meetings for Bubble Bootcamp instructors, a lot of instructors were discussing the issue of editor crashing and I explained what I found and was doing. This eventually found its way into a sort of ‘best practices’ approach.
So, it is not about there being benefits of rendering time (that is for the app client side user facing), it was more or less just about ensuring your editor doesn’t crash when building and the modularity aspect of it is only relevant when actually re-using the reusable or needing to work on a specific feature set that is it’s own reusable element. Because of that, it is best when building a reusable to make it of type group and not popup or floating group, because you can place a reusable into a popup or floating group so long as it is of type group, but you can not put a reusable that is of type popup into a popup on the page or a floating group. Building reusable elements like that is for modularity as you can use it as a group, as a popup or a floating group.
And if a reusable is used for a button, it is likely counter to modularity as it just makes it too difficult to track down all elements for that specific feature. If a button needs to be a reusable for use of properties to make all sorts of changes to all sorts of different things, it is likely just a mistake of attempting to ‘over engineer’ in bubble.
For user facing client side rendering this is true. Doesn’t matter if elements are in a RE or on page directly.
That middle is wrong, the reusable approach was not originating from a need for modularity, it was to stop the editor from crashing. The appropriate approach is that for a page, that is lightweight, like a profile page of a home listing, car listing or personal listing, you do not need any reusables because you likely will not have the editor crashing, and not needing the same types of elements to be reused, except perhaps the Reviews section, which should be a reusable on it’s own if it is to be reused in other parts of the app. And for heavy pages, like a dashboard or Single Page Application, you use groups to hold the reusables, so that when you build the editor doesn’t crash, and modularity for the sense of being able to focus on the specific feature set needing to be focused on.