【问题标题】:MVC pattern in RR中的MVC模式
【发布时间】:2016-03-04 10:45:34
【问题描述】:

我是 R 新手,我需要在 R 中开发一个 Web 应用程序,并且必须创建一个登录页面和一个私有区域。我用闪亮的。问题是我在 github、shiny site 和 google 上进行了很多研究,而我唯一能找到的教程就是这个 http://shiny.rstudio.com/gallery/authentication-and-database.html。但问题是它使用 ui.r 作为界面,我希望灵活并用 HTML 构建它。

是否有任何框架或库或教程可用于构建遵循 MVC 模式的 Web 应用程序,至少可以创建登录页面和私有区域(全部在 HTML 中)?而且,最重要的是,能够加载不同的 HTML 页面,具体取决于用户是否正确登录、其权限等。

编辑

我刚刚读到:

每个 R 进程只能运行一个 Shiny 应用程序。每个 Shiny 应用程序仅设计为运行一个页面。 (尽管有些人,例如 Vincent Nijs 已经尝试在单个服务器上处理多个 HTML 文件。R)

一种解决方案是尝试将您的应用程序重新设计为一个可以切换不同“模式”的页面(您可以使用 tabsetPanel 或者更喜欢 JavaScript,这里的其他一些人(例如 Vincent)已经实现了导航栏)。

所以有可能。

【问题讨论】:

    标签: javascript html r model-view-controller


    【解决方案1】:

    我对 Shiny 的理解是,虽然它允许灵活性并且可以合并自定义 HTML,但它是专为那些不是全栈 Web 开发人员(例如我)的人设计的。因此,它可能不符合您的控制偏好。

    我建议查看OpenCPU,将 R 集成到您的偏好框架中。

    来自他们的网站:

    OpenCPU 是一个用于嵌入式科学计算和可复现的系统 研究。 OpenCPU 服务器提供了可靠且可互操作的 用于基于 R 的数据分析的 HTTP API。您可以使用公共的 服务器或托管您自己的。

    【讨论】:

      【解决方案2】:

      例如,按照 MVC 架构作为 ASP.NET MVC,我认为它在 Shiny 中不可用,但是您可以将您的应用程序构建为一组模块,然后,您可以跨这些模块发送和接收数据你想要的。

      • 这里是制作自定义 HTML 页面并在闪亮的应用程序中引用它的示例
      1. 您的自定义索引 HTML 页面:

      <!DOCTYPE html>
          <!-- template.html -->
          <html>
            <head>
              {{ headContent() }}
            </head>
            <body>
              <div>
                {{ button }}
                {{ slider }}
              </div>
            </body>
          </html>
      1. 闪亮应用中的 ui.R 文件

       htmlTemplate("template.html",
            button = actionButton("action", "Action"),
            slider = sliderInput("x", "X", 1, 100, 50)
          )
      1. 参考文献

      我发现了一个非常有趣的包,您可以使用它来帮助您使用 Shiny 构建更复杂的应用程序,它的名字是 golem

      【讨论】:

        猜你喜欢
        • 2010-12-04
        • 1970-01-01
        • 1970-01-01
        • 2012-01-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-26
        • 2020-02-25
        相关资源
        最近更新 更多