Quelle bibliothèque javascript utiliser pour construire l’interface utilisateur d’une application métier ? Un choix qui peut se révéler majeur pour une agence de développement de logiciels métier comme Oniti. Avis aux dogmatiques, cet article reflète les orientations technologiques d’Oniti pour ses activités de création de logiciels métier. Il n’a pas vocation à asséner une vérité absolue, mais bien à partager notre retour d’expérience.
AngularJS versus React JS
À ce titre, il est bon de revenir sur la première croisée des chemins. Ainsi, historiquement, c’est React JS, la bibliothèque JavaScript libre développée par Facebook, qui avait séduit l’équipe, au détriment de AngularJS, le framework JavaScript libre et open source développé par Google. David revient sur cette alternative : « À l’époque, AngularJS était la bibliothèque la plus utilisée et React JS était la technologie montante. Or, une scission venait d’avoir lieu entre Angular 1.3 et Angular 2 avec d’importants dégâts pour les utilisateurs. La solution portée par Facebook nous a semblé plus pérenne. Pendant plusieurs années, nous avons donc utilisé React JS pour la création des logiciels de nos clients. »
David Dirigeant
Vue.js, un choix né de la démarche de veille d’Oniti
Début 2020, React JS s’est mis à imposer des mises à jour conséquentes et peu guidées à ses utilisateurs. Pour le dirigeant d’Oniti, « maintenir les logiciels métier représentait alors des reprises d’interfaces importantes et chronophages. Dans notre démarche de veille, nous avions identifié Vue.js et début 2021, nous l’avons adoptée pour réaliser les interfaces de nos nouvelles applications. »
Pour Oniti, VueJS présente les bénéfices suivants :
- une façon plus efficace et plus rapide d’écrire la même interface,
- des évolutions qui s’inscrivent davantage dans la continuité,
- une documentation de meilleure qualité
- une implication de la communauté technique supérieure à celle de ReactJS,
- une meilleure synergie avec l’outil backend PHP/Laravel,
- une approche plus cadrée et encadrante.
Le temps de compilation, un indicateur de stabilité
Sur React, nous avions choisi material UI, qui suivait les évolutions de React. Du fait de ses nombreuses versions, il était devenu très lourd à compiler, le temps de processing du logiciel devenait handicapant pour le développeur. Pour Vue, nous utilisons Quasar, qui est plus stable et nous apporte des temps de compilation beaucoup plus acceptables.
L’intégration facilitée des nouveaux développeurs
« La facilité d’intégration d’un apprenant sur une techno est fondamentale » rappellent également David et François. « React JS est complexe en écriture. Vue.js propose une approche plus user friendly, la marche technique est moins importante à franchir. » Comme le souligne David, « la raison d’être de ces solutions est d’être facilitatrice pour un éditeur de logiciel comme Oniti. Utiliser une techno rebutante pour les nouvelles recrues serait une hérésie. »
François Concepteur développeur
Une veille techno en continu
Pour conclure, David présente la nouvelle organisation d’Oniti « Depuis la rentrée de septembre 2021, les premiers vendredis de chaque mois, une rétrospective technique permet d’identifier des axes d’amélioration sur nos projets historiques. Ces ateliers ont pour but de prendre du recul et d’être force de proposition sur les axes suivants : maintenabilité, sécurité, efficacité et confort. Nous émettons des études d’opportunité pour nos clients qui peuvent aboutir à des migrations de React JS vers Vue.js. »
Une réponse
Bonjour à tous. Je tiens à vous remercier pour cet article très utile, qui offre un éclairage intéressant sur l’évolution des choix technologiques en matière de développement d’applications, en mettant en avant la transition d’Oniti de React JS à Vue.js. À travers l’expérience de l’équipe, il est clair que les décisions technologiques ne reposent pas seulement sur les tendances du moment, mais aussi sur des considérations pratiques concernant la maintenance des logiciels et l’efficacité du développement logiciel univirtual. Au départ, l’équipe d’Oniti a opté pour React JS, alors que AngularJS dominait le marché. Cependant, avec le temps, les changements imposés par React JS, notamment des mises à jour non guidées, ont conduit à des défis majeurs. Cela illustre parfaitement comment la capacité à s’adapter aux exigences changeantes du développement application est importante pour le succès des projets