qori.dev

Conditonal Import pada Flutter

· Qori El-Hafizh

Pada aplikasi Flutter yang menargetkan lebih dari satu platform yang berbeda mungkin membutuhkan fungsionalitas atau dependency yang berbeda. Misal pada platform developer dapat mengimport dart:html untuk memanipulasi DOM tetapi di platform native (android, ios, desktop) tidak bisa. Untungnya Dart mendungkung conditional import.

Syntax conditional import

import 'interface.dart'
    if (dart.library.io) 'native.dart' 
    if (dart.library.html) 'web.dart';

File interface.dart hanya berisi Stub yang mendeskripsikan fungsi2 yang harus ada. Import statement diatas akan mengecek apakah compiler dapat mengakses library yang menjadi parameter di if(). Semua library yang diimport harus memiliki jumlah dan bentuk fungsi yang sama.