Original author(s) | Joe Cheng |
---|---|
Developer(s) | RStudio Inc. (and current renamed company Posit, PBC) |
Initial release | November 2012 |
Stable release | 1.7.4.1[1]
|
Written in | R |
Website | shiny |
Shiny is a free and open source R package for developing web applications (apps).[2] It was announced by Joe Cheng, CTO of RStudio, in 2012.[3] One of the uses of Shiny has been in fast prototyping.[4]
A separate implementation Shiny for Python,[5] is already available as alpha software, and while the goal is the same, it uses Python syntax (and semantics) so it's not fully compatible. It's not meant to be a replacement, i.e. both will be developed concurrently and may never have all the features of each other. There is also Shinylive, for the Python version (only, at least for now), that allows running Shiny on the client (i.e. program code does not run on the server, reducing server load to just serving the code itself).[6]
Shiny creates a reactive context wherein the user specifies, through input variables, the circumstances under which computations are re-executed, or graphs (often visualizations) re-rendered; this occurs almost instantaneously. The input variables are evaluated via a user interface which allows the simple creation of widgets such as text boxes, radio buttons, and drop-down lists.[3][7]
There are two main parts to a Shiny file, which may alternatively be stored in two separate files. One is designed to accommodate the user interface, the appearance of which is restricted by the default choices, though can be extended through various other R packages. The other is designed to accommodate the server computations and plot generating code, for which all the built-in facilities of R are available.[3]
Hosting a Shiny app on an RStudio server is free up to certain limits but paid tiers are relatively expensive compared to hosting on other cloud computing platforms.[3][8]