GitHub
LinkedIn
Twitter
YouTube
RSS

Advanced concepts in {shiny}

Advanced concepts in {shiny}

Course Level: Advanced (6 hours)

Take your interactive {shiny} skills to the next level by creating more robust, responsive and maintainable applications. In this course, we’ll visit more advanced topics that can be used to improve the experience for both those producing the apps and those using them. Subjects will cover: additional ways to react to and validate user inputs; restructuring your app with modules; and an introduction to testing your {shiny} apps.

Book: Advanced concepts in {shiny}

Start Date:
Price:
Venue Details:
Time:
Duration:

No Events Currently Scheduled

Sorry, there are no upcoming events for this course, but please get in touch if you would like to be kept informed when events are scheduled in the future.

Course Details

Outline

  • Introduction to layouts, inputs and outputs.
  • Create inputs and outputs that react to user input.
  • Utilize advanced Shiny features like dashboards.
  • Introduction to Reactive outputs and expressions.
  • Handling changes to inputs in a computationally efficient manner.
    • actionButton()
    • eventReactive() and observeEvent()
  • File upload and download
  • Introduction to renderUI and conditionalPanel

Learning Outcomes

Session 1:

By the end of session 1, participants will…

  • create robust applications by defining validation rules for user inputs.
  • understand when to use observe() and reactive().
  • use action buttons to control when reactive expressions run.
  • wrap up commonly used code into reusable modules.

Session 2:

By the end of session 2, participants will…

  • structure a complex application into a maintainable fashion.
  • implement a testing framework to ensure the long-term stability of your applications using {shinytest}.
  • be able to dynamically alter elements of the user interface.
  • have a basic understanding of the file upload and download mechanisms.

This course does not include:

  • Creating a Shiny user-interface by writing native HTML code.
  • Styling a Shiny dashboard by writing CSS/Sass code.
  • Performing client-side updates with {shinyjs} or by writing native Javascript.
  • Deploying an application as part of a Docker container.
  • How to install or configure Shiny Server Open Source or Posit Connect.
  • Creating your own HTML widgets using {htmlwidgets}.
  • Interactive data visualisations using {plotly} or D3.

Prior Knowledge

Participants must have a basic knowledge of R and shiny, which can be obtained by attending our Introduction to R and Introduction to Shiny courses.

Attendee Feedback

  • “The instructor was certainly standout, exceptionally knowledgable and eloquent in their delivery.”
  • “The tutor was able to answer and personalise the content relating to our questions/needs”