Shinyチュートリアル レッスン7: アプリを共有する

この記事は約8分で読めます。

この記事はShiny公式チュートリアルを翻訳したものです。
公式サイト: https://shiny.posit.co/r/getstarted/shiny-basics/lesson1/index.html

チュートリアルの目次はこちら

これで便利なShinyアプリを作成できましたが、他の人とどのように共有するのでしょうか?このレッスンでは、Shinyアプリを共有するいくつかの方法を説明します。

Shiny アプリを共有するには、2 つの基本的なオプションがあります。

  1. ShinyアプリをR スクリプトとして共有する。これはアプリを共有する最も簡単な方法ですが、ユーザーが自分のコンピューターにRをインストールしている (そしてその使い方を知っている) 場合にのみ機能します。このチュートリアルでこれまでアプリを起動してきたのと同じように、ユーザーはこれらのスクリプトを使用して自分のRセッションからアプリを起動できます。
  2. ShinyアプリをWeb ページとして共有する。これは間違いなくShinyアプリを共有する最もユーザーフレンドリーな方法です。ユーザーは、Webブラウザを使用してインターネット経由でアプリに移動できます。あなたのアプリはレンダリングされ、最新の状態で、すぐに使用できる状態になっていることがわかります。

Rスクリプトとして共有

R を持っている人なら誰でも Shinyアプリを実行できます。app.Rファイルのコピーと、アプリで使用されるサプリメント (wwwフォルダーやhelpers.Rファイルなど) が必要になります。

ファイルを別のユーザーに送信するには、ファイルを電子メールで送信するか (zipファイルなどで)、ファイルをオンラインでホストします。

ユーザーは、作業ディレクトリ内のアプリディレクトリにファイルを置きます。これまで使用したのと同じコマンドを使用して、Rでアプリを起動できます。

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

Shiny には、オンラインでホストされているファイルを簡単に使用できるようにする 3 つのコマンドが組み込まれています: runUrlrunGitHub、およびrunGist

runUrl

runUrlにより,リンクからShinyアプリを直接ダウンロードして起動します。

runUrl関数を使用するには:

  • Shinyアプリのディレクトリをzipファイルとして保存します
  • そのzipファイルをWebページ上の独自のリンクでホストします。リンクにアクセスできる人は誰でも、次のコマンドを実行してR内からアプリを起動できます。
library(shiny)
runUrl( "<the weblink>")

runGitHub

ファイルをホストする独自のWebページがない場合は、www.github.comで無料でファイルをホストできます。

GitHub はファイルをホストする以外の様々なことができるため、R開発者にとって人気のあるプロジェクトホスティングサイトです。 GitHub は、課題トラッカー、Wiki、 Gitバージョン管理システムとの統合など、共同作業をサポートするための多くの機能を提供します。 GitHubを使用するには、サインアップ (無料) し、ユーザー名を選択する必要があります。

GitHubを通じてアプリを共有するには、GitHub上にプロジェクトリポジトリを作成します。次に、アプリが使用する補足ファイルとともにapp.Rファイルをリポジトリに保存します。

ユーザーは以下を実行してアプリを起動できます。

runGitHub( "<your repository name>", "<your user name>")

runGist

匿名でファイルをオンラインに投稿したい場合は、GitHub がgist.github.comでファイルを共有するためのペーストボードサービスを提供しています。このサービスを使用するために GitHubアカウントにサインアップする必要はありません。 GitHubアカウントをお持ちの場合でも、Gist を使用するとShinyプロジェクトを簡単かつ迅速に共有できます。

アプリをGistとして共有するには:

  • app.RファイルをコピーしてGist Web ページに貼り付けます。
  • GitHub がgistを提供するURLに注意してください。

Gist を作成したら、ユーザーはrunGist("<gist number>") でアプリを起動できます。ただし,<gist number>は,Gist Webアドレスの末尾に表示される番号を指定します。

Gist としてホストされるアプリの例をここに示します。このアプリは次のように起動できます。

runGist("eb3470beb1c0252bd0289cbc89bcf36f")

Webページとして共有する

上記のすべての方法には同じ制限があります。ユーザーはコンピュータにRとShinyをインストールする必要があります。

