Is there something else similar, a framework/platform where one (mainly a back-end dev) can build an app using ready UI components?
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.
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.
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.
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!
I also prefer to make API based apps so might not be for everyone. I also like to change up my back-end language/framework for projects so this at least makes the front-end tech a constant.
- ASP.NET Core with Razor Pages for templeting (substitute this for Django/Laravel/RoR to match your preference) - SQLite for DB - TailwindCSS standalone + a UI builder like https://shuffle.dev for the UI (huge bonus if your templating engine supports components) - HTMX to sprinkle AJAX where appropriate - AlpineJS for small DOM manipulation (open/close menus)