From 9e7f008fda2665b70c88f73cfbc9718b3debe473 Mon Sep 17 00:00:00 2001 From: njlyon0 Date: Tue, 30 Apr 2024 10:37:29 -0400 Subject: [PATCH] Added some learning objectives, drafted topic headers in module, and added some new 'bonus' resources --- .../execute-results/html.json | 4 +-- mod_interactivity.qmd | 30 +++++++++++++++++-- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/_freeze/mod_interactivity/execute-results/html.json b/_freeze/mod_interactivity/execute-results/html.json index 75d7a73..13457f0 100644 --- a/_freeze/mod_interactivity/execute-results/html.json +++ b/_freeze/mod_interactivity/execute-results/html.json @@ -1,7 +1,7 @@ { - "hash": "f895e2aaf8ac47a5273dd114cf2c89be", + "hash": "5877a40462e57c0565b899f1b0bfd7ba", "result": { - "markdown": "---\ntitle: \"Creating Interactive Apps\"\ncode-annotations: hover\nexecute: \n eval: false\n---\n\n\n## Overview\n\nShiny is a popular tool that allows users to build interactive web applications without the normally pre-requisite web development expertise. In addition to Shiny apps being simpler to build for the programmer they are often used to allow visitors to perform coding tasks without ever actually writing code. These are huge advantages because they reduce or eliminate significant technical barriers in developing truly interactive applications.\n\nIn synthesis contexts, Shiny can be used for a variety of valuable purposes. You can use it to develop dashboards for sharing data with related communities, allow your team to quickly \"play with\" exploratory graphs, or even use it as a data submission portal (as is the case with some Research Coordination Networks or \"RCNs\").\n\nNote that Shiny can be built in either R or Python 'under the hood' but for the purposes of this module we'll focus on R.\n\n## Learning Objectives\n\nAfter completing this topic you will be able to: \n\n- Define the three fundamental components of a Shiny app\n- Explain benefits and limitations of interactive approaches to data exploration\n- Create a Shiny app for interacting with a dataset\n\n## Needed Packages\n\nIf you'd like to follow along with the code chunks included throughout this module, you'll need to install the following packages:\n\n\n::: {.cell}\n\n```{.r .cell-code}\n# Note that these lines only need to be run once per computer\n## So you can skip this step if you've installed these before\ninstall.packages(\"tidyverse\")\ninstall.packages(\"shiny\")\ninstall.packages(\"htmltools\")\ninstall.packages(\"lterdatasampler\")\n```\n:::\n\n\nWe'll load the Tidyverse meta-package here to have access to many of its useful tools when we need them later.\n\n\n::: {.cell}\n\n```{.r .cell-code}\n# Load tidyverse\nlibrary(tidyverse)\n```\n:::\n\n\n## Module Content\n\n\n::: {.cell}\n\n```{.r .cell-code}\n1 +1\n```\n:::\n\n\n\n## Additional Interactivity Resources\n\n### Papers & Documents\n\n- \n\n### Workshops & Courses\n\n- 2022 All Scientists' Meeting [Shiny Apps for Sharing Science](https://njlyon0.github.io/asm-2022_shiny-workshop/) workshop\n\n### Websites\n\n- Posit's [Shiny](https://shiny.posit.co/) website\n", + "markdown": "---\ntitle: \"Creating Interactive Apps\"\ncode-annotations: hover\nexecute: \n eval: false\n---\n\n\n## Overview\n\nShiny is a popular tool that allows users to build interactive web applications without the normally pre-requisite web development expertise. In addition to Shiny apps being simpler to build for the programmer they are often used to allow visitors to perform coding tasks without ever actually writing code. These are huge advantages because they reduce or eliminate significant technical barriers in developing truly interactive applications.\n\nIn synthesis contexts, Shiny can be used for a variety of valuable purposes. You can use it to develop dashboards for sharing data with related communities, allow your team to quickly \"play with\" exploratory graphs, or even to create a data submission portal (as is the case with some Research Coordination Networks or \"RCNs\").\n\nNote that Shiny can be built in either R or Python 'under the hood' but for the purposes of this module we'll focus on R.\n\n## Learning Objectives\n\nAfter completing this topic you will be able to: \n\n- Define the three fundamental components of a Shiny app\n- Explain benefits and limitations of interactive approaches to data exploration\n- Generate an interactive app with Shiny\n- Use text formatting methods in a Shiny app\n- Explore available Shiny layout options\n- Create a Shiny app\n- Describe (briefly) the purpose of deploying a Shiny app\n\n## Needed Packages\n\nIf you'd like to follow along with the code chunks included throughout this module, you'll need to install the following packages:\n\n\n::: {.cell}\n\n```{.r .cell-code}\n# Note that these lines only need to be run once per computer\n## So you can skip this step if you've installed these before\ninstall.packages(\"tidyverse\")\ninstall.packages(\"shiny\")\ninstall.packages(\"htmltools\")\ninstall.packages(\"lterdatasampler\")\n```\n:::\n\n\nWe'll load the Tidyverse meta-package here to have access to many of its useful tools when we need them later.\n\n\n::: {.cell}\n\n```{.r .cell-code}\n# Load tidyverse\nlibrary(tidyverse)\n```\n:::\n\n\n## Shiny Fundamentals\n\n\n\n## Including Data\n\n\n\n## Text Formatting\n\n\n\n## Layouts\n\n\n\n## Deployment\n\nWhen Shiny apps are only being used by those in your team, keeping them as a code script works well. However, if you'd like those outside of your team to be able to find your app as they would any other website you'll need to deploy your Shiny app. This process is outside of the scope of this module but is often the end goal of Shiny app development.\n\nTake a look at [Posit's instructions for deployment](https://shiny.posit.co/r/articles/share/deployment-web/) for more details but essentially \"deployment\" is the process of getting your local app hosted on shinyapps.io which gives it a link that anyone can use to access/run your app on their web browser of choice.\n\n## Additional Interactivity Resources\n\n### Papers & Documents\n\n- \n\n### Workshops & Courses\n\n- Posit's [Welcome to Shiny](https://shiny.posit.co/r/getstarted/shiny-basics/lesson1/index.html) (for R coders)\n- 2022 All Scientists' Meeting [Shiny Apps for Sharing Science](https://njlyon0.github.io/asm-2022_shiny-workshop/) workshop\n\n### Websites\n\n- Posit's [Shiny](https://shiny.posit.co/) website\n", "supporting": [], "filters": [ "rmarkdown/pagebreak.lua" diff --git a/mod_interactivity.qmd b/mod_interactivity.qmd index dc4ca36..5fa5327 100644 --- a/mod_interactivity.qmd +++ b/mod_interactivity.qmd @@ -9,7 +9,7 @@ execute: Shiny is a popular tool that allows users to build interactive web applications without the normally pre-requisite web development expertise. In addition to Shiny apps being simpler to build for the programmer they are often used to allow visitors to perform coding tasks without ever actually writing code. These are huge advantages because they reduce or eliminate significant technical barriers in developing truly interactive applications. -In synthesis contexts, Shiny can be used for a variety of valuable purposes. You can use it to develop dashboards for sharing data with related communities, allow your team to quickly "play with" exploratory graphs, or even use it as a data submission portal (as is the case with some Research Coordination Networks or "RCNs"). +In synthesis contexts, Shiny can be used for a variety of valuable purposes. You can use it to develop dashboards for sharing data with related communities, allow your team to quickly "play with" exploratory graphs, or even to create a data submission portal (as is the case with some Research Coordination Networks or "RCNs"). Note that Shiny can be built in either R or Python 'under the hood' but for the purposes of this module we'll focus on R. @@ -19,7 +19,11 @@ After completing this topic you will be able to: - Define the three fundamental components of a Shiny app - Explain benefits and limitations of interactive approaches to data exploration -- Create a Shiny app for interacting with a dataset +- Generate an interactive app with Shiny +- Use text formatting methods in a Shiny app +- Explore available Shiny layout options +- Create a Shiny app +- Describe (briefly) the purpose of deploying a Shiny app ## Needed Packages @@ -45,9 +49,28 @@ We'll load the Tidyverse meta-package here to have access to many of its useful library(tidyverse) ``` -## Module Content +## Shiny Fundamentals + +## Including Data + + + +## Text Formatting + + + +## Layouts + + + +## Deployment + +When Shiny apps are only being used by those in your team, keeping them as a code script works well. However, if you'd like those outside of your team to be able to find your app as they would any other website you'll need to deploy your Shiny app. This process is outside of the scope of this module but is often the end goal of Shiny app development. + +Take a look at [Posit's instructions for deployment](https://shiny.posit.co/r/articles/share/deployment-web/) for more details but essentially "deployment" is the process of getting your local app hosted on shinyapps.io which gives it a link that anyone can use to access/run your app on their web browser of choice. + ## Additional Interactivity Resources ### Papers & Documents @@ -56,6 +79,7 @@ library(tidyverse) ### Workshops & Courses +- Posit's [Welcome to Shiny](https://shiny.posit.co/r/getstarted/shiny-basics/lesson1/index.html) (for R coders) - 2022 All Scientists' Meeting [Shiny Apps for Sharing Science](https://njlyon0.github.io/asm-2022_shiny-workshop/) workshop ### Websites