Написать пост

Facebook открыла исходный код инструмента отладки Sonar

Аватар Рамис Ганиев

Раньше инструмент отладки был доступен только инженерам компании. Ожидается, что Sonar ускорит разработку мобильных приложений.

Команда Facebook объявила об открытии исходного кода отладчика Sonar для Android и iOS приложений. Возможности кроссплатформенного инструмента расширяются при помощи дополнений и позволяют разработчикам обмениваться информацией о каждом модуле проекта.

Зачем нужен Sonar?

Facebook объяснила, что при разработке сложного приложения ни один сотрудник не знает, как работает каждый модуль. Разбросанность информации мешает команде добавлять новые функции, исследовать ошибки и оптимизировать работу для повышения производительности.

Новый отладчик позиционируется как средство объединения знаний о структуре приложений. На его создание команду Facebook вдохновил Stetho, входящий в состав средств разработки Chrome. Создатели Sonar снабдили новый продукт более понятным интерфейсом, поддержкой плагинов и платформ Android и iOS.

Facebook открыла исходный код инструмента отладки Sonar 1

Facebook выделила три полезные возможности Sonar:

  • наглядное отображение компонентов Litho и ComponentKit для более четкого понимания иерархии проекта;
  • наложение потока запросов GraphQ против необработанных сетевых событий;
  • анализ производительности в реальном времени для быстрого устранения проблем.

Как устроен отладчик?

Sonar состоит из двух частей: настольного клиента и мобильного SDK. Первый основан на open source проектах React.js, Flow, Metro, RSocket и Yarn, второй — на Folly и RSocket. Пользователи взаимодействуют с настольным клиентом, а SDK внедряется в разрабатываемое приложение и передает данные для отладки.

Набор плагинов позволяет проверять компоновку приложений, сетевой трафик и системные журналы. Составные инструменты Sonar фактически являются плагинами, а ядро отладчика служит связующим звеном.

Facebook открыла исходный код инструмента отладки Sonar 2

Для расширения возможностей Sonar необходимо написать плагин для обеих частей. Клиентская часть требует только компонент React для связи с SDK. Мобильный плагин для iOS разрабатывается на языке Swift или Objective-C, а для Android — на Java или Kotlin. Он выполняет роль серверного приложения для обработки клиентских запросов: регистрирует набор обработчиков и определяет ответы для них.

Более подробную инструкцию по использованию Sonar можно найти в документации.

Facebook часто открывает для разработчиков новые инструменты. В марте 2018 года она представила программный интерфейс Games SDK для создания игр с поддержкой С++ и Unity.

Следите за новыми постами
Следите за новыми постами по любимым темам
1К открытий1К показов