At FRISS we’ve been developing Shiny applications since the inception of Shiny itself. Over the last 5 years we’ve created a wide diversity of Shiny apps that combined use almost all of the available features in the Shiny ecosystem, ranging from stock Shiny components to modules, R6 classes, HTMLTemplates, HTMLWidgets, custom message handling and input bindings.

This overview talk shows our lessons learned over these years. To enlighten others we’ll showcase various applications that show what the Shiny framework is capable of when combined with modern web building skills. Furthermore, we show how Shiny apps can become even more powerful when they’re backed by powerful NoSQL back ends like MongoDB, Neo4j and ElasticSearch. In such cases, balancing the use of reactivity, with R6 classes and modules is especially useful. Finally, we provide insight into how large Shiny apps with many moving parts can be deployed to production servers with tools like Docker, Octopus and Consul.

Even though Shiny is often advertised as ‘no HTML, CSS or JavaScript knowledge required’, we believe that those who invest in creating a solid understanding of the former concepts can create apps which expressive power is difficult to match when combined with the already existing Shiny ecosystem.

Starting such an endeavour, however, can be intimidating. In order to help others, we’ve developed an extensive set of tutorials which show newbies how HTML, CSS and JavaScript can be used to extend Shiny. In the series we carefully explain how a complete interactive Shiny dashboard application can be constructed, including the development of various custom HTMLWidgets and modules.

View Slides

Tags: shiny

Subscribe to more inspiring open-source data science content.

We love to celebrate and help people do great data science. By subscribing, you'll get alerted whenever we publish something new.