Kerangka kerja GetX, GetPage, App Route, Bindings, dan Controller dalam flutter

Konten [Tampil]

 


1. GetPage:

GetPage adalah objek yang digunakan untuk mendefinisikan halaman atau rute dalam aplikasi GetX. Setiap GetPage terhubung dengan widget Flutter yang merupakan tampilan halaman tersebut. GetPage juga bisa memiliki binding dan konfigurasi lainnya seperti transition. GetPage berfungsi sebagai pengaturan navigasi dan memungkinkan Anda mendefinisikan halaman serta memasang controller dan binding yang terkait dengan halaman tersebut.

2. App Route:

App Route adalah representasi dari halaman atau rute dalam aplikasi yang digunakan untuk melakukan navigasi antara halaman-halaman tersebut. Dalam GetX, GetPage digunakan untuk mendefinisikan halaman atau rute dalam App Route. Dengan menggunakan App Route, Anda dapat menentukan rute yang akan dijalankan saat melakukan navigasi.

3. Bindings:

Bindings digunakan untuk mengatur injeksi dependensi dalam halaman atau rute tertentu. Dalam GetX, Anda dapat menggunakan Bindings untuk menginisialisasi dan menyediakan instance dari controller, repository, atau dependensi lain yang dibutuhkan oleh halaman atau rute tersebut. Bindings memastikan bahwa dependensi yang diperlukan tersedia saat halaman atau rute tersebut dibuat.

4. Controller:

Controller adalah kelas yang bertanggung jawab untuk mengelola logika bisnis dan state dalam sebuah halaman atau rute. Controller dapat digunakan untuk mengatur data, menerima input dari pengguna, dan memperbarui tampilan ketika ada perubahan state. Dalam GetX, Anda dapat menggunakan controller untuk mengatur logika bisnis dan state dalam halaman atau rute, serta mengakses data dari repository atau sumber daya eksternal.

Dengan menggunakan GetPage, App Route, Bindings, dan Controller, Anda dapat membangun aplikasi dengan manajemen navigasi yang kuat, manajemen state yang efisien, dan injeksi dependensi yang mudah. Masing-masing komponen ini berperan penting dalam struktur dan fungsionalitas aplikasi GetX.

Misalkan kita memiliki aplikasi ToDoList sederhana dengan dua halaman, yaitu halaman beranda (HomePage) dan halaman detail tugas (TaskDetailPage). Kita juga memiliki controller (TaskController) untuk mengelola daftar tugas.

1.1 GetPage:

Dalam halaman beranda (HomePage), kita menggunakan GetPage untuk mendefinisikan rute dan halaman beranda. GetPage akan terhubung dengan widget Flutter yang merupakan tampilan halaman beranda.

GetPage(

  name: '/',

  page: () => HomePage(),

  binding: HomeBinding(),

),

2.1 App Route:

App Route digunakan untuk melakukan navigasi antara halaman-halaman dalam aplikasi. Dalam kasus ini, kita menggunakan App Route untuk menentukan rute yang akan dijalankan saat melakukan navigasi ke halaman beranda. 

Get.toNamed('/');


3.1 Bindings:

Bindings digunakan untuk mengatur injeksi dependensi dalam halaman atau rute tertentu. Dalam halaman beranda (HomePage), kita menggunakan binding (HomeBinding) untuk menyediakan instance dari controller (TaskController) yang diperlukan. 

 class HomeBinding implements Bindings {

  @override

  void dependencies() {

    Get.lazyPut<TaskController>(() => TaskController());

  }

}


4.1 Controller:

Controller (TaskController) bertanggung jawab untuk mengelola logika bisnis dan state dalam halaman beranda (HomePage). Dalam halaman beranda, controller digunakan untuk mengatur daftar tugas dan melakukan operasi seperti menambah atau menghapus tugas. 

class HomePage extends StatelessWidget {

  final TaskController taskController = Get.find<TaskController>();


  @override

  Widget build(BuildContext context) {

    // Mengakses daftar tugas dari controller

    final tasks = taskController.tasks;


    // ...

  }

}


 

Previous Post Next Post