Frameworks

Published

2025-04-22

The applications in Chapter 19 (shinyapps.io) can be accessed with the launch() or get() functions from the shinypak R package:

# install.packages('pak')
pak::pak('mjfrigaard/shinypak')
library(shinypak)

Chapter 19 applications:

list_apps(regex = '^19')
## # A tibble: 1 × 2
##   branch         last_updated       
##   <chr>          <dttm>             
## 1 19_shinyappsio 2025-03-11 07:30:00

Docker dives into:

The applications in Chapter 20 (Docker) can be accessed with the launch() or get() functions from the shinypak R package:

# install.packages('pak')
pak::pak('mjfrigaard/shinypak')
library(shinypak)

Chapter 20 applications:

list_apps(regex = '^20')
## # A tibble: 1 × 2
##   branch    last_updated       
##   <chr>     <dttm>             
## 1 20_docker 2025-03-11 07:31:20

The GitHub Actions chapter includes three examples of CI/CD workflows:

The applications in Chapter 21 (GitHub Actions) can be accessed with the launch() or get() functions from the shinypak R package:

# install.packages('pak')
pak::pak('mjfrigaard/shinypak')
library(shinypak)

Chapter 21 applications:

list_apps(regex = '^21')
## # A tibble: 3 × 2
##   branch                last_updated       
##   <chr>                 <dttm>             
## 1 21.1_gha-style        2025-03-11 07:32:21
## 2 21.2_gha-shiny-deploy 2025-03-11 07:34:02
## 3 21.3_gha-shiny-docker 2025-03-11 07:35:53

pkgdown describes:

The applications in Chapter 22 (pkgdown) can be accessed with the launch() or get() functions from the shinypak R package:

# install.packages('pak')
pak::pak('mjfrigaard/shinypak')
library(shinypak)

Chapter 22 applications:

list_apps(regex = '^22')
## # A tibble: 1 × 2
##   branch     last_updated       
##   <chr>      <dttm>             
## 1 22_pkgdown 2025-03-13 06:20:26

Shiny frameworks

This section covers three popular Shiny frameworks: golem, leprechaun, and rhino. These frameworks provide structure and modularity and encourage better development practices, but each has its own philosophy, strengths, and ideal use case. See the Shiny Frameworks supplemental website for more information on how each application was created.

golem

The golem chapter creates gap (a golem app-package).

Package Version Title Description
golem 0.5.1.9007 A Framework for Robust Shiny Applications An opinionated framework for building a production-ready 'Shiny' application. This package contains a series of tools for building a robust 'Shiny' application from start to finish.

golem topics

The applications in Chapter 23 (golem) can be accessed with the launch() or get() functions from the shinypak R package:

# install.packages('pak')
pak::pak('mjfrigaard/shinypak')
library(shinypak)

Chapter 23 applications:

list_apps(regex = '^23')
## # A tibble: 1 × 2
##   branch   last_updated       
##   <chr>    <dttm>             
## 1 23_golem 2025-03-25 11:43:13

leprechaun

The leprechaun chapter creates lap (a leprechaun app-package).

Package Version Title Description
leprechaun 1.0.0.9001 Create Simple 'Shiny' Applications as Packages Code generator for robust dependency-free 'Shiny' applications in the form of packages. It includes numerous convenience functions to create modules, include utility functions to create common 'Bootstrap' elements, setup a project from the ground-up, and much more.

leprechaun topics

The applications in Chapter 24 (leprechaun) can be accessed with the launch() or get() functions from the shinypak R package:

# install.packages('pak')
pak::pak('mjfrigaard/shinypak')
library(shinypak)

Chapter 24 applications:

list_apps(regex = '^24')
## # A tibble: 1 × 2
##   branch        last_updated       
##   <chr>         <dttm>             
## 1 24_leprechaun 2025-04-06 22:46:54

rhino

rap is a rhino app (pseudo-package)1

Package Version Title Description
rhino 1.11.0.9000 A Framework for Enterprise Shiny Applications A framework that supports creating and extending enterprise Shiny applications using best practices.

rhino topics

The applications in Chapter 25 (rhino) can be accessed with the launch() or get() functions from the shinypak R package:

# install.packages('pak')
pak::pak('mjfrigaard/shinypak')
library(shinypak)

Chapter 25 applications:

list_apps(regex = '^25')
## # A tibble: 1 × 2
##   branch   last_updated       
##   <chr>    <dttm>             
## 1 25_rhino 2025-04-09 11:52:51

  1. rhino apps aren’t R packages–they’re dependencies are managed with a dependencies.R file and box modules.↩︎