Facebook has announced it will be open sourcing its extensible debugging tool: Sonar. Sonar was originally created to help Facebook engineers manage the complexity of working with multiple different modules.
According to the company, Sonar provides a framework where experts and developers can convey important information to users. It also provides engineers with an intuitive way for inspecting and understanding the structure and behavior of iOS and Android applications.
When it was started three years ago, Sonar was built upon Stetho, which is an Android debugging bridge built in Chrome’s developer tools. It added new features, provided a richer user experience, and works across both iOS and Android. Facebook recommends the use of Sonar over Stetho for most use cases going forward.
Some of the popular use cases that engineers can use Sonar for now include inspecting the layout of apps and inspecting network traffic and system logs coming from their applications.
According to Facebook, Sonar is made up of a desktop client and a mobile SDK. The desktop client is for interacting with users, while the SDK is installed within the Android or iOS application that engineers want to debug. The SDK then transmits data back to the desktop client.
The desktop client is built on Electron and Facebook open source projects, such as React.js, Flow, Metro, RSocket, and Yarn. The SDK is also built on top of Facebook open source projects, such as Folly and RSocket.
“We hope that open-sourcing Sonar and the accompanying plugins will provide a useful tool for other engineers working on mobile applications. These plugins can be easily integrated into existing apps using Sonar’s SDK with just a few lines of code. As we’ve already seen Sonar prove useful internally at Facebook, we think Sonar’s APIs will help other engineers build great new experiences to improve their workflows,”Emil Sjölander, a software engineer at Facebook, wrote in a post.