Looking for Alternatives to Streamlit – Any Recommendations?

0
4
Asked By CuriousCoder88 On

I'm currently building an app using Streamlit, which I picked because I have no front-end experience and it helped me get started quickly. One of the main reasons I chose Streamlit is its ability to deploy to both web and desktop from the same codebase, which is important for my project. However, I'm running into challenges with some elements needing to update based on user actions in different expanders. I can only use the `st.rerun()` function, but that causes previously displayed error messages to disappear, which complicates things. I know I can use `st.session_state` to manage this, but it feels overly complex. Because of these limitations, I'm considering moving away from Streamlit and I'm looking for alternative frameworks. Here are my criteria:

1. It should allow for layout control and refreshing specific elements on demand.
2. Support for both web and desktop deployments from a single codebase, with bonus points for mobile support.
3. A Python API is essential, though I'm open to learning a new language if it's a quick learning curve.
4. It should be reasonably mature; I started using Streamlit a while ago, and I want something that feels stable and reliable.
5. Ideally, I'd love to hear about something you have personal experience with.

I'm looking into a few options like Flet, NiceGUI, and Reflex. If anyone has thoughts or suggestions on alternatives that meet these needs, I'd really appreciate your input! Thanks!

6 Answers

Answered By DesignGuru On

If you want ultimate control over your app's UX, consider building a standard website with responsive design. Using HTML, CSS, and JavaScript can give you a lot more flexibility. Frameworks like Tailwind CSS or Bootstrap can help, plus you can use something like Django for the backend if you need a full-stack approach.

WebDevFan01 -

That's a solid approach! I've been enjoying using Next.js with FastAPI lately for similar reasons, especially with the LLMs excelling in that realm.

CodeWiz -

Totally agree! You can create much more customized user experiences that way.

Answered By NiceGuy On

NiceGUI could be a good fit! It simplifies a lot of the logic that Streamlit complicates, especially with reruns.

Answered By DashDeveloper On

Dash is a strong choice for your requirements. It effectively manages callbacks and updates, which is what you’re looking for. While I primarily focused on web deployments, it’s compatible with mobile interfaces too, thanks to the CSS framework you can choose.

Answered By CasualDev On

I’ve heard that NiceGUI avoids some of the frustrating rerun logic that you find with Streamlit. Might be worth looking into!

Answered By FletFan42 On

I have experience with Flet since late 2023, and I switched from Streamlit because it wasn't meeting my needs anymore. Flet has been great for creating both desktop and web apps. The setup just integrates smoothly within a FastAPI app, and it allows for event-driven updates without reloading the whole page. It sounds like it could fit your criteria well!

AppExplorer -

Sounds promising! Thanks for sharing your experience. I’m looking to check it out!

Answered By DataDashPro On

I've been using Plotly Dash for quite a while, and it works great for web and desktop apps. It handles partial updates much better than Streamlit, which could solve your issue with elements updating independently. You can easily customize the look with Bootstrap components, and it scales well for mobile. Plus, working with Dash helps you gain a better understanding of web app structures.

Related Questions

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.