Platform Channels
MethodChannel, EventChannel, native code integration, Android/iOS native APIs, FFI
1Qu'est-ce qu'un Platform Channel dans Flutter ?
Qu'est-ce qu'un Platform Channel dans Flutter ?
Réponse
Un Platform Channel est un mécanisme de communication bidirectionnelle entre le code Dart de Flutter et le code natif de la plateforme (Android/iOS). Il permet d'appeler des APIs natives non disponibles dans Flutter, comme accéder aux capteurs matériels, utiliser des SDKs natifs ou intégrer du code legacy. La communication utilise un encodage binaire standardisé pour transmettre des messages asynchrones entre les deux environnements.
2Quelle est la différence principale entre MethodChannel et EventChannel ?
Quelle est la différence principale entre MethodChannel et EventChannel ?
Réponse
MethodChannel permet des appels de méthode ponctuels avec une réponse unique (requête/réponse), idéal pour des opérations comme obtenir le niveau de batterie ou exécuter une fonction native. EventChannel permet de recevoir un flux continu de données depuis le code natif sous forme de Stream Dart, parfait pour les événements récurrents comme les mises à jour GPS, les lectures de capteurs ou les notifications système.
3Quel codec est utilisé par défaut pour sérialiser les données dans un MethodChannel ?
Quel codec est utilisé par défaut pour sérialiser les données dans un MethodChannel ?
Réponse
StandardMethodCodec est le codec par défaut utilisé par MethodChannel. Il utilise StandardMessageCodec pour encoder et décoder les valeurs échangées entre Dart et le code natif. Ce codec supporte les types primitifs (null, bool, int, double, String), les listes et les maps. Pour des besoins spécifiques, il est possible de créer des codecs personnalisés ou d'utiliser JSONMethodCodec pour une sérialisation JSON.
Comment définir un nom unique pour un Platform Channel ?
Sur quel thread les appels MethodChannel sont-ils reçus côté Android natif ?
+17 questions d'entretien
Autres sujets d'entretien Flutter
Les bases de Dart
Essentiels du langage Dart
Fondamentaux Flutter
Cycle de vie des Widgets
Stockage local Flutter
Cycle de vie de l'application
Layouts & Constraints
ListView & GridView
Navigation & Routing
State Management de base
Provider Pattern
Networking & HTTP
Sérialisation JSON
Base de données locale
Formulaires & Validation
Animations
Intégration Firebase
Tests unitaires
Tests de widgets
Build & Déploiement
Gestion des packages
Mémoire & Performance
Streams & RxDart
State Management avancé
Flutter Design Patterns
Optimisation des performances
Custom Painting
Architecture d'application Flutter
Maîtrise Flutter pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement