Facebook: Debugging mittels Sonar frei verfügbar

Facebook hat mit Sonar ein Tool als Open Source freigegeben, das die eigenen Entwickler unter anderem zum Debuggen und Verwalten des Social Network einsetzen.

 –  2 Kommentare
Facebook: Debugging mittels Sonar

Facebooks Software-Ingenieur Emil Sjölander hat in einem Blogeintrag bekanntgegeben, dass sein Unternehmen ein selbstentwickeltes Cross-Plattform-Debugging-Tool mit dem Namen Sonar ab sofort als Open-Source-Projekt bereitstellt. Entwickler sollen mit Sonar ein Werkzeug an die Hand bekommen, mit dessen Hilfe sie die Struktur und das Verhalten ihrer iOS- und Android-Anwendungen untersuchen und besser verstehen können.

Sonar besteht grundsätzlich aus zwei Teilen: einem Desktop-Client und einem Mobile SDK. Entwickler, die Sonar einsetzen, arbeiten und interagieren mit dem Desktop-Client. Das SDK wird zusammen mit der Android- oder iOS-Anwendung installiert, die die Entwickler untersuchen möchten. Es transportiert die Daten zum Desktop-Client. Dieser Client wurde auf Basis von Electron und verschiedenen Open-Source-Projekten von Facebook entwickelt. Dazu gehören unter anderem React.js, Flow, Metro, RSocket und Yarn. Auch das Mobile SDK macht von den Open-Source-Projekten Gebrauch und nutzt beispielsweise Folly und RSocket.

Mit Sonar können Entwickler unter anderem auch die Layouts ihrer iOS- und Android-Apps untersuchen. (Bild: Facebook)

Die Facebook-Entwickler haben Sonar so angelegt, dass die Software leicht zu erweitern ist. So haben sie im Rahmen ihrer Arbeiten mit dem Tool bereits eine große Anzahl von ergänzenden Plug-ins entwickelt. Es existieren sowohl Plug-ins speziell für den Facebook-spezifischen Einsatz als auch solche für mehr generische Zwecke. Sämtliche Plug-ins stellt Facebook zusammen mit Sonar als Open Source zur Verfügung.

Entwickler können zudem laut Aussagen von Sjölander Sonar recht einfach durch eigene Plug-ins erweitern. Dazu müssen sie ein Plug-in für den Desktop-Client, mit dessen Hilfe das UI gerendert wird, und eines für das SDK schreiben, durch das die Daten dann bereitgestellt werden. Dabei ist die React-Komponente für die Kommunikation mit dem Mobile SDK Plug-in verantwortlich. Es ist zudem in der Lage, auch Kommandos zurück an das SDK zu schicken. Wer ein Mobile SDK Plug-in entwickelt, wird dies in der nativen Programmiersprache der jeweiligen Plattform tun, auf dem es dann zum Einsatz kommt. Entwickler können daher beispielsweise Swift/Objective-C auf iOS und Java/Kotlin auf Android einsetzen.

Sonar steht auf GitHub bereit und Facebook bietet zum Einstieg umfangreiche Getting-Started-Dokumente auf der Sonar-Website an. (fms)