Caraguna
  • Home
  • Investasi
  • Teknologi
  • Jaringan
  • Berita
  • Blogging
  • Property
No Result
View All Result
Caraguna
  • Home
  • Investasi
  • Teknologi
  • Jaringan
  • Berita
  • Blogging
  • Property
No Result
View All Result
Caraguna
No Result
View All Result
state management flutter

Pengenalan State Management Flutter dan Jenis-jenisnya

Roziq by Roziq
June 22, 2022
in Android, Framework, Mobile
0
Share on FacebookShare on Twitter

State Management – seperti yang kita ketahui Flutter adalah Cross-Platform Mobile App SDK (Software Development Kit) untuk membuat aplikasi Android dan iOS dalam satu codebase dengan performa tinggi. Hingga saat ini, flutter digunakan untuk mengembangkan aplikasi Web, Linux, dan MacOS.

Lalu, apa itu state? perlukah kita mengelola state ketika mengembangkan aplikasi dengan flutter? Ketika kamu menjelajahi flutter, akan ada waktu dimana kamu akan menggunakan data yang dapat diakses lebih dari satu halaman, atau kamu ingin terjadi perubahan pada screen (layar) ketika data berubah tanpa harus me-redraw semua komponen halaman tersebut.

You might also like

Design thinking

Design Thinking: Pendekatan Kreatif dalam Memecahkan Masalah Kompleks

February 14, 2024
Apa itu Sealed Flutter

Apa itu Sealed Class di Flutter?

December 10, 2023

Apa itu State Management?

State management adalah sebuah cara untuk mengatur data / state kita bekerja, bisa juga untuk memisahkan antara logic dan view, dimana logic tersebut juga bisa reusable.

state management explainer

Cara kerja state management seperti provide and listen, artinya adalah kamu bisa memasukan state yang kemungkinan bisa berubah sewaktu waktu, lalu widget yang subscribe (listen) dengan provider yang kita buat akan berubah sesuai dengan state yang berubah.

Setiap bagian dalam flutter terbuat dalam bentuk widget. Terdapat dua widget yang memiliki perlakukan state yang berbeda, yaitu stateful dan stateless widget.

Apa perbedaan keduanya?

  • Stateless merupakan widget yang dimuat secara statis dimana seluruh konfigurasi yang dimuat didalamnya telah diinisialisasikan sejak awal widget itu dimuat. Artinya, state jenis ini tidak dapat diubah dan tidak akan pernah berubah. Stateless biasa digunakan hanya untuk tampilan saja seperti button, item, box container, dan lain-lain.
  • Stateful merupakan suatu widget yang sifatnya dinamis atau dapat berubah-ubah, kebalikan dari stateless widget. Pada stateful, kamu dapat menggunakan property initState yang berfungsi untuk menginisialisasi state yang akan pertama kali dijalankan. Stateful widget dapat mengubah atau mengupdate tampilan, menambah widget lainnya, mengubah nilai variabel, icon, warna, dan masih banyak lagi.

Bersifat Deklaratif

ui equals function of state

Flutter bersifat deklaratif, artinya flutter membangun user interfacenya dengan merefleksikan setiap perubahan state. State ini lah yang menjadi trigger untuk me-redraw tampilan user interface. Ketika terjadi perubahan, UI akan merebuild secara otomatis dari awal.

Jenis-jenis State Management Flutter

State manajement memang merupakan salah satu topik pembahasan yang sangat kompleks apabila kita ingin memperdalam tentang flutter. Namun, untuk menggunakan state management, kamu dapat memanfaat kan beberapa package state management berikut.

1. Provider

Provider merupakan state management yang paling sederhana dan mudah digunakan. Provider menyediakan sebuah teknik mengolah state yang dapat digunakan untuk memanage data didalam aplikasi. Manfaat menggunakan provider antara lain :

  • Mengalokasikan resource menjadi lebih sederhana
  • Lazy-loading
  • Mengurangi boilerplate saat membuat kelas baru setiap saat
  • Support dengan devtool, karena status aplikasi kamu akan terlihat di flutter devtool
  • Peningkatan skalabilitas untuk class yang memanfaatkan mekanisme listen yang dibangun secara kompleks.

2. Riverpod

Riverpod mirip dengan provider yang compile-safe untuk digunakan dan teruji (testable). Kamu tidak akan menemukan ProviderNotFoundException atau error dalam menangani proses dalam mengelola state. Karena, selagi kode kamu berhasil di kompilasi, maka aplikasi akan tetap dijalankan.

