在 rstudio::conf(2022) 大会上官宣的黑科技 webR 今天正式发布了:
https://www.tidyverse.org/blog/2023/03/webr-0-1-0/

webR 提供一个编译到 WebAssembly 的 R 解析器,可以完全在浏览器客户端运行而无需动态服务器。同时提供了一个 TypeScript 库用于和 R 交互。

同样在 rstudio::conf(2022) 大会上官宣的 Shinylive 实现完全在浏览器中运行的 Shiny for Python 应用也使用了类似的技术 Pyodide (编译为 WebAssembly 的 Python)。

后续报道:Bob Rudis 分享了他制作的极简 demo:1. 生成随机数, 2. 使用 jsonlite 转换 mtcars 为 JSON,传递给 Observable Plot 做可视化:https://rud.is/b/2023/03/09/webr-is-here/

19 天 后

感觉挺适合我这种搞R+JS的,不过目前没有想到有什么合适的需求能做来玩玩🤔

    InfinityLoop 我就想到一个需求,可以用来做统计相关的益智游戏,以 Guess the Correlation 为例,除了交互,核心逻辑现在几行就可以写完了 🤔

      nan.xiao 有点意思。不过看了下webR启动速度还是比较慢,用户操作起来可能还是不特别舒服。对于程序员偷懒来说倒也还行,写起来很简单。但对用户不友好的话还是趋向于玩具性质了。

        InfinityLoop 在我这一般速度还行,不过网速慢的情况是存在的…… 所以首先需要做一个无缝加载 WebR 的 loader 库用来展示加载进度,那么新的需求产生了 🙈

        至于再往下的 UX 问题,我个人觉得等 Shiny for R 全都移植进去了就好说了。