/async_shiny

Async shiny modules - create scalable applications using modules that don't block the main session. Both cross-session and intra-session

Primary LanguageRMIT LicenseMIT

Async Shiny Module

Project to show the creation of a standard shiny module for plotting and converting it to fully async, basically achieving both cross-session asyncronity and intra-session asyncronity

Content

  • Plotting functions for bar and pie using the fabulous echarts4r package
  • A "simple" shiny module
  • Async shiny module

About

Approach to creating the async shiny apps is described in Engineering Production Grade Shiny Apps book by Colin Fay - thanks Colin! Check out the Asynchronous in {shiny} section that explains the use of reactiveValues use for building shiny apps.

Understanding promises and future is quite useful for working with shiny and making parallel computations in R overall.

Here we build an async shiny module that won't block user session while calculating and can be then used in a scalable shiny web application.

Live Version

App is deployed on shinyapps.io