Appendix A — Glossary of terms

Published

2024-12-20

Alert

The contents for section are being revised. Thank you for your patience.

App-package: An app-package is a package containing a shiny application. App-packages have all of the functionality of a standard R package, but also contain the files and folders required to successfully develop, run, and deploy a Shiny application. See the Shiny and Packages chapters for more information.1

External resource/file: In Shiny app-packages, external files or resources are files used in the application that aren’t part of a standard R package. These can include images (.jpg, .png, etc.), JavaScript files (.js), and CSS or Sass styling (.css, .sass). See the Resources chapter for more information.2

Module: Shiny modules3 are a pair of UI and server functions (linked by a shared id) to create a shared by isolated namespace. Using modules in a shiny application makes it possible to isolate individual components of an application during development. Additionally, since modules are functions, they can be reused throughout the application (and tested using Shiny’s testServer() function). See the Shiny chapter for more information.4

Package: A directory of functions, documentation, and/or data that can be installed and loaded into an R session. R packages include the necessary dependency management (NAMESPACE) and metadata files (DESCRIPTION). In Shiny App-packages, I extend this definition to include having access to the package development tools provided by devtools in the Posit Workbench IDE. See the Packages chapter for more information.5

R Project: Any directory of R executable files with an RStudio/Posit workbench project file (.Rproj). See the Packages chapter for more information.6

Standalone app function: A standalone app function encapsulates the UI and server components of a Shiny app into a single function. App function typically end with a call to shinyApp(ui, server, ...) and are used to launch or deploy the the app after installing or loading the app-package.7

Utility/helper function: A utility or helper function is a non-Shiny function that is used for the business logic (i.e., data processing, manipulation, or other common operations) that supports the main functionalities of the application. See the Shiny and Packages chapters for more information.8


  1. App-packages are covered in Mastering Shiny and Engineering Production-Grade Shiny Apps↩︎

  2. External resources/files are covered in the Shiny documentation and in Engineering Production-Grade Shiny Apps↩︎

  3. Modules are also part of the box package from the rhino framework, but these are different from Shiny modules.↩︎

  4. Shiny modules are covered in the Shiny documentation, Mastering Shiny, and in Engineering Production-Grade Shiny Apps↩︎

  5. Packages are covered in Writing R Extensions and R Packages, 2ed↩︎

  6. Read more about R projects on the Posit website↩︎

  7. Standalone app functions are also covered in Mastering Shiny.↩︎

  8. Utility/helper function are covered in Mastering Shiny and Engineering Production-Grade Shiny Apps↩︎