Created with to build something
Version: 5.0.0
cover-ketika-mencoba-flutter-untuk-pertama-kalinya

Codding

Ketika Mencoba Flutter Untuk Pertama Kalinya

Flutter merupakan framework yang digunakan untuk membuat sebuah aplikasi cross platform milik google yang menggunakan bahasa pemrograman dart.

Sep 10, 2020

Mencoba keperuntungan dalam pengembangan aplikasi cross platform itu bagi saya adalah tantangan yang lumayan berat, alih - alih dituntut agar bisa berjalan di semua platform yang tersedia terkadang masalah kompatibilitas dari masing - masing platform akan membuat pengembangan menjadi lebih menantang. Memang menurut saya membuat aplikasi native atau aplikasi yang memang benar - benar dari bahasa pemrograman yang didukung dari platform tersebut kurang begitu efisien saat membandingkan performa dengan aplikasi cross platform, akan tetapi dalam waktu pengembangan yang dibutuhkan mungkin sekali bahwa pengembangan aplikasi cross platform dapat memotong waktu pengembangan meskipun bisa saja tidak terpotong secara signifikan.

Pada beberapa waktu sebelumnya saya sempat bercerita bagaimana saya menggunakan react native untuk belajar terjun ke dunia mobile cross platform, mungkin apa boleh buat meskipun saya memahami bagaimana penggunaan javascript dasar akan tetapi saya sedikit kurang masuk saja ketika menggunakan react native untuk project kecil - kecilan yang saya buat. Mungkin saja beberapa alasan sepele tersebut agak sulit untuk diterima bagi sebagian orang yang bergelut pada dunia react native, tapi apa boleh buat saya masih belum begitu mantap menggunakan react native meskipun saat ini saya membuat project menggunakan react js.

Pengenalan Pertama

Karena saya tidak begitu mantap dengan menggunakan react native, saya berniat untuk mencoba melirik salah satu framework buatan google yang memang sudah dari tahun lalu saya ingin sekali membuat aplikasi mobile dengan menggunakan flutter. Pertama kali saya mengenal flutter melalui sebuah komunitas dimana mereka memperkenalkan flutter disamping memberi pemberitahuan mengenai kotlin, saya masih sedikit cuek pada saat itu karena sempat diberi tahu bahwa beberapa library yang tersedia pada flutter masih sedikit dan framework ini sebenarnya sudah ada dari dulu. Entah apa yang akan saya terima saat 2 tahun lalu tersebut, karena saya belum pernah mencoba bahasa Dart dan framework flutter saya sebagai orang yang baru pertama kali mendengarkan hal ini sudah agak skeptis dengan framework yang satu ini.

Setahun yang lalu atau mungkin tepatnya akhir tahun 2019 saya mendapatkan kabar bahwa flutter sudah mendukung pengembangan aplikasi untuk platform desktop baik itu untuk Linux, MacOS dan Windows. Saya bergegas untuk mencobanya dan alhasil saya bingung dengan struktur kode yang di sediakan ketika pertama kali membuat project baru flutter. Saya tutup dan hapus project tersebut dan suatu ketika bulan ini saya mulai melirik kembali framework ini, yes bisa dibilang saya baru memahami bagaimana cara menggunakannya dan mulai menggunakan flutter untuk mencoba membuat project baru.

Impresi Awal

Sebagai orang yang pernah menggunakan android studio dan untungnya aplikasi tersebut masih ada pada perangkat komputer saya, mungkin memulai sebuah awal yang sangat - sangat awal dengan android studio adalah hal yang sangat mudah. Ya dengan anda menggunakan android studio mengintegrasikan Flutter SDK bisa jauh lebih mudah, ya meskipun pada kondisi tertentu anda mungkin akan memerlukan konfigurasi tertentu untuk mengatur environment. Mungkin karena flutter merupakan framework milik google, jadinya integrasi antara android studio dengan flutter termasuk lumayan daripada kita menggunakan kode editor lain.

Saat proses integrasi selesai ke flutter SDK selesai dan mencoba membuat project baru, saya baru memahami bahwa bahasa dart ternyata tidak sesusah apa yang saya bayangkan. Bahkan saya mungkin bisa berasumsi bahwa bahasa ini mirip - mirip dengan Java, jadi saya tidak harus mempelajari keseluruhan dari bahasa dart sehingga cukup pakai dasar - dasar yang ada di Java dan coba implementasikan ke dart. Mungkin saja itu akan Error, ya jangan lupa juga untuk menyesuaikan dengan lingkungan tapi sejauh ini saya menganggap bahwa bahasa dart dan java memiliki kesamaan.

alt images Screenshot Penggunaan Flutter

Pemecahan Masalah

