The Shiny Web framework for R has come to Python, with an alpha version available now at shiny.rstudio.com/py, Posit (formerly RStudio) CTO Joe Cheng announced at RStudio Conference.
Posit is the new corporate name RStudio announced to open the conference. Cheng stressed repeatedly during his presentation that the framework is still in very early stages. In other words: Don't plan on using it in the short term for mission-critical apps in production.
RStudio typically likes to soft launch its products and have early adopters give feedback before doing a public unveiling, but this project was conducted in secret until today's conference.
Shiny for Python joins frameworks such as Dash and Streamlit in the Python space. Why another framework? While not going into detail, Cheng said he believes each framework makes different tradeoffs and they can co-exist depending on user needs. "We think there's room for something new in the Python world," he said.
Before revealing the new framework, Cheng talked about the history of Shiny for R, which was made public 10 years ago in July 2012. At that time, R was considered by many to be a niche language for statistics and not appropriate for broader uses.
However, Cheng said there's one interesting quirk of R that makes it ideal for a Web framework: Unlike almost any other modern programming language, R allows named arguments to be placed before positional ones within a function.
"R is the best language for Shiny. I will die on this hill," Cheng said.
However, he later quoted Dan Callahan's PyCon 2018 keynote: "Python is the second-best language for anything, that is an amazing aspiration." Cheng believes Python will be an excellent platform for the framework as well.
In addition to the ability to deploy Shiny for Python on many of the same platforms as Shiny for R, such as shinyapps.io and RStudio server, a Shiny Python app can also be deployed to a static Web server thanks to Wasm (WebAssembly). That's not possible for Shiny R apps today. When asked if that's on the road map for Shiny in R, Cheng responded: "We sure hope so."
There is a scheduled 20-minute talk tomorrow (Thursday, July 28) at 11:30 am EDT by Winston Chang that will be live streamed on Running Shiny Without a Server.