Shiny by RStudio

Teach yourself Shiny

The How to Start Shiny video series will take you from R programmer to Shiny developer. Watch the complete tutorial here, or jump to a specific chapter by clicking a link below. The entire tutorial is two hours and 25 minutes long.

Part 1 - How to build a Shiny app

  1. Introduction
  2. R
  3. App architecture
  4. App template
  5. Inputs and outputs
  6. The server function
  7. Sharing apps
  9. Shiny servers
  10. Recap - Part 1

Part 2 - How to customize reactions

  1. Introduction
  2. Review of Part 1
  3. Reactivity
  4. Reactive values
  5. Reactive functions
  6. render*()
  7. reactive()
  8. isolate()
  9. observeEvent()
  10. eventReactive()
  11. reactiveValues()
  12. Recap - Part 2
  13. Parting tips

Part 3 - How to customize appearance

  1. Introduction
  2. Review of Parts 1 and 2
  3. HTML UI
  4. Adding static content
  5. Building layouts
  6. Panels and tabsets
  7. Prepackaged layouts
  8. CSS
  9. Recap - Part 3

Who should take a Shiny tutorial?

You will get the most out of these tutorials if you already know how to program in R, but not Shiny.

If R is new to you, you may want to check out the learning resources at before taking one of these tutorials. If you are not sure whether you are ready for Shiny, try our quiz.

If you use Shiny on a regular basis, you may want to skip these tutorials and visit the articles section of the Development Center. In the articles section, we cover individual Shiny topics at an advanced level.

Other tutorials

Shiny JavaScript Tutorial

Herman Sontrop and Erwin Schuijtvlot of FRISS are writing a series of lessons that will teach you how to create custom JavaScript widgets and embed them into your Shiny apps. We will publish each lesson as it becomes available. Lessons 1 and 2 are ready now.

  • Lesson 1 - How to build a JavaScript based widget
  • Lesson 2 - How to add functionality to JavaScript widgets
  • Lesson 3 - How to send messages from the browser to the server and back using Shiny
  • Lesson 4 - How to develop an interactive, dynamic help system for your app with introJS
  • Lesson 5 - How to create custom input bindings
  • Lesson 6 - Putting everything together to create an interactive dashboard

R powered web applications with Shiny

Zev Ross has created a very thorough online introduction to Shiny tutorial with over 40 example apps.

The written tutorial

This seven lesson tutorial from 2014 will teach you the basics of Shiny in a self-paced format. Each lesson takes about 20 minutes and teaches one new Shiny skill. By the end of the lessons, you will know how to build and deploy a Shiny app. Click the Lesson 1 button to get started and say hello to Shiny!

Continue to lesson 1