Speaker
Description
Web front-ends offer seamless deployment across desktop and mobile platforms, with an ever growing variety of libraries enabling rich, interactive user experiences. However, integrating these modern web technologies with R's powerful analytic capabilities presents significant challenges.
Rserve is an R library that enables two-way communication between R and other programming environments, including TypeScript. While tools like ReactJS excel at building interactive interfaces, combining them with R for data processing and analysis is not straightforward. Three primary challenges emerge when using Rserve in web applications: implementing type safety for a native TypeScript developer experience; managing complex application architecture, particularly with hierarchical and conditional features; and synchronising application state between the front-end and R backend.
To address these challenges, I have developed a suite of software packages that simplify building stateful web applications with Rserve. The rserve-ts package provides a modern TypeScript library with a fully typed and modernised API for interacting with Rserve, ensuring type safety throughout the development process. RserveTS enables R users to write R functions and design stateful widgets that integrate seamlessly into web applications. The react-rserve package provides React hooks that deliver a native React developer experience.
In this talk, I will introduce these packages and demonstrate how they can be used to build complex, data driven web applications powered by R.
If you used AI tools or services to support the preparation of this submission, please state the name and reason for using each of them.
Cursor AI to fix flow, remove repetition, re-word some phrases.
Additional Material or Paper
https://github.com/tmelliott/rserve-ts, https://github.com/tmelliott/RserveTS, https://github.com/tmelliott/react-rserve
| Keywords: Please list up to 5 keywords to help us find the right session for your contribution. | rserve, typescript, react, web applications, r packages |
|---|---|
| Virtual Option | This submission is for onsite presentation only |
| Video Recording | Video sharing is fine |
| The author(s) agree(s) to take responsibility and be accountable for the contents of the submission and is/are authorized to present it. | Confirm |