因为最近两个框架都用了用,实际运用比较了一下,有点心得。虽然网络上很多文章分别介绍了Shiny和FastRWeb,但还没有文章比较过二者,很多初学者可能也有这样的疑问,故简单叙述一二,不对的地方请海涵并请教。
相同点:二者都可以响应TCP/IP请求,给R安上Server的翅膀。
不同点:Shiny是RStudio公司开发的一个包包,定位于交互式呈现数据,更加动态,Shiny包内建了Shiny-server,所以在本机运行没有问题,如果你想发布shiny Rscript(也叫Shiny App)到个人网站的话,需要安装shiny-server。
免费的shiny-server不支持用户认证和ssl,意味着你只能用来部署个人小型项目,如果是商业性的项目,必须且不得不购买shiny-server pro了,因为商业项目必然涉及到用户注册和分组策略。
以下截图是shiny-server免费版(也叫Open Source版),RStudio Connect和Shinyapp.io(RStudio公司推出的云服务)的功能比较:
有很多SCI文章的数据库是用shiny展示的,实际效果不佳,反应缓慢,如果仅仅是展示数据或简单的R脚本,可以用FastRWeb。
FastRWeb也是一个框架,原理是调用R脚本生成图片后用base64回传,适合展示没有很强交互需求的图像,比较适