Platform channels və native inteqrasiya
Flutter-in özündə olmayan platform imkanına çatmaq üçün platform channel istifadə olunur: Dart tərəf mesaj göndərir, native tərəf (Kotlin/Swift) cavab qaytarır.
Üç növ kanal var:
- `MethodChannel` — bir dəfəlik çağırış və cavab (ən çox istifadə olunanı)
- `EventChannel` — native tərəfdən davamlı axın (sensor, batareya vəziyyəti)
- `BasicMessageChannel` — sərbəst formatlı ikitərəfli mesajlaşma
Mesajlar asinxron ötürülür və avtomatik serialize olunur — yalnız sadə tiplər (rəqəm, mətn, siyahı, map) keçir; obyekt birbaşa ötürülmür.
Interview ipucu. "Native koda nə vaxt keçirsən?" sualının güclü cavabı əvvəlcə pub.dev-i yoxladığımı deməkdir: əksər hallarda (kamera, məkan, bildiriş, fayl seçimi) hazır, yaxşı saxlanılan plugin var və öz kanalını yazmaq lazımsız xərcdir. Native kod yazıram yalnız: (1) şirkətdaxili SDK-ya bağlanmaq lazımdırsa, (2) plugin yoxdursa və ya tərk edilibsə, (3) performans üçün platform-spesifik API lazımdırsa. Bu ardıcıllıq praktik düşüncəni göstərir.
📚 Mənbələr və sənədlər
- Platform channelsrəsmidocs.flutter.dev
Kanal növləri, tip çevirmə cədvəli və Kotlin/Swift tərəfin nümunələri rəsmi sənəddədir.
- MethodChannel classrəsmiapi.flutter.dev
- Plugin-lərin testirəsmidocs.flutter.dev