Deep Dive Into Flutter State

Ari SWS
DOT Intern
Published in
3 min readOct 18, 2019

Hai guys, Beberapa waktu lalu Komunitas Kelas Mobile Malang pengadakan Meetup bulan September yang membahas tentang Flutter nih yang dibawakan oleh Mas Adi Nugroho selaku Mobile Developer di Upwork. Mari simak ringkasan penjelasannya berikut ini.

Apa itu Flutter?

Flutter adalah teknologi untuk membangun suatu mobile apps yang dibuat oleh Google. Dengan menggunakan Flutter, kita dapat membuat aplikasi Android dan iOS sekaligus, bahkan Flutter saat ini telah dapat digunakan untuk membangun sebuah Aplikasi Web dan Desktop. Flutter menggunakan bahasa Dart yang juga dibuat oleh Google dan merupakan bahasa multi platform. Artinya, Dart mampu berjalan di banyak platform.

Flutter merupakan cross-platform framework, alias aplikasi yang dapat digunakan di lebih dari satu platform. Aplikasi yang dibuat dengan menggunakan Flutter dapat dijalankan baik di platform Android maupun iOS. Tentu hal ini akan menghemat waktu dalam proses mengembangan. Kita pun tidak perlu mempelajari bahasa native yang digunakan di masing-masing platform, seperti Java / Kotlin untuk Android dan Swift untuk iOS.

Flutter memiliki beberapa kelebihan yang cukup menarik bagi para developer.

  1. Flutter memungkinkan kita untuk membuat aplikasi yang indah (beautiful)
  2. Flutter berjalan dengan sangat cepat (fast)
  3. Flutter sangat produktif (productive)
  4. Flutter bersifat terbuka (open)

Itulah mengapa banyak developer yang mulai mempelajari Flutter. Ia memberikan kemudahan bagi kita untuk membangun aplikasi multi platform.

Mengenal Komponen Widget

Di Flutter, segala sesuatu yang berhubungan dengan view, dinamakan Widget. Salah satu komponen yang menjadi daya tarik tersendiri dalam Fluter yaitu komponen widget yang sangat menarik perhatian user. Flutter mengemas widgetnya dengan sangat baik dan rapih, layaknya bootstrap pada pemrograman web. Karena dalam pemrograman berbasis UI (User interface) tentu widget memaikan peranan yang sangat penting dalam berinteraksi dengan user.

Widget dalam Flutter memiliki 2 jenis, yaitu:

  1. Stateless Widget
  2. Statefull Widget

Hampir di seluruh example code yang ada bertebaran di dunia Flutter sering menggunakan Stateless dan Stateful untuk membuat suatu Widget. Namun apa sebenarnya perbedaan dari keduanya?

Sebelumnya mari kita ingat lagi, dalam membuat interface dengan Flutter, semua komponen yang kita pakai disebut dengan Widget.

Everything is Widget.

Stateless Widget

Stateless Widget adalah widget yang tidak memiliki state atau tidak bisa mengupdate element atau rebuild dirinya sendiri. Jadi Stateless Widget adalah Widget yang tidak akan pernah berubah.

Misalnya kita ingin membuat aplikasi berisi Text yang berisi “Demo Stateless”, kemudian aplikasi kita tidak punya fungsi untuk merubah kalimat tersebut. Maka yang digunakan di sini adalah Stateless Widget.

Statefull Widget

Statefull Widget merupakan kebalikan dari Stateless Widget. Statefull Widget adalah widget yang memiliki state atau bisa mengupadate element atau merebuild dirinya sendiri sesuai dengan perubahan state yang terjadi.

Sebagai contoh, kita membuat sebuah aplikasi dimana memiliki text berisi versi dari aplikasi, maka setiap terjadi perubahan, text tersebut akan berubah.

--

--