Streamlit is the most popular pure python web application. But it is far from the best.
Streamlit makes simple things easy and it is easy to get hooked on because you didn’t have to leave your warm fuzzy Python world. The point of this post is to record all the various issues that exist with Streamlit.
it recalculates everything anytime you change a control instead of listening to an event like on_click.
this user started seeking a Streamlit alternative when he encountered this problem.
His sentiments were echoed by another user elsewhere..
NiceGUI saw serious issues and built on top of JustPy
NiceGUI had these reasons for passing on Streamlit.
There is way more
I’ve been seeing the agony of people who started in Streamlit and had make a run for it when they tried to scale up to being a full-fledged web app.
This post is coming out after months of noticing these problems, with the intent of encouraging people to seek a more complete and robust approach to pure Python web applications.
Dash has similar limitations.. but may be less limited?
Honestly I tried streamlit and Dash both, made small prototype to see which I wanna go with. I liked dash more because it is customisable in a lot more frontend dev way. Like it provides its api for html components. You can use your own classes, id for css. I found it closer to React, Vue frameworks compared to Streamlit.
Also designing the pages the way you want it to be felt bit difficult and gimmicky in streamlit. Also navigating pages would also cause the app to become a bit slower. Nothing against streamlit, it’s actually faster to build dashboards but felt limited.Toko_yami