R shiny教程-7:共享Shiny app

创建一个 Shiny app之后,有时候需要共享给他人。

分享Shiny app,一般有两种途径:

  1. Share your Shiny app as R scripts.
    • 这是分享应用程序最简单的方式,但只有shiny用户在他们自己的电脑上有R(并且知道如何使用它),它才有效。用户可以使用这些脚本从他们自己的R会话启动应用程序。
  2. Share your Shiny app as a web page.
    • 用户最友好的分享应用程序的方式。用户可以通过网络浏览器浏览到shiny app。

#Share as R scripts

任何拥有R的人都可以运行Shiny app。只需要一份app.R文件的副本,以及任何在应用程序中使用的数据。

# install.packages("shiny")
library(shiny)
runApp("census-app")
Zipped folder

Shiny 有三个内建命令,使shiny app更容易在线托管:runUrl, runGitHub, 和runGist

##runUrl

runUrl将直接从weblink下载并启动一个shiny app。
runURL

  • 将你闪亮的应用程序的目录保存为zip文件
  • 在它自己的链接上的一个网页上保存该zip文件。
library(shiny)
runUrl( "")
runUrl('https://github.com/rstudio/shiny_example/archive/master.tar.gz')
runUrl

##runGitHub

如果没有自己的网页来存放文件,可以在www.github.com上免费存放。
其它shiny 用户可以直接运行github shiny app:

runGitHub( "", "")
 runGitHub("shiny_example", "rstudio")
runGitHub

##runGist

如果你想通过匿名方式在网上发布文件,可以在gist.github.com上分享文件。你不需要注册一个GitHub账户就可以使用这项服务。

匿名分享:

  • 复制并粘贴app.R文件到gist网页。
  • 请注意GitHub提供的网址。

一旦匿名分享,用户可以启动runGist应用程序(“”),其中“”是出现在网址末尾的数字。

runGist("eb3470beb1c0252bd0289cbc89bcf36f")
runGist

#Share as a web page

以上所有方法都有相同的局限性。它们要求用户在计算机上安装R和Shiny。
RStudio提供了三种方式托管shiny apps的在线方式:

  1. shinyapps.io
  2. Shiny Server
  3. RStudio Connect

##Shinyapps.io

shinyapps.io是最方便的方式。
直接从R会话上传你的应用到RStudio托管的服务器上。开发者可以完全控制您的应用程序,包括服务器管理工具。

  • shinyapps.io

##Shiny Server

Shiny Server是免费的,开源的,可以从GitHub获得。
Shiny Server是一个服务器程序,Linux服务器可以运行一个Shiny app作为web页面。要使用Shiny服务器,你需要一个明确支持Ubuntu 12.04或更高版本(64位)和CentOS/RHEL 5(64位)的Linux服务器。如果您没有使用显式支持的发行版,您仍然可以通过从源代码构建它来使用Shiny Server。
可以在同一个Shiny 服务器托管多个shiny app,并且可以从防火墙后面部署这些应用程序。
Shiny Server初步了解,可以查看Shiny Server安装。

##RStudio Connect

如果在盈利性的环境下使用Shiny,可能会想要提供服务器工具。

  • Password authentication
  • SSL support
  • Administrator tools
  • Priority support

RStudio Connect是RStudio一个全新发布的平台,可以实现团队合作开发;支持shiny app、R Markdown、交互式HTML控件、静态图等。

#总结

Shiny app 很容易分享; 可以通过几个R脚本来共享你的应用程序,或者通过自己的URL来共享一个功能完整的web应用程序。

  • 任何人都可以启动你的应用程序,只要他们有一份R, Shiny,和shiny app的副本。
  • runUrl, runGitHub, 和runGist使Shiny 共享和检索更方便。
  • 通过shinyapps.io共享,可以在自己的URL上shiny app变成一个实时的网络应用。
  • 可以使用一个个Linux服务器构建Shiny Server支持多个shiny app
  • 如果您需要更好地控制,或者希望管理大量的流量,您可以从RStudio购买RStudio Connect。

#原文

Share your apps

系列文章:
R shiny教程-1:一个 Shiny app的基本组成部分
R shiny教程-2:布局用户界面
R shiny教程-3:添加小部件到Shiny App
R shiny教程-4:Shiny app响应式结果展示
R shiny教程-5:调用R程序和导入数据
R shiny教程-6:使用响应表达式reactive()
Shiny Server安装

你可能感兴趣的:(R shiny教程-7:共享Shiny app)