前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于R语言的shiny网页工具开发基础系列-07

基于R语言的shiny网页工具开发基础系列-07

作者头像
生信技能树
发布2021-02-03 16:04:14
2.6K0
发布2021-02-03 16:04:14
举报
文章被收录于专栏:生信技能树生信技能树

后起之秀奔涌而至,欢迎大家在《生信技能树》的舞台分享自己的心得体会!

上面是shiny团队的稿件

L7-如何分享你的app

分享你的app

你现在能构建一个实用的shiny app,但是如何分享给别人呢?此篇将展示几个分享app的方法

当说到分享app,应有两个基本选项

  1. 将app作为R脚本分享。这是最简单的分享方法,但这种方法只有用户自己电脑上有R并且会用时才行
  2. 作为网页分享。这绝对是最用户友好的方式。用户用网页浏览器就能体验你的app。

作为R脚本分享

任何使用R的人都可运行你的shiny app,他们需要你的app.R的一个副本,还有其他支持材料(比如www文件夹或者帮助脚本)

发送你的文件到另一个用户,email或者github等

用户将你的文件放入工作目录下的文件夹,就像之前我们做的一样

代码语言:javascript
复制
# install.packages("shiny")
library(shiny)
runApp("census-app")

shiny内建了三个命令使得使用在线托管的文件非常容易

分别是runUrl, runGitHub, runGist

runUrl

runUrl 会直接从网页连接下载和启动一个shiny app

使用方法

  • 直接保存shiny app 的目录为一个zip文件
  • 托管这个zip文件到网页连接,任何获取这个连接的人都可以从R中启动这app
代码语言:javascript
复制
library(shiny)
runUrl( "<the weblink>")

runGitHub

如果没有自己的网站,免费的代码托管网站github是个好地方http://www.github.com/

GitHub是R开发人员最受欢迎的项目托管站点,因为它不仅可以托管文件。GitHub提供了许多支持协作的功能,例如问题跟踪器,Wiki,以及与git版本控制系统的紧密集成。要使用GitHub,您需要注册(免费)并选择一个用户名。

要通过GitHub共享应用,请在GitHub上创建项目存储库。然后将您的app.R文件以及该应用程序使用的所有补充文件存储在存储库中。

您的用户可以通过运行以下命令来启动您的应用:

代码语言:javascript
复制
runGitHub( "<your repository name>", "<your user name>")

runGist

如果您想要匿名方式在线发布文件,则GitHub在gist.github.com上提供了一个粘贴板服务,用于共享文件。您无需注册GitHub帐户即可使用此服务。即使您拥有GitHub帐户,gist也是共享Shiny项目的一种简单快捷的方法。

操作方法:

  • 将您的app.R文件复制并粘贴到gist网页。
  • 请注意GitHub给出gist的URL

形成gist后,您的用户可以使用runGist("<gist number>")启动应用程序,其中“”是显示在Gist网址末尾的数字。

比如:

代码语言:javascript
复制
runGist("eb3470beb1c0252bd0289cbc89bcf36f")

作为网页分享

以上所有方法都有相同的限制。他们要求您的用户在计算机上安装R和Shiny。

但是,Shiny创造了绝佳的机会,可以与没有R(也无意安装它)的人们共享输出。您的Shiny应用恰好是世界上使用最广泛的通信工具之一:网页。如果您使用自己的URL托管应用程序,则用户可以访问该应用程序(而不必担心生成该应用程序的代码)。

如果您熟悉网络托管或有权访问IT部门,则可以自己托管Shiny应用程序。

如果您希望获得更轻松的体验或需要支持,RStudio提供了三种将Web应用程序托管为网页的方式:

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

Shinyapps.io

将Shiny应用程序转换为网页的最简单方法是使用Shinyapps.io,RStudio的Shiny应用程序托管服务。

shinyapps.io使您可以直接从R会话将应用程序上载到RStudio托管的服务器。您可以完全控制您的应用程序,包括服务器管理工具。您可以通过访问shinyapps.io了解有关shinyapps.io的更多信息。

Shiny Server

Shiny Server是Shiny的配套程序,可构建旨在托管Shiny应用程序的Web服务器。它是免费的开放源代码,可从GitHub获得。

Shiny Server是一个服务器程序,Linux服务器可以运行该服务器程序以将Shiny应用程序托管为网页。要使用Shiny Server,您需要一台Ubuntu 12.04或更高版本(64位)和CentOS / RHEL 5(64位)有明确支持的Linux服务器。如果未使用支持的发行版,则仍可以通过从源代码构建它来使用Shiny Server。

您可以使用同一台Shiny Server在多个网页上托管多个Shiny应用程序,并且可以从防火墙后面部署这些应用程序。

要查看有关安装和配置Shiny Server的详细说明,请访问Shiny Server指南。

RStudio Connect

如果您在营利性环境中使用Shiny,则可能需要为自己提供大多数付费服务器程序随附的服务器工具,例如

  • 密码认证
  • SSL支持
  • 管理员工具
  • 优先支持

如果是这样,请查看RStudio Connect,这是您的团队在R中创建的工作的发布平台。在一个方便的位置共享Shiny应用程序,R Markdown报告,仪表板,绘图,Jupyter Notebook等。使用RStudio Connect,您可以通过按一下按钮从RStudio IDE中进行发布,并计划执行报告和灵活的安全策略。

如果您想了解有关RStudio Connect及其提供的功能的更多信息,请参见此处。

回顾

shiny的应用程序易于共享。您可以将应用程序共享为几个R脚本,也可以将其共享为具有自己的URL的功能完善的Web应用程序。每种方法都有其自身的优点。

  • 任何人只要拥有R,Shiny和应用程序文件的副本,就可以启动您的应用程序。
  • runUrl,runGitHub和runGist使从Web链接共享和检索Shiny文件变得简单。
  • 您可以使用shinyapps.io将自己的应用程序转换为实时Web应用程序。
  • 您可以使用开源的Shiny Server来构建承载Shiny应用程序的Linux服务器。
  • 如果您需要更严格的控制或要管理大量流量,则可以从RStudio购买RStudio Connect。

恭喜你 您已经完成了整个Shiny开发过程。您可以构建复杂的反应式应用程序,进行部署并与他人共享。用户可以与您的数据进行交互,并以新的方式关注您的故事。

下一步是练习,然后探索Shiny的高级功能。

Shiny Dev Center可以一路为您提供帮助。它拥有一个启发性应用程序库,以及构成这些应用程序的代码。

Shiny Dev Center还包括用于继续教育的文章部分。每篇文章都深入探讨了高级到高级的闪亮主题。

您现在已经足够了解如何构建自己的Shiny应用程序。看看你能做什么!

Reference:

Shiny - Share your apps

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-01-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信技能树 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • L7-如何分享你的app
    • 分享你的app
      • 作为R脚本分享
        • runUrl
        • runGitHub
        • runGist
      • 作为网页分享
        • Shinyapps.io
        • Shiny Server
        • RStudio Connect
        • 回顾
    相关产品与服务
    文件存储
    文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档