← Ко всем open source проектам

Shiny

rstudio/shiny

Shiny — R-фреймворк для интерактивных веб-приложений с реактивной моделью.

Форки 1,892
Автор rstudio
Язык R
Лицензия NOASSERTION
Обновлено 2026-06-27

Кратко

Shiny превращает R-код в интерактивное веб-приложение: графики, таблицы, слайдеры и фильтры автоматически обновляются при изменении входных данных.

Что это такое

Shiny — фреймворк для создания интерактивных веб-приложений на R. Его сильная идея в том, что аналитик может собрать живое приложение без обязательного ручного HTML, CSS и JavaScript.

Что внутри

Проект дает реактивную модель, набор виджетов, интеграцию с R Markdown и внешний вид на базе Bootstrap. Выходы пересчитываются тогда, когда меняются связанные входы, а не при каждом действии пользователя.

Как используют

Shiny используют для аналитических панелей, исследовательских прототипов, внутренних отчетов и небольших продуктов вокруг данных. Особенно он полезен командам, где основной язык анализа — R.

Пример

Минимальная Shiny-идея

Синтаксис R показан как обычный текст: входной слайдер управляет значением, а вывод реагирует на изменение.

Язык: Plain text
ui <- fluidPage(
  sliderInput("n", "Rows", 1, 100, 20),
  tableOutput("data")
)

server <- function(input, output) {
  output$data <- renderTable(head(mtcars, input$n))
}

Сильные стороны

Сильная сторона Shiny — короткий путь от анализа к приложению. Код, который раньше жил в ноутбуке или скрипте, можно превратить в интерфейс для коллег.

Ограничения

Ограничение — границы R-экосистемы. Для очень сложных пользовательских интерфейсов, публичных продуктов с большим трафиком и тонкой клиентской логики может потребоваться отдельная веб-архитектура.

Контекст проекта

Shiny ведется в репозитории rstudio/shiny; публичная история проекта начинается 2012-06-20. Основной язык в метаданных — R, лицензия — NOASSERTION. У проекта есть отдельный сайт: https://shiny.posit.co/.

Этот контекст помогает читать страницу как разбор конкретного репозитория: у проекта есть владелец, техническая база, лицензия, история изменений и реальные ограничения выбранной экосистемы.

Shiny стоит оценивать через конкретный сценарий: кто будет поддерживать инструмент, где он встраивается в существующий стек, какие обновления придется отслеживать и что произойдет при ошибке. Такой взгляд лучше простой установки ради популярности, потому что открытый проект приносит пользу только тогда, когда его место в системе понятно команде.

Перед внедрением полезно отдельно проверить документацию, частоту релизов, модель лицензирования, требования к окружению и то, насколько легко проект будет удалить или заменить, если выбранный путь перестанет подходить продукту.