Расскажите про новую архитектуру React Native
Вопрос
Чем новая архитектура React Native отличается от старой и что она даёт приложению?
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Старый мост: асинхронные JSON-сообщения пакетами, узкое место
JSI: прямые вызовы C++ из JS, синхронные при необходимости
TurboModules: ленивая загрузка и типизированные спецификации через Codegen
Fabric: C++ дерево теней, конкурентный React, синхронная раскладка
Практический эффект: быстрее старт, отзывчивее жесты и анимации, меньше ошибок типов
По умолчанию с 0.76, обязательна с 0.82; проверка библиотек
Что могут спросить следом
- Что такое interop layer?
- Делает ли JSI всё синхронным?
- Как новая архитектура связана с Reanimated?
Разбор
Образцовый ответ: «В старой архитектуре JS и натив общались через мост: сообщения сериализовались в JSON и асинхронно отправлялись пакетами. Синхронно спросить натив было нельзя, а при частых событиях мост забивался. В новой архитектуре основа JSI: C++ интерфейс, через который движок JS вызывает нативные функции напрямую и держит ссылки на нативные объекты. Поверх него TurboModules: модули загружаются лениво и описываются спецификацией на TypeScript, по которой Codegen генерирует склейку, так что ошибки типов видны при сборке. Рендеринг взял на себя Fabric: дерево теней в C++, синхронная раскладка и поддержка конкурентного React 18. На практике это быстрее старт, отзывчивее жесты и корректный useLayoutEffect. Новая архитектура включена по умолчанию с 0.76, а с 0.82 её нельзя выключить, поэтому при обновлении первым делом проверяю совместимость нативных библиотек»
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.