Flutter

Platform Channels

MethodChannel, EventChannel, native code integration, Android/iOS native APIs, FFI

20 questions d'entretien·
Senior
1

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.

2

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.

3

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.

4

Comment définir un nom unique pour un Platform Channel ?

5

Sur quel thread les appels MethodChannel sont-ils reçus côté Android natif ?

+17 questions d'entretien

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