Выбор ответа Middle Платформенные каналы обновлено
Flutter: зачем Pigeon
Вопрос
Главное преимущество Pigeon перед ручным MethodChannel?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Типобезопасность: интерфейсы и модели генерируются для Dart, Kotlin и Swift. Pigeon генерирует код каналов: ошибка в имени метода или типе аргумента ловится компилятором, а не в рантайме.
Варианты ответа
- Типобезопасность: интерфейсы и модели генерируются для Dart, Kotlin и Swiftправильный ответ
- Pigeon вызывает нативный код синхронно, без каналов и без сериализации
- Pigeon позволяет вызывать нативный код Android и iOS прямо из веб-версии
- Pigeon не требует писать нативный код вообще, реализацию он генерирует сам
Разбор
Pigeon генерирует код каналов: ошибка в имени метода или типе аргумента ловится компилятором, а не в рантайме. Под капотом это те же асинхронные сообщения через BinaryMessenger. Нативную реализацию всё равно пишете вы, просто реализуете сгенерированный интерфейс. Синхронный вызов C-функций даёт FFI.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.