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.

In Pocket speichern vorlesen Druckansicht 2 Kommentare lesen
Facebook: Debugging mittels Sonar
Lesezeit: 2 Min.
Von
  • Frank-Michael Schlede

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)