Flutter adalah framework open-source dari Google untuk membuat aplikasi lintas platform (Android, iOS, Web, Desktop) dengan satu kode. Flutter menggunakan bahasa Dart, menawarkan performa tinggi, fitur hot reload, dan widget yang fleksibel untuk membangun UI yang indah dan responsif. Cocok untuk pengembangan cepat dan efisien.
Widget Dasar
- Text: Menampilkan teks.
- Container: Membungkus widget dengan properti seperti padding, margin, warna, dan ukuran.
- Column: Menyusun widget secara vertikal.
- Row: Menyusun widget secara horizontal.
- Stack: Menyusun widget secara bertumpuk.
- Icon: Menampilkan ikon.
- Image: Menampilkan gambar.
Widget Interaktif
- Button:
- ElevatedButton
- TextButton
- OutlinedButton
- IconButton
- GestureDetector : Menangkap berbagai jenis interaksi pengguna seperti tap, drag, dan long press.
- Switch: Tombol saklar on/off.
- Checkbox: Kotak centang.
- Slider: Kontrol geser untuk memilih nilai.
Widget Layout
- Padding: Menambahkan ruang di sekitar widget.
- Align: Mengatur posisi widget di dalam parent.
- Expanded: Mengisi ruang kosong dalam Row, Column, atau Flex.
- SizedBox: Memberikan ukuran tetap atau ruang antara widget.
- Flexible: Mengontrol ukuran fleksibel dalam Row atau Column.
Widget Navigasi
- Navigator: Mengelola navigasi antar halaman.
- Drawer: Panel samping untuk navigasi.
- BottomNavigationBar: Navigasi di bagian bawah layar.
- TabBar: Navigasi berbasis tab.
- AppBar: Bar atas aplikasi.
Widget Input
- TextField: Input teks.
- Form: Membungkus input untuk validasi.
- DropdownButton: Pilihan dropdown.
- DatePicker: Pemilih tanggal.
- TimePicker: Pemilih waktu.
Widget Tampilan
- Card: Menampilkan konten dalam kartu.
- ListView: Menampilkan daftar elemen.
- GridView: Menampilkan elemen dalam bentuk grid.
- Table: Menampilkan data dalam tabel.
- CustomScrollView: Mengelola scroll dengan widget custom.
Widget Animasi
- AnimatedContainer: Animasi perubahan properti container.
- Hero: Animasi transisi antar halaman.
- FadeTransition: Animasi fade.
- ScaleTransition: Animasi skala.
- AnimationController: Mengelola animasi.
Widget Khusus
- FutureBuilder: Menampilkan data berdasarkan hasil Future.
- StreamBuilder: Menampilkan data berdasarkan hasil Stream.
- InheritedWidget: Berbagi data antar widget.
- ClipRRect: Membuat sudut membulat pada widget.
- AspectRatio: Mengatur rasio aspek widget.
Widget Material dan Cupertino
- MaterialApp: Aplikasi berbasis Material Design.
- CupertinoApp: Aplikasi berbasis gaya iOS.
- Scaffold: Struktur dasar halaman (AppBar, Drawer, dll.).
- Snackbar: Menampilkan pesan singkat di bagian bawah layar.
- Dialog:
- AlertDialog
- SimpleDialog
- CupertinoDialog