Tutorial
Flutter Intensive Club (FIC)
Saiful Bahri
https://linkedin.com/in/bahrie
https://youtube.com/@codewithbahri
State dan Pendekatannya Pada
Flutter
https://youtube.com/@codewithbahri
Apa itu State ???
https://youtube.com/@codewithbahri
Apa itu state??
https://youtube.com/@codewithbahri
State di dalam flutter di bagi
menjadi 2
https://youtube.com/@codewithbahri
Contoh implementasi state local ini yang sering
digunakan:
https://youtube.com/@codewithbahri
Karena state ini hanya digunakan pada satu widget
atau tidak terjadi lempar-lemparan state antar
widget atau page, maka SetState() harusnya sudah
cukup untuk menghandelnya. Jadi tidak perlu
menggunakan state management.
https://youtube.com/@codewithbahri
Selanjutnya, App State atau yang dikenal Shared
State. Kenapa Shared State? Karena statenya tidak
hanya digunakan di satu widget, namun lebih
bahkan bisa banyak page yang terdiri banyak
widget. Contoh: informasi login, feature cart pada
ecommerce.
https://youtube.com/@codewithbahri
Mengelola App State tentu tidak semudah Local
State. Tergantung kompleksitas aplikasi, sifat
aplikasi, atau aspek lainnya (banyak parameter
untuk dipertimbangkan). Jika memang kompleks,
maka kita dapat melakukannya dengan mudah jika
menggunakan bantuan dari state management.
https://youtube.com/@codewithbahri
Sejujurnya menggunakan setState() saja bisa.
Namun kita sebagai developer tentunya
membutuhkan tools yang mempermudah dan
mempercepat kita, salah satunya dalam
mengelola App State ini, yaitu dengan State
Management.
https://youtube.com/@codewithbahri
Berikut beberapa pilihan state management yang
dapat kalian pelajari:
Provider
Bloc
Redux
MobX
GetX
Riverpod
dll
https://youtube.com/@codewithbahri
BLoC Documentation
https://bloclibrary.dev/#/gettingstarted
https://youtube.com/@codewithbahri
Installation
https://pub.dev/packages/flutter_bloc
- pubspec.yml
dependencies:
flutter_bloc: ^8.1.2
https://youtube.com/@codewithbahri
Installation
https://pub.dev/packages/flutter_bloc
Tambahakan pubspec.yml
dependencies:
flutter_bloc: ^8.0.0
Running di terminal:
flutter pub get -v
https://youtube.com/@codewithbahri
Import
import 'package:flutter_bloc/flutter_bloc.dart';
https://youtube.com/@codewithbahri
Mengapa Bloc ?
Bloc memudahkan untuk memisahkan
presentasi(UI) dari logika bisnis (Logic), membuat
kode Anda cepat, mudah diuji, dan dapat
digunakan kembali.
https://youtube.com/@codewithbahri
Mengapa Bloc ?
Saat development aplikasi kualitas produksi,
mengelola status menjadi sangat penting.
https://youtube.com/@codewithbahri
Mengapa Bloc ?
Blok dirancang untuk memenuhi semua kebutuhan tersebut
dan banyak lagi.
https://youtube.com/@codewithbahri
Mengapa Bloc ?
Blok dirancang dengan mempertimbangkan tiga nilai inti:
https://youtube.com/@codewithbahri
https://youtube.com/@codewithbahri
Create counter_bloc.dart
Create abstract class CounterEvent
Add class CounterBloc
https://youtube.com/@codewithbahri
https://youtube.com/@codewithbahri
Sourcecode:
https://github.com/bahrie127/fic_basic_flutter_bloc_stream_controller
https://github.com/bahrie127/fic_flutter_bloc_example
https://youtube.com/@codewithbahri