| 光沢のある | |
|---|---|
| 原作者 | ジョー・チェン |
| 開発者 | RStudio Inc.(および現在の社名変更後のPosit PBC) |
| リリース | 2012年11月 (2012-11) |
| 安定放出 | |
| 執筆 | R / Python |
| ライセンス | MITライセンス |
| Webサイト | shiny.rstudio.com |
| リポジトリ |
|
Shinyは、 Web アプリケーション(アプリ)を開発するためのWeb フレームワークで、元々はRで開発されていましたが、2022 年以降はPythonでも利用できるようになりました。これは無料のオープンソースです。[ 2 ]これは、以前は RStudio と呼ばれていたPositのCTOである Joe Cheng によって2012 年に発表されました。[ 3 ] Shiny の用途の 1 つは、高速プロトタイピングです。[ 4 ]
2022年に、Python 用の Shiny の別の実装が発表されました。[ 5 ]これは代替となるものではなく、両方の実装は並行して開発され、互いのすべての機能を備えることはないかもしれません。また、クライアントで Shiny を実行できる Shinylive もあります (つまり、プログラム コードはサーバー上で実行されず、サーバーの負荷はコード自体を提供するだけになります)。[ 6 ]
Shiny は、ユーザーが入力変数を通じて計算の再実行やグラフ (多くの場合ビジュアライゼーション) の再レンダリングを行う状況を指定するリアクティブコンテキストを作成します。これはほぼ瞬時に行われます。入力変数は、テキスト ボックス、ラジオ ボタン、ドロップダウン リストなどのウィジェットを簡単に作成できるユーザー インターフェイスを介して評価されます。[ 3 ] [ 7 ]
Shiny ファイルには主に 2 つの部分があり、これらは別の 2 つのファイルに保存することもできます。1 つはユーザー インターフェイスに対応するように設計されており、その外観はデフォルトの選択によって制限されますが、他のさまざまな R パッケージを使用して拡張できます。もう 1 つは、サーバー計算とプロット生成コードに対応するように設計されており、R のすべての組み込み機能が利用できます。[ 3 ]

これは、R の基本的なアプリケーションの例です。[ 8 ]
ライブラリ(shiny )ui <- fluidPage ( textInput ( "name" , "あなたの名前は何ですか?), textOutput ( "greeting" ) )server <- function ( input , output , session ) { output $ greeting <- renderText ({ paste0 ( "Hello " , input $ name )}) }shinyApp ( ui 、server )そして、Pythonで書かれた同等のアプリケーション:[ 9 ]
shinyからApp 、reactive 、render 、uiをインポートapp_ui = ui.page_fluid ( ui.input_text ( "name" , "あなたの名前は何ですか?" ), ui.output_text ( "greeting " ) )def server ( input , output , session ):@render . text def greeting (): return f "こんにちは{ input . name () } "app = App ( app_ui , server )そして、Python 用の Shiny Express: [ 10 ]
shiny.expressからinput 、render 、uiをインポートui.input_text ( "name" , "あなたの名前は何ですか?" )@render . text def greeting (): return f "こんにちは{ input . name () } "Shiny(R)のデプロイは、いくつかの一般的な方法で実現できます。