Hi @snakers41
I’m the developer of awesome-streamlit.org. So thanks for your feedback above 
I’ve am experimenting with both Streamlit and Voila because I can just see the potential of lowering the friction for creating (analytics) apps in Python.
There are a few comparison apps in the Gallery at awesome-streamlit.org. And I’m also trying to do a more general comparison here https://github.com/MarcSkovMadsen/awesome-analytics-apps.
For me the differences are really about the detail. Currently the main points are
- A hello world example is much, much easier to create with Streamlit for somebody new to Python. It’s just one package to install and a simple .py file. So it’s much easier to teach inexperienced pythonistas/ data scientists how to create simple apps. There is a huge untapped potential there.
- Streamlit comes with a working layout/ style out of the box. Voila does not. This is really important for development speed. For this reason alone I prefer Streamlit. As soon as advanced HTML and CSS knowledge is required, then from my experience I end up using a lot of time there. And I should not.
- Streamlit starts up faster than Voila. Because Voila needs to start a new Kernel per user. I’m in doubt whether Voila can scale to many users because of this “one kernel per user”
- Both Streamlit and Voila can provide a develop and test in your editor and not notebook experiense. For Streamlit it’s out of the box. For Voila you can set it up like that by having a simple notebook where you import and run your app.py file.
- Voila has a huge unlocked potential wrt. widgets and layouts. Everything is there. And it’s fast and performent. But nobody has put it together yet. So it takes a lot of time to put together. And the api is cumbersome because it really developed from many different packages that have been added “on top” of exising functionality over a long period of time. And you have to really spend time on Google in order to put things together.
- With Voila you can develop really advanced stuff using callbacks and jslinks. And it’s really fast. Maybe because you only run small pieces of code for each “call”.
- Deployment of Streamlit is simpler because it does not have a lot of dependencies. As far as I understand nobody has really described how to deploy voila apps yet. And I have a feeling it includes setting up a jupyter hub server which seems complex to me.
- With Voila you can serve a folder of apps. With Streamlit you cannot serve a folder of apps directly. You can serve one app.py file and then you have to select the app from a st.selectbox or st.radiobutton that you provide.
- Voila is a part of the Jupyter ecosystem with many users and contributors. That could be a huge advantage.
If Streamlit could provide something similar to the the ipywidgets including Layout and extensions like the qgrid and with the ability to setup callbacks it could be a game changer for me.
If Voila could simplify the startup time, api, layout and deployment story then it would be a game changer for me.
And then theres also Bokeh, Panel, Dash, Flask and Django to consider depending on your use case.
But Streamlit is by far the easiest to get started with and the fastest to get production with. It’s a huge advantage.
If you (yes you
) believe I’m wrong, then maybe it’s because i’m wrong. Please challenge or enlighten me. Thanks.