Entah apa yang sedang terjadi dengan saya, saya masih berasumsi bahwa mengatasi masalah yang ada di flutter cukup mudah dan lagi - lagi apakah mungkin ini karena punya google dan saya membuat aplikasi mobile ke android. Saya sendiri kurang tahu, karena dari pengalaman saya menggunakan flutter dalam memecahkan suatu error kebanyakan saya dapat mengatasinya dengan melakukan pencarian melalui google ataupun stackoverflow. Dokumentasi yang begitu rapi dan terlalu banyak juga sangat membantu saya dalam memecahkan beberapa masalah yang terjadi pada project flutter yang saya buat.

Mungkin jika saya lupa bagaimana cara penggunaan dari suatu fungsi ataupun widget, flutter juga menyediakan semacam satu set tutorial atau di halaman tersebut di namakan sebagai cookbook. Sehingga saya akan mengetahui step - step yang harus dilakukan untuk menyelesaikan satu fungsi yang saya buat.

Sedikit Membutuhkan Library Pihak Ketiga

Dalam beberapa kasus saya tidak setuju dengan bagian ini, meskipun flutter sudah menyediakan fungsi - fungsi dasar seperti Widget UI, Routing, State Management dan lain sebagainya yang belum saya explore. Poin ini terkadang tidak relevan dengan beberapa project dengan kebutuhan khusus sehingga mungkin beberapa orang tidak setuju dengan poin ini.

Saat saya menggunakan react native, saya seperti menyadari bahwa react native sepertinya tidak bisa berdiri tanpa adanya library pihak ketiga yang mendukung react native. Seperti beberapa contoh yaitu penggunaan routing dengan React Navigation, menyimpan data melalui Async Storage dan komponen UI melalui nativebase ataupun Kitten UI. Bagi saya ini adalah sesuatu yang ribet, mungkin beberapa orang tidak tapi bagi saya menambahkan library pendukung dan melakukan konfigurasi agar library tersebut agar dapat berjalan dengan baik adalah sesuatu hal yang agak ribet.

Di Flutter mungkin saya bilang agak sedikit membutuhkan library pihak ketiga, ya meskipun ada beberapa library yang tidak disediakan namun library tersebut di dukung oleh Flutter itu sendiri. Impact ke pengembangan dalam poin ini juga tidak begitu banyak, akan tetapi salah satu yang saya suka ketika menggunakan flutter adalah sangat sedikit membutuhkan library pihak ketiga.

Pengembangan yang dimudahkan

Sebelum anda menggunakan flutter pastikan anda menggunakan Android Studio atau jika anda menggunakan VSCode flutter sendiri sudah menyediakan plugins yang berguna untuk melakukan pengembangan project flutter, dalam proses pengembangan saya tidak begitu kesulitan dalam menggunakan flutter. Mungkin ini terbantu karena penggunanaan IDE ataupun plugins yang terdapat pada VSCode.

Penggunaan konsep Widget Tree pada flutter tidak saya duga akan memudahkan pengembangan UI, meskipun ini terlihat sedikit aneh karena mirip - mirip ngerangkai JSON value pada javascript akan tetapi ini justru memancing saya untuk membuat sebuah custom component untuk mengurangi hal - hal tersebut.

Hot Reload juga menjadi kunci dari kemudahan pengembangan ya meskipun terkadang ini tidak berfungsi dengan baik akan tetapi anda juga dapat menggunakan Hot Restart untuk merestart aplikasi yang terdapat pada emulator atau smartphone kamu sehingga hasil compile yang terakhir disimpan dapat di push.

Apakah ini worth it ?

Selama saya menggunakan flutter, selagi beberapa fitur yang ditawarkan flutter mendukung project yang saya buat maka saya dapat simpulkan ya worth it untuk digunakan dan dipelajari, apalagi jika anda pernah menggunakan Java untuk mengembangkan aplikasi android mungkin anda akan suka dengan cara flutter. Saya sendiri belum berani mengatakan bahwa flutter juga worth it untuk dunia kerja, karena sampai saat ini kebutuhan perusahaan menghire mobile developer untuk framework flutter ini cenderung masih kurang ketimbang react native.

Meskipun begitu flutter juga mempunyai potensi yang lumayan besar dalam pengembangan cross platform akhir - akhir ini, apakah karena situasi pandemi atau karena data di stackoverflow saya sendiri tidak tahu. Karena dari pengalaman pertama kali menggunakan saya baru menggunakan flutter selama 3 minggu untuk memahami konsep penggunaan flutter. Waktu 3 minggu bagi saya adalah waktu yang sangat cepat bagi dalam mempelajari sebuah framework, apalagi bahasa pemrograman yang digunakan adalah dart.

Tapi kalau anda datang dari ekosistem react native, boleh - boleh saja mencoba framework satu ini. Hitung - hitung bisa digunakan untuk nambah kemampuan sehingga anda tidak stuck di situ - situ saja dan yang terpenting gunakanlah sesuai kebutuhan.

Ingin Berkomentar ?

Gunakan fitur komentar dengan bijak demi keamanan dan kenyamanan anda saat berselancar di dunia maya ini, mungkin undang - undang atau peraturan dari sebagian wilayah akan menjerat aktivitas yang ada pada kolom komentar.