ただし、Shiny は、Rを持っていない(およびインストールするつもりがない)人々とアウトプットを共有する絶好の機会を提供します。 Shinyアプリは、世界で最も広く使用されているコミュニケーションツールの1つであるWeb ページです。アプリを独自のURLでホストすると、ユーザーはアプリにアクセスできます (それを生成するコードについて心配する必要はありません)。

Webホスティングに精通している場合、または IT 部門にアクセスできる場合は、自分で Shinyアプリをホストできます。

より簡単なやり方を希望する場合、またはサポートが必要な場合は、Posit (旧称 RStudio) が ShinyアプリをWebページとしてホストする3つの方法を提供します。

  1. Shinyapps.io
  2. シャイニーサーバー
  3. ポジットコネクト

Shinyapps.io

Shiny アプリを Web ページに変える最も簡単な方法は、Shinyアプリ用のPositのホスティング サービスであるShinyapps.ioを使用することです。

Shinyapps.io を使用すると、RセッションからPosit がホストするサーバーにアプリを直接アップロードできます。サーバー管理ツールを含め、アプリを完全に制御できます。 詳細については、Shinyapps.ioにアクセスしてください。

Shiny サーバー

Shiny Serverは、Shinyアプリをホストするために設計された Webサーバーを構築する Shinyのコンパニオンプログラムです。これは無料のオープンソースで、GitHub から入手できます。

Shiny Server は、Linux サーバーが実行してShinyアプリをWebページとしてホストできるサーバー プログラムです。 Shiny Server を使用するには、Ubuntu 12.04 以降 (64 ビット) および CentOS/RHEL 5 (64 ビット) を明示的にサポートする Linux サーバーが必要です。明示的にサポートされているディストリビューションを使用していない場合でも、ソースからビルドすることで Shiny Server を使用できます。

同じShinyサーバーを使用して複数のWebページで複数のShinyアプリケーションをホストでき、ファイアウォールの背後からアプリケーションを展開できます。

Shiny Server のインストールと構成の詳細な手順については、 Shiny Serverガイドを参照してください。

Posit Connect

Shinyを営利目的で使用する場合は、ほとんどの有料サーバープログラムに付属しているサーバー ツールを使用するとよいでしょう。

  • パスワード認証
  • SSLのサポート
  • 管理者ツール
  • 優先サポート

その場合は、チームがRで作成した作品の公開プラットフォームであるPosit Connectをチェックしてください。 Shinyアプリケーション、R Markdown レポート、ダッシュボード、プロット、Jupyter Notebook などを 1 つの場所で共有します。 Posit Connect を使用すると、ボタンを押すだけで RStudio IDE から公開し、レポートと柔軟なセキュリティ ポリシーの実行をスケジュールできます。

Posit Connect とそれが提供する機能について詳しく知りたい場合は、ここを参照してください。

要約

Shinyアプリは簡単に共有できます。アプリは、いくつかの R スクリプトとして共有することも、独自のURLを持つ完全に機能するWebアプリとして共有することもできます。各方法には独自の利点があります。

以下のことを学びました:

  • R、Shiny のコピー、およびアプリのファイルのコピーを持っていれば、誰でもアプリを起動できます。
  • runUrl, runGitHub, runGistによってWeb リンクからShinyを簡単に共有したり取得したりできます。
  • Shinyapps.ioを使用すると、独自のURLでアプリをライブのWeb アプリに変えることができます。
  • オープン ソースのShiny Serverを使用して、Shiny アプリをホストする Linux サーバーを構築できます。
  • より厳密な制御が必要な場合、または大量のトラフィックを管理したい場合は、Posit からPosit Connectを購入できます。

Congratulations。 Shinyの開発プロセス全体を完了しました。洗練されたリアクティブなアプリを構築して展開し、他のユーザーと共有できます。ユーザーは、新しい方法でデータを操作し、ストーリーを追うことができます。

次のステップはプラクティスであり、Shiny の高度な機能を探索することです。

Shiny Dev Center がその過程で役立ちます。インスピレーションを与えるアプリのギャラリーと、アプリを作成するコードをホストします。

Shiny Dev Center には、継続的な教育のための記事セクションも含まれています。各記事では、中級から上級の Shinyトピックを詳しく調べます。

これで、独自の Shinyアプリを構築するのに十分な知識が得られました。何ができるか試してみましょう!

コメント