I am currently creating an interface dynamically using renderUI. The resulting interface is quite large and contains many widgets (dynamically generated depending on other widgets) that also have additional effects on the interface itself.
Now, the problem is that every time a widget is interacted with, shiny re-renders the whole renderUi and recreates the whole interface. I inquired the websocket and the traffic is around 30k of html every time a widget is manipulated, which is not very nice. Additionally, it appears that what the client side of shiny does is to remove the old tree and replace it with the new html chunk. Chrome seems not to have too many difficulties with it, but for example Edge thinks that the page is shorter for a brief moment and scrolls back to the top.
Is there a better way to generate an interface that is fully dynamic without these issues?