Einführung
Shinylive ermöglicht die vollständige Ausführung von Shiny-Anwendungen im Browser mit WebAssembly. In diesem Tutorial erstellen Sie eine einfache Shiny-App und exportieren sie als Shinylive-App. Dieser serverlose Ansatz ermöglicht es Ihnen, interaktive Shiny-Anwendungen auf statischen Hosting-Plattformen wie GitHub Pages zu teilen.
1. Erstellen Ihrer Shiny App
Kopieren Sie den folgenden Code und fügen Sie ihn in die app.r
-Datei ein, um eine einfache Shiny-App zu erstellen. Der Code erstellt eine einfache Shiny-App mit einem Schieberegler und einem Histogramm:
library(shiny)
library(bslib)
# Definieren Sie die Benutzeroberfläche mit einem Seitenleistenlayout.
<- page_sidebar(
ui title = "Hello Shiny!",
sidebar = sidebar(
sliderInput("bins", "Number of bins:", min = 5, max = 30, value = 10)
),plotOutput("distPlot")
)
# Definieren Sie die Serverlogik zur Erzeugung eines Histogramms.
<- function(input, output) {
server $distPlot <- renderPlot({
output<- mtcars$mpg
x <- seq(min(x), max(x), length.out = input$bins + 1)
bins hist(x, breaks = bins, col = "#75AADB", border = "white",
main = "Histogram of MPG", xlab = "Miles Per Gallon")
})
}
# Erstellen und Ausführen der Shiny-Anwendung.
shinyApp(ui = ui, server = server)
Sie können diese App lokal in RStudio testen, indem Sie den Code ausführen.
2. Exportieren Ihrer Shiny App mit Shinylive
Sobald Ihre Shiny-Anwendung funktioniert, verwenden Sie das {shinylive}
-Paket, um sie als statische, serverlose Anwendung zu exportieren.
Schritt-für-Schritt-Exportprozess
Bereiten Sie Ihr App-Verzeichnis vor:
Speichern Sie Ihre Shiny-App-Dateien (z. B.app.R
) in einem Verzeichnis. Erstellen Sie zum Beispiel einen Ordner namensmyapp
.Exportieren der App:
Verwenden Sie die Funktionshinylive::export()
, um Ihre Shiny-Anwendung in statische Dateien zu konvertieren, die im Browser ausgeführt werden. Beispiel:# Ersetzen Sie `myapp` durch den Pfad zu Ihrem App-Verzeichnis. # Ersetzen Sie `site` durch das Zielverzeichnis für die exportierten Dateien. ::export("myapp", "site") shinylive
Dieser Befehl erstellt einen neuen Ordner (
site/
), der HTML-, JavaScript-, CSS- und WASM-Dateien enthält, die erforderlich sind, um Ihre Anwendung als statische Website auszuführen.Vorschau Ihrer exportierten App:
Sie könnenhttpuv::runStaticServer()
verwenden, um die exportierte App lokal bereitzustellen:library(httpuv) ::runStaticServer("site/") httpuv
Öffnen Sie Ihren Browser und navigieren Sie zu der vom Befehl angegebenen URL, um Ihre Shinylive-Anwendung laufen zu sehen.
3. Bereitstellen auf statischen Hosting-Diensten
Nachdem Sie überprüft haben, dass Ihre exportierte Anwendung lokal funktioniert, stellen Sie den Inhalt des Ordners site/
bei einem statischen Hosting-Dienst bereit.
Hier sind die allgemeinen Schritte zum Bereitstellen deiner Shinylive-Anwendung auf GitHub Pages:
Ein Repository erstellen:
Initialisieren Sie ein GitHub-Repository und fügen Sie den Ordnersite/
hinzu.GitHub-Seiten konfigurieren:
Aktivieren Sie in Ihren Repository-Einstellungen GitHub Pages und wählen Sie den Zweig/Ordner, der Ihre exportierte Anwendung enthält (z. B. das Stammverzeichnis des Repositorys oder einendocs/
-Ordner).Push und Veröffentlichen:
Commit und Push Ihrer Änderungen. Deine App sollte über die in den Repository-Einstellungen angegebene GitHub Pages URL zugänglich sein.Zugriff auf Ihre App:
Sobald GitHub Pages aktiviert ist, ist Ihre Anwendung über eine URL wiezugänglichhttps://yourusername.github.io/your-repo/
.
Andere statische Hosting-Optionen wie Netlify
folgen ähnlichen Schritten: Laden Sie einfach den Inhalt des Ordners site/
hoch und konfigurieren Sie die Bereitstellungseinstellungen.
4. Tipps für einen erfolgreichen Export
Asset-Versionen prüfen:
Verwenden Sieshinylive::assets_info()
, um zu überprüfen, ob die richtigen Web-Assets installiert und im Cache gespeichert sind.Pakete bei Bedarf aktualisieren:
Wenn Sie Probleme mit Asset-Versionen haben, versuchen Sieshinylive::assets_download()
auszuführen, um Ihre Assets zu aktualisieren.Alte Assets aufräumen:
Führen Sie regelmäßigshinylive::assets_cleanup()
aus, um veraltete Asset-Versionen aus Ihrem Cache zu entfernen.
4. Weiterführende Literatur
- Einführung in Shinylive für R
Verschaffen Sie sich einen Überblick über Shinylive, seine Komponenten und seine Vorteile. - Installieren und Einrichten von Shinylive (R)
Erfahren Sie, wie Sie das Paket {shinylive} installieren und die Asset-Verwaltung konfigurieren. - Erstellen einer einfachen Shinylive Anwendung (R)
Erstellen und exportieren Sie Ihre erste Shinylive-Anwendung. - Einbetten von Shinylive Apps in Quarto Dokumente (R)
Erfahren Sie, wie Sie Shinylive-Anwendungen direkt in Ihre Quarto-Dokumente integrieren können.
Schlussfolgerung
In diesem Tutorial haben Sie gelernt, wie Sie eine einfache Shiny-Anwendung erstellen und sie als Shinylive-Anwendung exportieren können, um Ihren Shiny-Code in eine serverlose, browserbasierte interaktive Anwendung zu verwandeln. Mit diesen Tools können Sie Ihre Shiny-Apps einfach auf statischen Hosting-Plattformen bereitstellen und so die Reichweite Ihrer interaktiven R-Inhalte vergrößern.
Weitere Artikel erkunden
Hier finden Sie weitere Artikel aus derselben Kategorie, die Ihnen helfen, tiefer in das Thema einzutauchen.
Wiederverwendung
Zitat
@online{kassambara2025,
author = {Kassambara, Alboukadel},
title = {Erstellen einer grundlegenden Shinylive-Anwendung (R)},
date = {2025-03-17},
url = {https://www.datanovia.com/de/learn/interactive/r/shinylive/basic-app.html},
langid = {de}
}