Shiny Apps
Shiny apps are cool, but they can get complicated, and frustrating to debug. Complicated apps–longer than 500 lines of code–can have subtle paradoxes caused by reactive elements. It is helpful to think carefully about how to modularize apps, much as we do with functions, so that we can debug piece by piece.
R language apps developed with collaborators by Brian Yandell using the Shiny package illustrate in various ways an evoling design over time, which made the apps easier to use, understand and debug. These repos include some lessons learned that hopefully will help others as they design and evolve apps for this project. For those interested in comparing shiny apps built in R vs. python, there is a useful development in the Shiny Geyser App repo.
The best reference for building shiny apps is Mastering Shiny, with particular attention to Ch 19 on Shiny modules. See also Modularizing Shiny app code. Yandell’s key working repos that inform this document are
Shiny App Overviews
- View Shiny Apps Slides
- geyser: modular concepts and construction
- foundrShiny: pragmatic code reuse driven by collaborators
- qtl2shiny: localized QTL analysis and visualization
Shiny App Examples
- Shiny Geyser App with and without Modules
- Founder Shiny App
- Shiny app for R/qtl2
- Learning about Shiny Modules
- Helper Apps