Sonar 是一个用于调试 iOS 和 Android 移动应用的平台,通过一个简单的界面,开发者可以可视化地审查和控制其 APP,除了可以直接使用,Sonar 还支持使用插件 API 进行扩展。
三年前 Facebook 已经开源过一款基于 Chrome 开发者工具的 Android 调试桥 Stetho,此次发布的 Sonar 比之更加先进,主要体现在 跨平台 、 更丰富的用户体验 ,以及最主要的 可扩展性 ,官方建议开发者使用 Sonar 替代 Stetho。
Facebook 介绍,Sonar 已经被使用于内部许多项目中,其中的一些使用样例包括:
通过显示 Litho 和 ComponentKit 组件,使工程师能够更精确地访问他们正在使用的功能的视图结构。
处理 GraphQL 请求,而不是原始网络事件。
实时跟踪性能指标,使开发人员能够更轻松地查找性能问题。
Sonar 由两部分组成:桌面客户端和移动 SDK。 Sonar 使用者与桌面客户端进行交互,而移动 SDK 则安装在工程师想要调试的 Android 或 iOS 应用程序中,之后将数据传输到 Sonar 桌面客户端。桌面客户端基于 Electron 和 Facebook 的开源项目,包括 React.js、Flow、Metro、RSocket 和 Yarn;移动 SDK 也大量使用 Facebook 的开源项目,如 Folly 和 RSocket。