• Stars
    star
    387
  • Rank 108,506 (Top 3 %)
  • Language
    R
  • Created almost 6 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

shiny API for Framework7 (IOS/android)

shinyMobile

Develop outstanding {shiny} apps for iOS, Android, desktop as well as beautiful {shiny} gadgets. {shinyMobile} is built on top of the latest Framework7 template.

R build status lifecycle CRAN status

Installation

# from CRAN
install.packages("shinyMobile")
# for the latest version
devtools::install_github("RinteRface/shinyMobile")

Cheatsheet

Demo

A running demo is available here : https://dgranjon.shinyapps.io/miniUI2Demo/. Left side: android demo, right side: iOS demo.

Progressive Web App (PWA)

Configuration

{shinyMobile} is PWA capable, meaning that it can be displayed full screen on many mobile devices. This feature is automatically handled by f7Page() if allowPWA is TRUE (it leverages the Google PWA compatibility script).

To setup the necessary assets for your PWA, you may run:

remotes::install_github("RinteRface/charpente")
library(charpente)
set_pwa(APP_PATH, ...)

where APP_PATH is the app location. It only works if the app is inside a package like with {golem}. Alternatively, you may copy the www folder of the gallery app, which provides:

  • A valid service worker.
  • A valid offline.html fallback.
  • A valid web manifest. Don't forget to change the start_url property to the path of your app. For instance, the following app hosted at https://dgranjon.shinyapps.io/rstudio-global-2021-calendar/, has the /rstudio-global-2021-calendar/ path.
  • A valid set of icons. There are tools such as appsco and app-manifest, to create those custom icons and splash screens, if you need to.

It is really easier with {charpente}, the reason why we strongly recommend to develop your app inside a package.

Add the PWA to your desktop Apps

Copy the url of your app in your mobile web browser (iOS: Safari and Andoid: Chrome). In this example this is: https://dgranjon.shinyapps.io/miniUI2Demo/. It opens like a classic web app, with top and bottom ugly navigation bars.

  • Select the share button located in the bottom bar of your Iphone/Ipad. For Android, you may do something similar. Importantly, Chrome for iOS does not support this feature, that's why I recommend using Safari.
  • Click on "Add to Home Screen"
  • Choose a relevant name and click on OK.
  • The app will be added to your IOS/Android Apps. In case you want custom icons, replace the content of the www folder with your own.

Limitations

It is actually quite complex to guarantee that all mobile platforms are supported. The PWA compatibility script will work in most of the case. If not, please open an issue here, to help improving it!

Acknowledgement

A special thanks to Vladimir Kharlampidi for creating this amazing framework7 HTML template.

Code of Conduct

Please note that the shinyMobile project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

More Repositories

1

shinydashboardPlus

extensions for shinydashboard
R
446
star
2

bs4Dash

Bootstrap 4 shinydashboard using AdminLTE3
R
421
star
3

argonDash

argon dashboard template
CSS
137
star
4

shinybulma

🌐 Bulma.io for Shiny
R
111
star
5

fullPage

📄 fullPage.js, pagePiling.js and multiScroll.js for shiny
R
110
star
6

tablerDash

tabler dashboard template for shiny
CSS
83
star
7

argonR

R interface to argon HTML design
SCSS
51
star
8

charpente

Seamlessly design robust 'shiny' extensions
R
48
star
9

shinyEffects

Custom CSS effects for shiny
R
48
star
10

Unleash-Shiny

Unleash JS in your Shiny apps
JavaScript
30
star
11

cheatsheets

Cheat sheets for the RinteRface packages
28
star
12

mobileCharts

Mobile friendly charts with a familiar syntax
R
27
star
13

shinyNextUI

NextUI Design Kit for Shiny
R
26
star
14

truelle

R package providing a gadget to seamlessly initialise robust shiny related projects
R
25
star
15

shinyHeatmap

Usage Heatmap for Shiny with heatmap.js
JavaScript
22
star
16

webR4Shiny

Setup webR compatible infrastructure in your Shiny package project
R
20
star
17

waypointer

Waypoints & Animations for Shiny
R
18
star
18

shinyComponent

Single-File Components powered app
JavaScript
18
star
19

dRacula

shiny wrapper for https://github.com/dracula/dracula-ui
R
16
star
20

shinyMetroUi

shiny API for Metro 4 Ui
R
14
star
21

shinyUIkit

UIkit API for shiny
R
13
star
22

shiny386

Provides an old school Bootstrap 4 template for Shiny. It is built on top of the Bootstrap 386 HTML template
JavaScript
13
star
23

connectViz

{connectViz} offers a collection of helper functions and 'htmlwidgets' to help admins or user better understand how 'RStudio Connect' is used in their organisation. The package provides plug and play visualisations that can be customised depending on needs.
R
11
star
24

RinteRfaceVerse

Wrap-up around RinteRface templates
R
10
star
25

unleash-shiny-2021

How to properly manage JS code in a Shiny project?
JavaScript
10
star
26

swipeR

R wrapper around Swiper
R
6
star
27

flipCards

Rotating cards with Bootstrap
CSS
6
star
28

snippets

RStudio snippets for all Interface packages
R
5
star
29

skeletons

skeleton elements for Shiny apps
R
5
star
30

shinyRPG

RPG CSS theme for Shiny
R
4
star
31

pagePiling-demo

fullpage - pagePiling demo
R
3
star
32

rencontresR2021

2h shinyMobile workshop
CSS
3
star
33

AppsilonConf2022

{shinyValidator}: audit shiny apps quality through CI/CD
CSS
3
star
34

MDBr

Material bootstrap elements for shiny
R
3
star
35

rinpharma2022

R in Pharma Workshop 2022: Introduction to {shinyValidator}
HTML
3
star
36

shinyLocalStorage

R
3
star
37

charpenteTest

What the Package Does (One Line, Title Case)
R
2
star
38

Unleash-Shiny-Exercise-1

What the Package Does (One Line, Title Case)
HTML
2
star
39

rinpharma2021

Slides for my presentation
CSS
2
star
40

rinpharma2022-code

Pkg boilerplate for R in Pharma 2022: introduction to {shinyValidator}
R
2
star
41

Unleash-Shiny-Exercise-3

What the Package Does (One Line, Title Case)
HTML
1
star
42

krypton

Brand New R Shiny Template brought by Superman
1
star
43

Unleash-Shiny-Exercise-Part-3

Exercises for Part 3
JavaScript
1
star
44

fullPage-demo

fullPage - fullPage demo
R
1
star
45

Unleash-Shiny-Exercise-2

What the Package Does (One Line, Title Case)
HTML
1
star
46

shiny-server

RinteRface shiny server
1
star
47

multiScroll-demo

fullPage - multiScroll demo
R
1
star
48

rinterface-shinylive

shinylive playground for RinteRface packages
JavaScript
1
star