프로젝트 소개
Shiny는 Posit(이전 RStudio)의 오픈 소스 R 패키지로, HTML, CSS, JavaScript 지식 없이 R에서 직접 대화형 웹 애플리케이션을 구축할 수 있게 해줍니다.
핵심 기능:
- 기존 R 코드를 사용자 입력에 따라 출력이 자동으로 업데이트되는 라이브 앱으로 바꿔주는 반응형 프로그래밍 모델입니다. 반응성은 입력이 변경될 때 최소한의 작업을 수행하고, 이벤트 기반 프로그래밍보다 복잡한 MVC 로직을 더 쉽게 이해할 수 있도록 제시됩니다.
- 플롯, 테이블, 슬라이더, 드롭다운, 날짜 선택기 등 사용자 정의 가능한 사전 제작 위젯 모음입니다.
- Bootstrap을 기반으로 한 기본 디자인으로, bslib 패키지를 통해 사용자 정의하거나 HTML/CSS/JavaScript에 대한 직접 R 바인딩으로 대체할 수 있습니다.
- 동적 문서 내에 애플리케이션을 포함하기 위한 R Markdown과의 통합입니다.
- 비동기 프로그래밍, 캐싱, 부하 테스트 지원을 포함한 성능 및 모니터링 도구입니다.
- 코드 중복과 복잡성을 줄이기 위한 모듈입니다.
- 애플리케이션 상태 북마크 및 출력을 재현하는 코드 생성(shinymeta를 통해)입니다.
- 사용자 정의 위젯, 입력 검증, 단위 테스트를 위한 확장 패키지 생태계입니다.
설치 및 사용법: 안정 버전은 install.packages("shiny")로 CRAN에서 설치합니다. 라이브러리를 로드한 후 runExample()은 미리 패키징된 예제를 나열하고 runExample("06_tabsets")는 소스 코드와 함께 예제를 실행합니다. 학습 자료로는 Mastering Shiny 책, Shiny Tutorial, Shiny User Gallery가 있습니다.
이 패키지는 또한 코딩 에이전트가 관용적인 Shiny for R 앱을 작성하도록 돕기 위해 system.file("skills", "shiny-for-r", package = "shiny")에 Agent Skill을 제공합니다. btw를 사용하는 에이전트는 이를 자동으로 발견하며, btw::btw_skill_install_package("shiny")로 프로젝트에 복사할 수 있습니다.
커뮤니티 지원은 Discord와 Posit Community 포럼을 통해 이용할 수 있으며, 버그 보고는 GitHub 이슈 트래커로 합니다. 기여는 CONTRIBUTING.md 지침을 따릅니다. 이 패키지는 MIT License에 따라 라이선스가 부여되며 최신 R 릴리스와 이전 네 개의 마이너 버전을 지원합니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.