Riverpod mendukung multiple providers dengan tipe yang sama, proses asynchronous, dan mampu menambahkan provider dari file mana saja.

3. Redux

Bagi kamu yang web developer, mungkin kamu sudah tidak asing dengan yang namanya redux. Redux adalah arsitektur aliran data searah yang memudahkan pengembangan, pemeliharaan, dan pengujian aplikasi. Redux berasal dari javascript yang membuat predictable state container untuk aplikasi.

Berikut ini adalah manfaat ketika kamu menggunakan Redux :

  • Sangat scalable dan terstruktur dengan baik.
  • Memiliki alur yang jelas yang membuatnya menjadi mudah mengelola bahkan mengembalikan perubahan state, atau debug aplikasi.
  • Perubahan state dilakukan dengan fungsi.
  • Limited API.

4. BLoC

BLoC atau Business Logic Component adalah design pattern yang membantu kamu untuk memisahkan presentation dengan business logic. Sehingga komponen pada project terbagi menjadi presentational component, BLoC, dan backend. Pattern ini memperbolehkan developer untuk fokus dalam mengkonversikan event menjadi state.

BLoC mengelola state dengan menggunakan pendekatan stream atau reactive. Secra umum, data akan bergerak dari BLOC ke UI, atau sebaliknya dalam bentuk streams.

5. GetX

GetX merupakan salah satu pilihan terbaik untuk state management yang memiliki performa tinggi, memiliki injection dependency yang cerdas, serta memiliki manajemen route yang cepat dan praktis. GetX tidak akan memberatkan aplikasi kamu, meskipun memiliki fitur yang banyak, namun masing-masing fitur berada dalam container terpisah dan akan mulai dijalankan setelah dipakai. Misal, jika kamu hanya menggunakan state management, maka hanya state management lah yang akan di compile, tidak termasuk route dan lainnya.

State management ini memiliki komunitas yang besar, banyak kolaborator aktif. GetX mampu berjalan di OS Android, iOS, Web Linux, Mac, Windows, dan diserver kamu.

Tags: fluttermobileappsstatemanagement
Roziq

Roziq

Write for share about latest technology.

Related Stories

Design thinking

Design Thinking: Pendekatan Kreatif dalam Memecahkan Masalah Kompleks

by Roziq
February 14, 2024
0

Dalam era di mana perubahan terjadi dengan cepat, kemampuan untuk berinovasi dan memecahkan masalah dengan cara yang kreatif menjadi semakin...

Apa itu Sealed Flutter

Apa itu Sealed Class di Flutter?

by Roziq
December 10, 2023
0

Dalam Bahasa Pemrograman Dart, modifier sealed digunakan untuk menciptakan kumpulan subtype yang diketahui seperti enum namun dalam bentuk class. Sehingga...

Framework Opinionated dan Unopinionated

Mengenal Konsep Opinionated dan Unopinionated dalam Arsitektur Pengembangan Perangkat Lunak

by Roziq
October 2, 2023
0

Arsitektur pengembangan perangkat lunak adalah landasan dari setiap proyek perangkat lunak. Saat memilih kerangka kerja atau alat yang akan digunakan...

Perbedaan Final Const

Perbedaan Antara final dan const dalam Bahasa Pemrograman Dart

by Roziq
September 7, 2023
0

Dart adalah bahasa pemrograman yang populer untuk pengembangan aplikasi berbasis Flutter. Dalam Dart, terdapat dua kata kunci yang sering digunakan...

Next Post
sekuritas atau efek

Apa itu Sekuritas? Pengertian Sekuritas, Jenis, dan Tips Memilih Sekuritas

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Caraguna

Caraguna adalah sebuah situs yang menyediakan berbagai informasi seputar dunia teknologi informasi. Seperti penggunaan dari sebuah library, tools, hardware, software, dan lain-lain.

  • Teknologi
  • SEO
  • Sitemap
  • Resep Masakan
  • Contact Us

© 2025 Caraguna - Informasi Seputar Teknologi Informasi.

No Result
View All Result
  • Home
  • Teknologi
  • Komputer
  • Framework
  • Jaringan
  • Blogging
  • Investasi

© 2025 Caraguna - Informasi Seputar Teknologi Informasi.