Create chrome extension using Flutter

How to create chrome extension using Flutter

Yudi Setiawan
Nusanet Developers
8 min readMay 21, 2022

--

Pengenalan

Melihat perkembangan Flutter pada acara Google I/O 2022 kemarin saya benar-benar sangat antusias. Dan benar saja sesuai prediksi saya bahwa tahun ini Flutter desktop sudah benar-benar bisa kita coba di production. Dan untuk Flutter web saya lihat juga sudah lumayan bagus ya performance-nya daripada versi yang sebelumnya. Nah, berhubung si Flutter ini sudah semakin bagus saja perkembangannya saya jadi tertarik untuk membahas Flutter web. Jadi, di tulisan kali ini saya akan coba membahas bagaimana cara membuat extension Google Chrome menggunakan Flutter. Oya, untuk versi Flutter-nya kita nggak perlu pakai yang versi 3 ya. Yang versi 2 saja sudah cukup.

Contoh projek

Untuk contoh projeknya kali ini kita akan membuat extension Google Chrome yang berfungsi untuk membuat QR kode dari teks yang diinput oleh user.

Buat projek

Langkah pertamanya silakan kita buka text editor favorit kita masing-masing terus buat projek baru dengan nama qr_code_chrome_extension.

Buat projek baru

Setup manifest.json

Buka file manifest.json dimana, didalamnya kita bisa lihat kode didalamnya kira-kira seperti berikut ini.

Kemudian, kita ubah menjadi seperti berikut.

Catatan: Yang saya tandain bold harap disesuaikan dengan lokal kita masing-masing ya.

Setup index.html

Langkah berikutnya ialah kita buka file index.html.

Kemudian, kita ubah bagian tag script -nya menjadi seperti berikut.

Lalu, kita perlu atur size window dari extension yang akan kita buat. Caranya, kita perlu tambahkan style di bagian tag html -nya menjadi seperti berikut.

Tes pasang extension

Sekarang kita coba build flutter web-nya menggunakan perintah berikut.

Setelah berhasil ter-build. Coba kita buka Google Chrome. Kemudian, buka chrome://extensions.

Halaman manage extensions

Pilih Load unpacked dan pilih directory build/web hasil dari perintah build diatas. Jika berhasil pada tahap-tahap sebelumnya maka, aplikasi yang kita build tadi seharusnya akan tampil.

Aplikasi Flutter yang di-build tadi

Sekarang coba kita buka aplikasi extension-nya maka, tampil programnya seperti berikut.

Yeay… Proses pembuatan chrome extension-nya sudah berhasil

Buat fitur QR kode

Nah, jika proses pembuatan extension-nya sudah berhasil. Maka, langkah berikutnya adalah kita tinggal buat fitur QR kode-nya aja nih.

Setup pubspec.yaml

Untuk membuat fitur tersebut kita perlu menggunakan plugin berikut ini.

Untuk menambahkan plugin tersebut kedalam projek silakan gunakan perintah berikut ini ya.

Tunggu beberapa saat sampai proses download plugin-nya selesai. Jika proses tersebut berhasil seharusnya didalam file pubspec.yaml kita akan menemukan bahwa plugin qr_flutter sudah ditambahkan.

Plugin qr_flutter berhasil ditambahkan

Buat tampilan utama

Nah, langkah berikutnya kita akan membuat tampilan utamanya ya. Untuk membuatnya silakan buka file main.dart dan ubah kode didalamnya menjadi seperti berikut.

Sekarang coba kita jalankan terlebih dahulu aplikasinya ya. Biar kelihatan tampilannya gimana.

Tampilan utamanya

Buat fitur QR kode

Jika tampilannya sudah selesai maka, langkah berikutnya adalah kita tinggal buat fungsi untuk membuat QR kode dari teks yang diinput oleh si user. Silakan kita buka kembali file main.dart dan buat function berikut.

Lalu, kita ubah kode todo berikut ini.

Menjadi seperti ini.

Kemudian, coba kita jalankan lagi programnya dan tes apakah fungsi buat QR kode sudah berhasil atau tidak.

Build ulang extension-nya

Sekarang coba kita build ulang extension-nya ya.

Lalu, kita reload extension di Google chrome-nya dengan cara tekan tombol seperti yang ada di gambar berikut.

Reload qr_code_chrome_extension

Tes fitur QR kode

Sekarang coba kita tes fitur QR kode di Google Chrome extension-nya.

Yeay… It’s working

Sekarang coba saya tes apakah QR kode-nya sudah sesuai atau belum ya menggunakan aplikasi QR code scanner di HP.

Kode QR bisa dibaca datanya

Kesimpulan

Jadi kesimpulannya adalah bahwa Flutter web sudah bisa membuat extension untuk Google Chrome. Dan ini merupakan tanda bahwa Flutter benar-benar serius dikembangkan untuk web. Dan mudah-mudahan saja Flutter web bisa ikut berpartisipasi dalam daftar web framework yang ada.

--

--