periscope2 is a scalable and UI-standardized ‘shiny’ framework including a variety of developer convenience functions with the goal of both streamlining robust application development and assisting in creating a consistent user experience regardless of application or developer.
periscope2 is full of developer-friendly features such as:
Create and run sample app for full features demo
periscope2::create_application(name = "demo_app", location = ".", sample_app = T, right_sidebar = T)
shiny::runApp("./demo_app/", launch.browser = T)
periscope2 is available for installation from CRAN
and latest development version of periscope2 from GitHub as follows:
periscope is widely regarded and used an enterprise application development aid framework for providing the user with the ability to build a robust shiny applications and dashboards.
periscope is the direct ancestor of periscope2 in which periscope2 took most of its basic philosophy and generated applications structure.
However; as periscope2 is the next generation (iteration) of periscope package, they differ in many aspects as follow:
periscope is dependent on bootstrap 3 supported shiny packages:
While periscope2 is dependent only on bootstrap 4 supported shiny package to bring in more functionality (i.e dashboard functionality, alerts, tool-tips, etc..) and a modernized look and feel:
periscope full generated app layouts:
periscope2 full generated app layouts:
For periscope2, each part has it own UI R file that can be customized and updated. Each part also has its own dedicated alert panel, including an announcements framework as part of the header.
User can adapt layout for both packages generated apps easily via related functions (refer to r ?periscope
and r ?periscope2
for more info)
NOTE: Check package documentation and vignettes for module details
Periscope2 provides multiple RStudio add-ins to help package user to configure different generated application aspects visually and correctly. Please refer to the following documentation for each add-in details:
vignette("announcement_addin", package = "periscope2")
vignette("themeBuilder_addin", package = "periscope2")
While periscope modules can be called either via the old style (callModule
) or new style (moduleServer1
), periscope2 only supports the new module style. Check migrating to module server article for more related technical info.
fresh package is used in both packages to style generated applications different parts via configurations rather than code using the ‘www/periscope_style.yaml’ file.
While periscope uses shiny dashboard variables for styling in code and via the ‘www/periscope_style.yaml’ configuration file, periscope2 uses bs4dash related variables . The file key names use related shiny dashboard or bs4dash variables for user friendly styling in both packages.
These are included to get you started. You can either start with an empty application or an application that includes samples of the components that you can use within your application. There is extensive package documentation and full Vignettes are also available to help you with all the options.
periscope2::create_application('emptyapp', location = ".")
shiny::runApp('emptyapp', launch.browser = T)
periscope2::create_application("sampleapp1", location = ".", sample_app = TRUE)
shiny::runApp('sampleapp1', launch.browser = T)