Yuk Kenalan Dengan Flutter Secara Mendalam - Teknologi sudah menjadi bagian tak terpisahkan dalam hidup kita terutama smartphone.
Menurut data dari We Are Social, pada bulan Januari 2020 pengguna internet di Indonesia mencapai sekitar 175,4 juta orang. Terdapat peningkatan sebesar 17% atau sekitar 25 juta pengguna dari tahun 2019.
Jika dilihat dari total populasi penduduk Indonesia yang berkisar 272,1 juta jiwa, maka 64% di antaranya sudah mengakses internet.
Dengan masifnya angka pengguna smartphone ini, kian spesifik pula requirements alias permintaan bagi seorang pengembang aplikasi. Termasuk requirement pada perangkat mobile dengan target platform Android dan iOS.
Masing-masing platform memiliki aplikasi native-nya tersendiri.
Mengembangkan dua platform memiliki banyak implikasi. Ditinjau dari sisi bisnis, biaya yang perlu dikeluarkan tentunya tidak murah.
Dua aplikasi berarti ada dua tipe developer yang perlu direkrut dan dua jenis pengembangan untuk dikelola.
Jika ada teknologi yang memungkinkan pengembangan aplikasi di beberapa platform sekaligus hanya dengan satu codebase tentunya lebih hemat bukan? Pasti lebih efisien dari sisi biaya, waktu, dan tenaga.
Tertarik untuk mempelajari stack teknologi yang bisa mewujudkannya? Mari kita berkenalan dengan Flutter.
Inilah framework populer dan powerful buatan Google, Flutter hadir untuk mengembangkan aplikasi multi-platform yang dikompilasi secara native.
Apa itu Flutter?
Flutter adalah SDK (Software Development Kit) yang dikembangkan oleh Google dan versi 1.0 dirilis pada bulan Desember 2018. Flutter unggul karena mampu membangun aplikasi untuk sistem operasi Android, iOS, Web, Windows, Linux, dan MacOS. Dengan ini, Anda cukup sekali coding atau dikenal dengan single codebase. Flutter juga sudah digunakan oleh banyak developer maupun organisasi di seluruh dunia, dan Flutter bersifat open source.
Mengapa Flutter?
Flutter berbeda dari kebanyakan SDK Cross-platform lainnya untuk membuat aplikasi mobile. Untuk menarik widget, Flutter bukan menggunakan WebView maupun widget OEM, melainkan mesin rendering berkinerja tinggi.
Flutter dapat digunakan bersamaan dengan aplikasi native yang sudah ada atau digunakan secara keseluruhan untuk aplikasi baru.
Ada beberapa kelebihan dari Flutter, antara lain:
- Flutter memungkinkan kita untuk membuat aplikasi yang indah (beautiful)
Desainer dapat dengan bebas berkreasi tanpa adanya banyak batasan dari framework. Flutter juga dapat mengontrol setiap piksel yang ada di layar, sehingga memudahkan dalam membuat animasi. Flutter menyediakan banyak komponen material design yang dapat berjalan baik pada Android dan iOS. - Flutter berjalan dengan sangat cepat (fast)
Flutter menggunakan graphic engine bernama Skia-2D yang juga digunakan pada Chrome dan Android. Kode Flutter menggunakan bahasa Dart, yang memungkinkan untuk dikompilasi ke kode native 32-bit dan 64-bit ARM untuk iOS dan Android. - Flutter sangat produktif (productive)
Flutter memiliki fitur hot-reload yang memungkinkan Anda untuk melihat hasil kompilasi secara real-time. Dengan hot-reload, Anda dapat dengan mudah melihat perubahan kode pada perangkat, tanpa perlu menunggu restart dan kehilangan state. - Flutter bersifat terbuka (open source)
Flutter adalah project open source dengan lisensi BSD. Kode yang ada di Flutter berasal dari kontribusi ratusan developer dari seluruh dunia. Banyak plugin yang sudah dibuat oleh developer. Karena Flutter adalah aplikasi native, ia dengan mudah memanggil kode native seperti Java/Kotlin pada Android atau Swift/Objective-C pada iOS.
Sejarah Perkembangan Flutter
Versi pertama dari Flutter bernama Sky yang diumumkan pada Dart Developer Summit 2015. Pada saat itu, Sky hanya berjalan pada sistem operasi Android. Lalu, pada Google Developer Days di Shanghai, Google mengumumkan Flutter versi Release Preview 2 yang merupakan rilis sebelum versi stable 1.0.
Sejak rilis beta pertama, Flutter sudah banyak digunakan untuk mengembangkan aplikasi mobile.
Contohnya adalah perusahaan Abbey Road Studios, Alibaba, Capital One, Groupon, Hamilton, JD.com, Philips Hue, Reflectly, Tencent, dan GITS Indonesia.
Dart
Seperti yang telah kita ketahui, aplikasi Flutter ditulis dengan bahasa Dart. Seharusnya Anda telah mempelajari tentang fundamental Dart di kelas Memulai Pemrograman dengan Dart sebelumnya. Untuk menyegarkan kembali ingatan Anda kami akan mengulas sedikit tentang Dart.
Bahasa pemrograman Dart merupakan bahasa pemrograman general-purpose yang dirancang oleh Lars Bak dan Kasper Lund. Bahasa pemrograman ini dikembangkan sebagai bahasa pemrograman aplikasi yang dapat dengan mudah dipelajari dan disebarkan.
Bahasa pemrograman besutan Google ini dapat digunakan untuk mengembangkan berbagai macam platform termasuk di dalamnya adalah web, aplikasi mobile, server, dan perangkat yang mengusung teknologi Internet of Things (IoT).
Bahasa pemrograman tersebut dapat digunakan untuk mengembangkan aplikasi yang dijalankan pada berbagai macam peramban (browser) modern. Dart juga dapat digunakan untuk mengembangkan aplikasi dari codebase tunggal menjadi aplikasi Android maupun iOS.
Bahasa pemrograman Dart dapat digunakan secara bebas oleh para developer karena bahasa ini dirilis secara open-source oleh Google di bawah lisensi BSD.
Bahasa pemrograman Dart merupakan bahasa pemrograman berbasis kelas dan berorientasi terhadap objek dengan menggunakan Syntax bahasa pemrograman C.
Bahasa ini dikenalkan oleh Google sebagai pengganti bahasa pemrograman JavaScript, akan tetapi secara opsional bahasa ini dapat dikompilasi ke dalam JavaScript dengan menggunakan Dart-to-JavaScript compiler. Sedikit berbeda dengan bahasa pemrograman JavaScript yang bertipe dinamis, bahasa pemrograman Dart merupakan bahasa pemrograman bertipe statis.
Oke, sampai sini kita telah mempelajari tentang apa itu Flutter, termasuk sejarah dan kenapa kita perlu belajar mengembangkan aplikasi dengan Flutter.
Di kelas ini Anda akan belajar dasar pengembangan aplikasi Flutter, seperti package, widget yang umum digunakan, cara berpindah halaman menggunakan Navigation, hingga proses build menjadi APK yang bisa diinstal pada smartphone Anda
Catatan: Materi-materi di kelas ini akan disampaikan dalam banyak opsi, mulai dari sistem operasi (OS), platform Android atau iOS, dan Integrated Development Environment (IDE). Silakan sesuaikan dengan spesifikasi hardware/software Anda dan lewatilah materi yang dirasa tidak diperlukan.
Untuk lulus dari kelas ini cukup dengan mengirimkan submission dari satu platform saja, misal Anda memilih platform Android maka tidak perlu mengirimkan versi iOS-nya. Mari kita lanjut ke materi selanjutnya, yaitu instalasi Flutter
Komentar
Posting Komentar