Что нужно знать про MethodChannel, EventChannel и BasicMessageChannel во Flutter/Dart?
Что хотят услышать интервьюеры:
Коротко: Platform channels передают сообщения между Dart и нативным кодом: MethodChannel для вызовов, EventChannel для потоков, BasicMessageChannel для произвольных сообщений.
Ответ:
Где применяется:
- каналы асинхронны
- типы должны быть сериализуемыми
- ошибки нужно возвращать явно
Пример:
const channel = MethodChannel('app/native');
final value = await channel.invokeMethod<String>('getValue'); Как отвечать на собеседовании: объясните назначение, границы применения и почему это лучше альтернативы в конкретном сценарии. Типичная ошибка: выполнять тяжелую нативную работу на main thread.