I have been looking at this a lot recently and here are some of my thoughts. I mostly work in Python doing data things, and I wanted an easy way to orchestrate some of my workflows. So I decided to build a UI. First, what is the landscape. If you are in the Python world, probably the most popular frameworks are
1. Streamlit
2. Dash
3. Panel<p>I started with Streamlit. And it is really quick and easy to get started. And that is why I think it is very popular as well. But then you immediately start hitting walls. The whole page refreshes everytime, so you put just one element in there. Query parameters are experimental. And so on. So, it quickly became clear that unless I am trying to do very simple things this not going to be useful.<p>Then I went over to Dash. The initial learning curve was a little steep and there is a lot of boiler plate. But Dash is much more powerful. I can get much more done than Streamlit. However, Dash is maddeningly hard to debug. It runs React and Flask in the background, and you can step through your Python code, but the UI elements show up as API calls and this is completely opaque. Don't get me wrong, its way better than Streamlit, but I want to better understand what is happening and I can't do that.<p>At this point I am starting to think whether I should try out Panel, or just use React + Flask, because I know it can do a lot more.<p>On another note, maybe we as a community can decide what such a solution would look like, lay out requirements. Maybe someone here will actually build it!