r语言 - 记录一个闪亮的应用程序



是否有任何方法为R闪亮应用程序生成文档?

如果没有文档,维护一个闪亮的应用程序将变得非常困难。

似乎所有的测试/文档生态系统都是为R包结构创建的。也许我们可以模仿/扩展这种行为为一个闪亮的应用程序?

示例:

响应式表达式通常是一个R元素,它可以包含复杂的数据结构。

   filtered_dat <- reactive({ 
      dx[ NAME == input$crr & TOU == input$tou & 
            PlotYear == input$year. & PlotMonth == input$season]
    })

为了给出更多的上下文,我在这里使用R shiny构建一个完整的web应用程序。所有的业务逻辑都包装在一个单独的包中。

对于测试Ui,我认为它很复杂(例如可以使用Rselenium),但是从roxygen2注释生成文档只是解析。拥有这样的工具应该很容易。

这是个好问题。如何用Shiny创建一个复杂清晰的web应用程序?我相信组织一个巨大的项目是Shiny架构的弱点。

首先,Shiny只在一个html文档中创建一个web。这个文档是分层的,要开发一个庞大的应用程序,你需要正确地管理这些层。然而,这带来了一个重要的问题:如何组织代码?

在这里,有不同的方法可以做到这一点。事实上,你可以应用不同的方法,如Joe Cheng:

  • https://github.com/jcheng5/shiny-partials

在我的案例中,在一个大项目中,我实现了MVC模式,但使其适应Shiny架构。

update

添加一个闪亮应用程序示例


没有一个理想的解决方案,但这基本上是我正在做的,以处理我的闪亮的应用程序,以创建一个健壮的和良好的"文档"闪亮的应用程序:

  • 创建一个包,将所有的逻辑放在其中。不要担心从包中调用输入/输出结构作为参数。还要尝试在包中创建一些控件。例如,您可以拥有一些基本闪亮控件的内联版本。

一个典型的包将有这样的结构:

 R
     ui-view1.R
     ui-view2.R
     server-server1.R
     server-server2.R
     controls.R
  • 创建一个闪亮的应用程序,以一种反映不同应用程序元素的方式构建。基本上为每个应用页面创建一个视图/服务器文件。当然,你可以把闪亮的应用程序放在inst/ui下,或者放在一个单独的项目中。

下面是一个例子:

 app 
     ui.R
     server.R
     global.R
     views
        view1.R
        view2.R
     servers
        server1.R
        server2.R
     init 
        global1.R
        gloabl2.R

相关内容

  • 没有找到相关文章

最新更新