[:id]Flutter: Apakah Framework ini Cukup Mendukung?[:]

[:id]

Framework mobile app yang multiplatform cukup banyak. Mulai dari ionic, nativescript, reactnative. Lalu apa yang beda dari flutter? Yang jelas, framework tersebut muncul karena mengharap satu codingan bisa dibuild ke iOS, android atau mobile os yang lain. Mari kita lihat teknologi yang dipakai dari framework tersebut dan perbedaan dengan native atau flutter.

SDK OEM atau Native languages

Aplikasi yang dibuat memungkinkan berkomunikasi untuk membuat widget, atau mengakses service seperti kamera, gps, dll. Widget tersebut lalu didisplay. Karena menggunakan bahasa bawaan os, maka aplikasi yang dibangun untuk beda os harus dibuat ulang.

WebViews

Pada aplikasi webview kita membuat HTML dan menampilkannya di WebView yang terdapat di platform os. Javascript memerlukan bridge / jembatan yang memungkinkan dia bisa mengakses kamera, gps, dll. dengan adanya bridge ini menyebabkan masalah kinerja : lambat, memory tinggi, dll.

Reactive Views

Reactive framework seperti ReactJS (dan lainnya misalkan mercuri ) menjadi populer, karena menyederhanakan pembuatan tampilan web. Pada 2015, facebook membuat React Native untuk menghadirkan manfaat tampilan gaya reaktif ke mobile app.

React Native cukup nikmat, tetapi karena JavaScript mengakses widget OEM dari OS harus melalui bridge dan Widget biasanya diakses cukup sering (hingga 60 kali per detik misalkan animasi, transisi, atau ketika user scroll atau touch layar) dapat menyebabkan masalah performa juga. Coba aja buka facebook scroll ke bawah selama 10 menit atau lebih. di iPhone 7 selalu membuat hang lalu aplikasi tertutup. Artikel ini menjelaskan lebih dalam tentang React Native.

Flutter bukan native, bukan webview dan beda dengan reactive view nya reactnative. Pada Flutter juga menggunakan tampilan reaktif-style. Flutter mengunakan pendekatan yang berbeda untuk menghindari masalah performa karena si “Jembatan” yaitu mengganti javascript dengan Dart . Dart dikompilasi (AOT — ahead of time) ke native code untuk berbagai platform. Ini memungkinkan Flutter berkomunikasi dengan platform os tanpa melalui jembatan. Kompilasi ke native code juga meningkatkan startup time. Meskipun begitu, fakta menariknya adalah Flutter satu-satunya SDK mobile multiplatform tanpa Bridge.

Widget adalah elemen yang memengaruhi dan mengontrol tampilan dan antarmuka ke aplikasi. Tidak berlebihan untuk mengatakan bahwa widget adalah salah satu bagian terpenting dari aplikasi mobile. Flutter memiliki arsitektur baru yang mencakup widget yang lebih baik, cepat, dan dapat disesuaikan serta dapat diperluas. Ya, Flutter tidak menggunakan widget OEM (atau DOM WebViews), ia menyediakan widget sendiri, menarik bukan. Gak pakai yang native tapi bukan webview via DOM juga.

Flutter memindahkan widget dan perender dari platform ke dalam aplikasi, yang memungkin untuk disesuaikan dan diperluas. Yang diperlukan oleh Flutter hanyalah kanvas untuk merender widget sehingga dapat muncul di layar perangkat, dan akses ke service platform seperti GPS, camera, dll.

Sumber: https://medium.com/@pamungkasjayuda/flutter-apakah-cukup-meyakinkan-bb3323778d4f

[:]

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *