+38/044/257-2444
+38/067/502-3306
+38/050/370-3627
Новости

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

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

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

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

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

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

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

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

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

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

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

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

Другие новости