Shiny Developer Series

Episode 26: Peeling back the curtain of Movie Vue R (Part 1)

05.27.2022 - By Eric NantzPlay

Download our free app to listen on your phone

Download on the App StoreGet it on Google Play

What makes a great Shiny app? Anything that helps your users explore and find answers from data. And it helps when your apps is beautiful and fast. It is now easier than ever for Shiny developers to create these beautiful, dynamic, quick-reacting, multipage shiny apps. In this episode of the Shiny Developer Serie -- the first of two parts -- Eric Nantz hosts Herman Sontrop and Kenton Russell as they introduce the tools behind their Movie Vue R Shiny application. They submitted this application to the 2021 Shiny Contest and have shared the code and documentation with the Shiny developer community. Part 1 is a high-level tour of what is inside the Movie Vue R Shiny application and how the Vue javascript framework is used to offer R and Shiny components really nice user interface elements.Resources mentioned in the episodeMovie Vue R Shiny App: friss.shinyapps.io/shiny-vue-rContest Submission Post on RStudio CommunityApp GitHub repository: github.com/FrissAnalytics/shiny-vue-rDiscussion slides available at this linkVue.js - Progressive JavaScript framework: vuejs.orgVuetify - Material design framework for Vue: vuetifyjs.comHTML templates article: shiny.rstudio.com/articles/templates.htmlMaterial design icons: materialdesignicons.comhttp-vue-loader - load .vue files from your HTML/JS: github.com/FranckFreiburger/http-vue-loaderVuex getting started guide: vuex.vuejs.org/guideVue Router - The official router for Vue.js: router.vuejs.orgUI component for Globe Data Visualization using ThreeJS/WebGL: globe.glLodash - A modern JavaScript utility library delivering modularity, performance & extras: lodash.comd3.js - Data-Driven Documents: d3js,orgMitt - Tiny 200b functional event emitter / pubsub: github.com/developit/mittOverlay Scrollbars - A javascript scrollbar plugin which hides native scrollbars, provides custom styleable overlay scrollbars and keeps the native functionality and feeling: kingsora.github.io/OverlayScrollbarsKent's listviewer HTML widget for viewing lists: cran.r-project.org/package=listviewerplumber - Turn your R code into a web API: www.rplumber.ioEpisode Timestamps00:00:00 Episode Introduction 00:01:00 Introduction to Herman Sontrop 00:06:10 Introduction to Kenton Russell 00:10:00 High-level walkthrough of Movie Vue R 00:19:25 Diving into the code that drives Movie Vue R 00:22:35 Overview and motivation behind Vue 00:38:30 Vue instance example 00:40:00 Vue reactivty examples 00:46:10 Vue.js components are like Shiny modules 00:49:50 Single file components 00:54:16 Breaking down a Vue component into useful parts; props, data, methods, computed, and watch 00:57:20 Vuetify, tap into many pre-built components, styles, and more 01:10:00 Covid Globe Example in Shiny app 01:12:40 Rendering a ggplot 01:15:15 Summarizing parts of the Movie Vue R app 01:19:10 A look at template.html. A detailed walk through the organization of the app's HTML and files 01:26:30 Where R and Shiny are added to a Vue app. And how your app can send messages back to Shiny and R 01:31:20 Loading images and ggplots 01:38:00 Episode wrapup 

More episodes from Shiny Developer Series