Выбор ответа Middle Архитектура и новая архитектура обновлено

React Native: TurboModules

Вопрос

Чем TurboModule отличается от нативного модуля старой архитектуры?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Он грузится лениво, вызывается через JSI и описан спецификацией для Codegen. Старые модули инициализировались при старте приложения и общались через мост.

Варианты ответа

  1. Его можно писать только на C++, без Kotlin, Java, Swift или Objective-C
  2. Он работает в отдельном процессе для безопасности и общается с JS через IPC
  3. Он грузится лениво, вызывается через JSI и описан спецификацией для Codegenправильный ответ
  4. Он всегда синхронный, поэтому асинхронные операции в нём реализовать нельзя

Разбор

Старые модули инициализировались при старте приложения и общались через мост. TurboModule создаётся при первом использовании, что ускоряет запуск, и вызывается через JSI. Спецификация на TypeScript даёт сгенерированные интерфейсы и проверку типов при сборке. Реализацию пишут на Kotlin/Java и Objective-C/Swift (C++ по желанию), процесс тот же, а методы могут быть и асинхронными (Promise), и синхронными.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.