webR et la nouvelle génération d’applications avec R
Au cours des derniers mois, j’ai partagé comment webR transformera notre manière de créer des applications intégrant R.
Si vous ne le savez pas encore, webR est une compilation de R en WebAssembly. En termes simples, cela permet à R de fonctionner dans des environnements JavaScript. Si vous êtes familier avec le concept, vous savez que c’est un peu plus complexe — mais restons simples pour l’instant.
Je suis convaincu que webR redéfinira la façon dont nous concevons des applications exploitant la puissance de R. Et aujourd’hui, nous franchissons une nouvelle étape majeure : les applications mobiles natives.
R, sur votre mobile
Jusqu’à présent, les applications mobiles utilisant du code R étaient principalement servies grâce à {shiny}, notamment avec {shinyMobile}. Cependant, ce ne sont pas des applications mobiles natives. Elles :
- Ne peuvent pas être installées depuis un store,
- N’ont pas accès aux API de votre téléphone (pas de vibrations par exemple),
- Ne peuvent pas réellement fonctionner hors ligne.
En résumé, ce sont des sites web qui ressemblent à des applications mobiles — répondant à un besoin, mais intrinsèquement limitées.
Une application mobile native avec R intégré
C’est là qu’intervient webR. Ces dernières semaines, nous avons travaillé sur une application mobile qui exécute du R. Nativement, sans serveur R requis, et utilisable sur Android et iPhone.
Note : Les captures d’écran ci-dessous sont volontairement pixelisées pour garder la surprise 😉
L’application : un jeu simple avec du R derrière
Nous avons conçu un jeu où vous devez deviner à quel package appartient une fonction. Voici comment cela fonctionne :
- L’application récupère les packages installés, en sélectionne trois au hasard et choisit une fonction aléatoire parmi l’un d’eux.
- Vous devinez le package.
- Si vous avez raison, le package {praise} vous félicite avec un message encourageant.
- Sinon, vous continuez jusqu’à trouver le bon package.
Vos tentatives sont stockées localement dans une base SQLite, et l’application propose un second onglet affichant un graphique qui visualise vos performances.
Bien sûr, l’objectif de ce jeu n’est pas de mémoriser toutes les fonctions R. Il vise à démontrer qu’il est désormais possible d’avoir une application mobile avec R intégré. Une application réactive, user-friendly, et dotée de fonctionnalités mobiles comme les vibrations et la prise en charge hors ligne. Oui, vous pouvez activer le mode avion et utiliser l’application sans problème.
Envie de rester informé.e ?
Nous avons consacré beaucoup d’efforts à ce projet et nous préparons maintenant son lancement sur les magasins d’applications mobiles.
Si vous souhaitez être informé.e dès que l’application sera disponible, remplissez le formulaire ci-dessous, et nous vous enverrons un email dès sa sortie !