CategoriesAndroidiOSProgramming

10 Library pada Flutter yang mempermudah dalam membuat Aplikasi

Dalam membuat aplikasi kita tentu memerlukan Library agar proses development jadi lebih mudah. Flutter mempunyai satu tempat yang menyediakan banyak library yaitu di pub.dev. dari sekian banyak library yang ada beberapa memiliki penggunaan yang mudah dan cukup membantu developer. kali ini saya akan membahas 10 Library yang biasa saya pakai dalam membuat aplikasi di Flutter.

1. BLoC

BLoC merupakan akronim dari Business Logic Component, merupakan library State Management di Flutter yang cukup banyak dipakai oleh Flutter Developer di seluruh dunia, karena itu tutorial BLoC jadi lebih mudah ditemukan di internet karena memang banyak yang pakai. BLoC memiliki kelebihan ringan, simpel, dan testable. saya sudah membuktikan jika BLoC memang lebih ringan daripada saat memakai Provider sebagai State Management.

BLoC terdiri dari 3 bagian, yaitu Event, BLoC dan State. Event yang menentukan action apa yang akan dilakukan, BLoC yang akan memproses Business Logic berdasarkan Event yang diminta dan State akan mengirimkan hasilnya ke UI.

agar lebih mudah dalam membuat BLoC, bisa menginstall Plugin Bloc di Android Studio atau VSCode. tinggal klik menu Bloc Class pada context menu lalu tentukan nama Bloc nya maka plugin akan otomatis men-generate class Bloc yang diminta.

Library Bloc pada Android Studio
Library BLoC pada VSCode

untuk mempelajari lebih lanjut tentang BLoC bisa menuju link di bawah ini

https://bloclibrary.dev/

2. Flutter Fire

anda pasti sudah mengenal firebase, layanan semi gratis dari google yang menyediakan database, cloud messaging, hosting, analitycs dan layanan serverless lainnya yang cukup mempermudah Frontend developer karena disini kita tidak perlu dipusingkan dengan proses pembuatan server karena semua sudah tersedia di Firebase dan kita tinggal memakainya. pada Flutter kita memerlukan Library bernama FlutterFire yang memudahkan kita untuk meng-integrasikan Firebase dengan Project Flutter kita.

kita tinggal menyediakan file google-services.json dan menginstall library-library yang diperlukan maka FlutterFire akan secara otomatis meng-generate file-file yang diperlukan untuk integrasi ke Firebase.

untuk mempelajari lebih lanjut tentang Flutter

https://firebase.flutter.dev/

3. Permission Handler

Jika aplikasi kita memerlukan akses ke Hardware pada Device seperti kamera, lokasi, dan penyimpanan kita harus meminta izin ke Device melalui Permission. ada satu library yang memudahkan kita mengatur permission di Android maupun ios yaitu permission_handler. library ini bisa dipakai di Android, ios, dan windows jadi kita tidak perlu pusing-pusing memikirkan masalah permission jika kita ingin meng-export aplikasi kita ke platform lain.

untuk mempelajari lebih lanjut tentang Permission Handler bisa mengunjungi link di bawah ini

https://pub.dev/packages/permission_handler

4. Dio

Jika aplikasi kita memerlukan data dari internet, Aplikasi kita harus memiliki Http Client untuk bisa terkoneksi ke server. Library Http Client yang paling banyak di pakai di Flutter adalah Dio.

Dio memiliki beberapa fitur seperti Logger Interceptor, Cookie Manager, Smart Retry, Certificate Pinning, dan masih banyak lagi. untuk mempelajari lebih lanjut tentang Dio bisa menuju link di bawah ini

https://pub.dev/packages/dio

5. Floor

Aplikasi terkadang memerlukan database yang bisa di akses secara offline untuk menyimpan data. cara paling umum menyimpan data secara offline di aplikasi mobile adalah menggunakan database SQLite. sebenarnya ada satu library khusus SQLite di Flutter yaitu sqflite, namun sqflite ini memerlukan banyak kode karena sifatnya yang manual seperti saat kita membangun sqlite di android.

Ada satu library yang memudahkan kita dalam membuat database sqlite dengan sedikit kode, yaitu Floor. Floor adalah library yang memanfaatkan abstraksi SQLite, mirip seperti Room jika di Android. library ini sifatnya cross platform sehingga bisa kita pakai di Android maupun ios.

untuk mempelajari lebih lanjut tentang Floor bisa menuju link di bawah ini :

https://pub.dev/packages/floor

6. Sizer

Dalam membuat aplikasi kita seringkali berurusan dengan masalah UI yang terkadang tidak pas di device lain yang beda ukuran layar. kita perlu membuat UI yang responsive. sebenarnya di Flutter sendiri kita bisa membuat UI yang responsive tanpa perlu menginstall Library apapun, tapi kita memerlukan banyak kode dalam membuatnya sehingga terkadang kita malas untuk membuatnya.

Ada satu library yang khusus mengakomodir kebutuhan layout responsive, kita bisa dengan mudah mengatur ukuran layout dengan method-method yang disediakan oleh sizer, seperti jika kita ingin membuat ukuran Component menjadi separuh layar maka kita hanya perlu menuliskan nilai 50.w pada width component nya, maksud dari 50.w adalah 50% dari width / lebar layar. library akan secara otomatis mendapatkan lebar layar dan mengkalkulasikan nya dengan nilai yang kita tentukan.

untuk mempelajari lebih lanjut tentang library Sizer klik link di bawah ini

https://pub.dev/packages/sizer

7. Just Audio

Jika ingin memutar suara / musik di Aplikasi kita memerlukan library yang bisa mengakomodir Media Player antar platform karena metode Media Player di Android dan ios berbeda.

library yang cukup ringan dengan fitur yang lengkap dan penggunaan yang mudah adalah Just Audio. library ini bisa memutar suara yang berasal dari internet, asset aplikasi, maupun local storage device.

untuk mempelajari lebih lanjut tentang library ini bisa meng klik link di bawah ini

https://pub.dev/packages/just_audio

8. Chewie

Jika di atas kita membahas library untuk memutar suara, kali ini kita membahas library untuk memutar video. library tersebut adalah Chewie.

Chewie memiliki beberapa fitur salah satunya adalah Screen Mirror / Cast ke Chromecast. cukup keren bukan ?

untuk mempelajari tentang Chewie, klik link di bawah ini

https://pub.dev/packages/chewie

9. Flowder

Kita memerlukan Download Client jika kita ingin aplikasi kita bisa men-download file dari internet. sebenarnya memakai Dio saja sudah cukup jika kita ingin men-download file, namun entah kenapa terkadang kecepatan download file dari dio cukup lemot.

Ada satu library yang cukup bagus dengan fitur-fitur yang bisa mengakomodir kebutuhan download file dengan kecepatan yang lebih cepat yaitu Flowder. penggunaan nya pun cukup simpel kita tinggal mengatur url dan path tempat kita menyimpan file, dan Flowder akan melakukan pengunduhan di background.

sebenarnya ada satu Bug di Flowder yang belum di fix oleh developer nya, tapi untuk mengatasi Bug ini cukup mudah. kita tinggal menuju file yang ada error nya di Flowder, lalu pada bagian atas sendiri (baris 1) tambahkan import “dart.ui”; maka error nya akan hilang dan kita bisa memakai library Flowdernya.

untuk mempelajari lebih lanjut tentang Flowder, klik link di bawah ini

https://pub.dev/packages/flowder

10. Jitsi Meet

Ini adalah library paling keren menurut saya. Library ini memungkinkan kita untuk menambahkan fitur Voice / Video Conference gratis. kita bisa membuat aplikasi seperti Zoom Meeting ataupun Voice Call / Video Call seperti WhatsApp. kita bisa menggunakan server public Jitsi atau server private kita sendiri yang sudah terinstall Jitsi Server.

Penggunaan nya cukup mudah, kita juga bisa mengkostumisasi layar call nya. kekurangannya mungkin hanya belum tersedia fitur Screen Share untuk presentasi, mungkin kedepannya akan ada fitur ini karena library jitsi meet ini sifatnya Open Source.

untuk mempelajari lebih lanjut tentang library jitsi meet, klik link di bawah ini :

https://pub.dev/packages/jitsi_meet

Sepertinya sudah cukup library-library yang saya rekomendasikan untuk mempermudah dalam pembuatan aplikasi.

Terima kasih sudah mampir dan semoga bermanfaat.

Published by Ahmad Saifur Ridlo

Android Developer at Algostudio.net

Leave a Reply

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