Tous les navigateurs intègrent un inspecteur, une interface chargée d’analyser et de décortiquer la page web actuellement affichée, de voir toutes les ressources utilisées pour la construire et surtout, de voir les erreurs envoyées par le navigateur. C’est un outil indispensable pour les développeurs web, mais il n’a pas d’équivalent aussi universel pour les développeurs d’apps mobile. Apple propose ses propres outils dans Xcode, néanmoins ils ne peuvent servir qu’aux apps iOS et encore, surtout à celles qui sont développées en utilisant Swift ou Objective-C, les deux langages de développement de l’entreprise.
Avec Sonar, Facebook entend proposer l’équivalent de l’inspecteur web, mais pour les apps mobile, alors qu’elles fonctionnent sur l’ordinateur local dans un simulateur, ou bien directement sur un appareil relié à l’ordinateur. Ce nouvel outil est proposé à tous les développeurs iOS et Android et il sert par défaut à inspecter trois éléments :
- les logs, qui contiennent souvent des informations cruciales pour comprendre l’origine d’un bug ;
- le réseau, pour voir toutes les requêtes envoyées et reçues par l’app, et les corriger en cas de besoin ;
- l’interface, pour inspecter chaque élément et même modifier ses valeurs sans toucher au code source.
Ces trois fonctions de base sont fournies par Facebook avec Sonar, mais l’ensemble repose sur des modules et les développeurs pourront en créer de nouveaux pour enrichir les informations remontées depuis l’app mobile. Côté iOS ou Android, ces modules sont écrits en langage natif ; côté macOS1, Sonar exploite Electron, le framework qui permet de créer une app multiplateforme à partir de technologies du web, et React, le framework JavaScript de Facebook.
Sonar a été développé par Facebook et il est utilisé par le réseau social, mais c’est un projet open-source. L’intégralité du code source peut être téléchargé sur GitHub et n’importe qui peut apporter sa contribution, notamment pour créer des modules supplémentaires. Vous pouvez en apprendre plus en lisant la documentation qui détaille la procédure d’installation et le fonctionnement de l’ensemble.
-
Pour l’heure, seule une version macOS est distribuée par Facebook, mais on imagine que l’app sera ensuite proposée sur Windows et Linux. ↩︎