Platform Channels
MethodChannel, EventChannel, інтеграція нативного коду, нативні API Android/iOS, FFI
1Що таке Platform Channel у Flutter?
Що таке Platform Channel у Flutter?
Відповідь
Platform Channel — це механізм двостороннього зв'язку між Dart-кодом Flutter і нативним кодом платформи (Android/iOS). Він дозволяє викликати нативні API, недоступні у Flutter, наприклад доступ до апаратних датчиків, використання нативних SDK чи інтеграцію legacy-коду. Зв'язок використовує стандартизоване двійкове кодування для передачі асинхронних повідомлень між обома середовищами.
2Яка основна різниця між MethodChannel і EventChannel?
Яка основна різниця між MethodChannel і EventChannel?
Відповідь
MethodChannel дозволяє одноразові виклики методів з єдиною відповіддю (патерн запит/відповідь), ідеальний для операцій на кшталт отримання рівня заряду батареї чи виконання нативної функції. EventChannel дозволяє отримувати безперервний потік даних із нативного коду у вигляді Dart Stream, ідеальний для повторюваних подій, як-от оновлення GPS, зчитування з датчиків чи системні сповіщення.
3Який кодек використовується за замовчуванням для серіалізації даних у MethodChannel?
Який кодек використовується за замовчуванням для серіалізації даних у MethodChannel?
Відповідь
StandardMethodCodec — це кодек за замовчуванням, який використовує MethodChannel. Він застосовує StandardMessageCodec для кодування та декодування значень, що обмінюються між Dart і нативним кодом. Цей кодек підтримує примітивні типи (null, bool, int, double, String), списки та мапи. Для специфічних потреб можна створювати власні кодеки або використовувати JSONMethodCodec для JSON-серіалізації.
Як визначити унікальне ім'я для Platform Channel?
На якому потоці отримуються виклики MethodChannel на нативному боці Android?
+17 питань зі співбесід
Інші теми співбесід Flutter
Основи Dart
Основи мови Dart
Основи Flutter
Життєвий цикл віджетів
Локальне сховище
Життєвий цикл застосунку
Layouts & Constraints
ListView & GridView
Навігація та маршрутизація
Базове керування станом
Provider Pattern
Networking & HTTP
Серіалізація JSON
Локальна база даних
Форми та валідація
Анімації
Інтеграція Firebase
Модульне тестування
Тестування віджетів
Збірка та розгортання
Керування пакетами
Пам'ять та продуктивність
Streams & RxDart
Просунутий State Management
Flutter Design Patterns
Оптимізація продуктивності
Custom Painting
Архітектура застосунків Flutter
Опануй Flutter для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно