Se si carica l'oggetto in global.R
, solo una volta deve essere caricato. Ogni utente dopo il primo dovrebbe avere un accesso veloce alla propria applicazione.
Se stai sviluppando localmente la tua app, puoi testare quello che sto dicendo nel modo seguente. Inizia la tua applicazione con, per esempio,
runApp(port=5050)
solo per impostare la porta. Hai bisogno di tempo per il tuo browser per visualizzare l'app. Dopo aver caricato, prendi nota dell'indirizzo della tua app (dovrebbe essere 127.0.0.1:5050
), chiudi la scheda del browser dell'app (ma non fermarti!), Apri una nuova scheda e inserisci l'indirizzo sopra nella barra degli indirizzi. Ora, l'accesso alla tua app dovrebbe essere molto veloce.
Questo solo per dire che finché lucido è attivo e in esecuzione, i comandi in global.R
vengono eseguiti all'inizio e la loro valutazione viene inserita nell'ambiente globale R. Non vengono eseguiti ogni volta che un utente si connette all'app.
Considerare anche che è possibile velocizzare il caricamento di un Rdata
se lo si salva con l'argomento compress=FALSE
. In questo modo, il tuo file sarà più grande, ma il caricamento sarà più veloce.
Grande aiuto! Ho provato l'esperienza basata su 'runApp (port = 5050)' e ha funzionato molto bene! Potrebbe essere ovvio, ma 'session $ onSessionEnded (function() {stopApp()}) non deve essere nel' server.R' in modo che funzioni .... Grazie anche per 'compress = FALSE': molto utile. – JPL