Lors de la conférence RStudio (25-28 juillet 2022 à Washington), son directeur technique Joe Cheng a annoncé que le framework web Shiny pour R était à présent disponible pour Python. Une version alpha est d'ailleurs téléchargeable dès maintenant. Au cours de sa présentation, le directeur a déclaré à plusieurs reprises que le framework n'en était encore qu'à ses débuts. En d'autres termes, l’usage de Shiny for Python à court terme pour des applications critiques en production n’est pas encore envisageable. En général, RStudio aime prendre son temps pour lancer ses produits finaux et demander aux utilisateurs précoces de donner leur avis avant de les dévoiler publiquement. Mais le projet Shiny for Python a été tenu secret jusqu'à la conférence.
Capture d’écran du site web de Shiny for Python. (crédit : RStudio aka Posit)
Shiny for Python rejoint des frameworks comme Dash et Streamlit dans l'espace Python. Mais pourquoi livrer un autre framework ? Sans entrer dans les détails, Joe Cheng a déclaré qu'il pensait que chaque framework faisait des compromis différents et qu'ils pouvaient coexister en fonction des besoins des utilisateurs. « Nous pensons qu'il y a de la place pour quelque chose de nouveau dans le monde Python », a-t-il déclaré. Avant de révéler le nouveau framework, le CTO de RStudio est revenu sur l'histoire de Shiny for R, rendu public il y a 10 ans, en juillet 2012. À l’époque, le langage R était considéré par beaucoup comme un langage de niche pour les statistiques et on estimait qu’il ne convenait pas à des utilisations plus larges. Cependant, Joe Cheng a expliqué qu’une particularité intéressante de R en faisait un framework idéal pour le web : contrairement à presque tous les autres langages de programmation modernes, R permet de placer les arguments « nommés » avant les « positionnels » dans une fonction.
Joe Cheng pendant son intervention lors de la conférence RStudio. (crédit : S.M.)
Un langage à succès nommé R
« R est le meilleur langage pour Shiny. J’en mets ma main au feu ! », a déclaré Joe Cheng. Avant de citer dans la foulée une déclaration faite en 2018 par Dan Callahan lors de la keynote PyCon 2018 : « Python est le deuxième meilleur langage pour n'importe quoi, c'est une aspiration incroyable ». D’après Joe Cheng, Python sera également une excellente plateforme pour le framework. Une application Shiny Python peut non seulement se déployer sur plusieurs des mêmes plateformes que Shiny for R, comme shinyapps.io et RStudio Server, mais aussi sur un serveur Web statique grâce à WebAssembly. Ce qui est impossible aujourd'hui pour les applications Shiny R. Quand on lui a demandé si cela est prévu pour Shiny avec R, M. Cheng a répondu : « C’est notre souhait, nous l'espérons vraiment ».
Parmi les autres annonces de la conférence, RStudio prévoit de changer de nom pour devenir Posit et refléter sa focalisation sur Python et Visual Studio Code.