Tenaga Hibrida: Keuntungan dan Manfaat Flutter

Diterbitkan: 2022-03-11

Flutter adalah platform pengembangan aplikasi seluler hibrid dari Google yang mencapai 1.0 pada akhir 2018. Meskipun merupakan pendatang baru dalam daftar kerangka kerja pengembangan hibrid, ide-ide hebat di baliknya telah membuatnya cepat dikenal di kalangan developer.

Tujuan saya dalam artikel ini adalah untuk mengeksplorasi ide-ide ini dan menulis tentang pengalaman saya dengan Flutter, dan mengapa saya merasa ini adalah masa depan pengembangan aplikasi seluler hybrid.

Meskipun ada kerangka kerja aplikasi hybrid yang lebih lama di pasar, ada semakin banyak perusahaan nama besar yang memilih Flutter untuk aplikasi seluler mereka. Sementara halaman etalase Flutter mencantumkan banyak dari ini, berikut adalah beberapa aplikasi terkenal yang menggunakan Flutter baik untuk seluruh aplikasi atau untuk fitur penting:

  • Aplikasi Google Ads
  • Aplikasi GrabMerchant dari GrabFood
  • Aplikasi Xianyu Alibaba Group, yang memiliki lebih dari 50 juta unduhan
  • Nubank
  • Aplikasi eBay Motors

Meskipun framework Flutter cukup mumpuni, itu masih relatif baru. Demi keseimbangan, saya juga akan membahas beberapa batasan yang harus Anda waspadai sebelum berkomitmen pada Flutter.

Harapan saya adalah setelah membaca artikel ini, Anda memiliki gagasan yang baik tentang pro dan kontra Flutter, dan memiliki informasi yang cukup untuk memutuskan apakah Anda harus menggunakan Flutter dalam proyek aplikasi seluler Anda berikutnya.

Keuntungan Flutter (Dari Perspektif Pengembangan)

Sebagai seorang pengembang, ini adalah sudut pandang yang paling saya kenal dan dapat berbagi informasi paling banyak.

Kurva Belajar Cepat

Kejutan menyenangkan pertama yang dimiliki Flutter bagi pengembang adalah seberapa cepat memulainya. Dibutuhkan kurang dari 30 menit untuk menyelesaikan proses instalasi dan menyiapkan lingkungan pengembangan kerja. Dari sana, Anda siap untuk membuat aplikasi Flutter pertama Anda.

Integrasi Editor Populer

Flutter juga memiliki integrasi editor yang hebat. Saya pribadi menggunakan Android Studio, tetapi ada instruksi yang tersedia untuk menyiapkan IntelliJ, VSCode, atau Emacs.

Proses Pembangunan Bersih

Dibandingkan pengalaman saya sebelumnya dengan framework aplikasi hybrid, proses pengembangannya juga terasa lebih bersih . Misalnya, ketika saya menggunakan WebViews untuk menampilkan daftar dengan banyak elemen (sekitar 100 atau lebih), saya harus berurusan dengan penggunaan CPU yang tinggi, terutama ketika pengguna menggulir daftar. Saya menyelesaikannya dengan menggunakan elemen kerangka ionik yang dibuat khusus untuk ini. Di Flutter, ada satu cara yang diterima untuk menampilkan daftar, ListView , yang memiliki kinerja luar biasa di luar kotak.

Muat Ulang Langsung

Hal lain yang mengejutkan saya adalah fungsionalitas live reload. Sebagai pengembang full-stack, saya terbiasa dengan framework seperti BrowserWatch yang menyediakan live reload di browser.

Pengembangan asli tidak memiliki itu (tapi saya pikir SwiftUI dari Apple membuat beberapa kemajuan di bidang itu untuk pengembangan iOS). Pengembang Android dan iOS biasanya perlu menulis kode dan kemudian menunggu untuk dikompilasi dan dimuat di perangkat atau simulator sebelum mereka dapat melihat perubahan.

Flutter menyediakan (ala React Native) mekanisme reload langsung, di mana kode aplikasi dimuat ulang di perangkat segera setelah pengembang menekan "simpan." Ini memberikan umpan balik langsung, membuat pengembangan jauh lebih cepat.

Pertunjukan

Performa aplikasi adalah metrik lain di mana Flutter perlahan muncul sebagai pemenang.

Karena framework Flutter sedang dalam pengembangan aktif, ada banyak tempat di mana pengoptimalan kinerja dapat dilakukan. Ini terbukti dalam, misalnya, Flutter 1.17, yang meningkatkan kinerja rendering hingga 50% pada perangkat iOS yang lebih baru, dan mengurangi konsumsi memori hingga 70% untuk jenis beban kerja tertentu.

Konsistensi lintas platform

UI yang benar-benar konsisten di kedua platform seluler adalah fitur luar biasa lainnya dari Flutter. Karena Flutter menggunakan mesin renderingnya sendiri—lebih lanjut tentang itu nanti—UI sama persis di iOS dan Android. Pengembang tidak lagi harus bergulat dengan masalah gaya khusus platform untuk membuat semuanya tampak persis seperti desain: Jaminan itu adalah bagian dari kerangka kerja.

Bahasa, Perkakas, dan Ekstensi

Tiga aspek lain yang lebih kecil, tetapi tetap penting, yang menurut saya harus disebutkan di sini adalah:

  • Dart, bahasa di mana aplikasi Flutter diprogram, sangat mudah untuk memulai. Tapi itu juga bahasa yang cukup kuat, awalnya dimaksudkan oleh Google untuk menggantikan JavaScript. Jika pengembang memiliki pengalaman dengan JavaScript atau bahasa mirip C lainnya, mereka tidak akan kesulitan mengambil Dart dalam satu atau dua hari.
  • Ada pengelola plugin yang kuat (pub) yang disertakan dalam rantai alat default dan perpustakaan besar plugin yang tersedia melalui repositori plugin pub.dev.
  • Membuat plugin untuk memanfaatkan kemampuan platform asli cukup mudah, jadi jika pengembang memerlukan akses ke fitur platform yang belum ada pluginnya, mengkodekannya tidak terlalu sulit.

Keuntungan Flutter (Dari Perspektif Bisnis)

Manfaat Flutter terbesar yang kebanyakan bisnis pikirkan adalah hanya perlu mempekerjakan satu tim untuk platform iOS dan Android. Namun, manfaat yang lebih penting yang diabaikan oleh banyak bisnis adalah waktu yang lebih cepat untuk memasarkan . Memanfaatkan keunggulan pengembangan di bagian sebelumnya, tim pengembangan yang lebih kecil dapat membangun aplikasi yang indah dengan kinerja asli yang memberikan pengalaman pengguna yang sama di kedua platform jauh lebih cepat menggunakan Flutter.

Flutter memang memungkinkan pengembang untuk membangun beberapa antarmuka pengguna yang benar-benar indah . Lihat tantangan terbaru dari Google dan Lenovo untuk membuat UI tampilan jam yang cantik untuk Lenovo Smart Clock. Pemenangnya, Particle Clock oleh Mickel Andersson, tidak hanya elegan secara unik—tetapi juga menampilkan performa animasi di Flutter.

Untuk bisnis yang mempertimbangkan Flutter tetapi tidak yakin apakah itu cara yang tepat, Flutter dapat dimanfaatkan secara bertahap: Aplikasi seluler yang sudah ada sebelumnya dapat mengintegrasikan Flutter satu bagian dalam satu waktu. Faktanya, begitulah cara sebagian besar perusahaan besar memulai Flutter, dengan membangun sebagian kecil dari aplikasi mereka yang ada di Flutter, dan kemudian secara perlahan mengganti bagian lain setelah mereka melihat manfaatnya.

Batasan yang Perlu Dipertimbangkan Sebelum Menggunakan Flutter

Sejujurnya, Flutter, yang lebih baru, tidak begitu diuji dalam pertempuran seperti kerangka kerja aplikasi seluler hybrid lainnya seperti React Native—bagaimanapun, jangkauan pengguna akhir React Native mencakup aplikasi seluler Facebook, Instagram, Skype, dan Discord.

Jawaban default untuk "haruskah saya menggunakan Flutter?" adalah, untuk saat ini, ya hati -hati. Ini karena manajer proyek masih perlu mempertimbangkan fitur lanjutan mana, jika ada, yang mereka perlukan dan memastikan fitur tersebut tersedia di Flutter sebelum berkomitmen untuk menggunakannya. Secara khusus, ada baiknya menanyakan pustaka dan plugin mana yang mungkin dibutuhkan tim untuk membangun aplikasi tertentu. Sebagai entri yang lebih baru dalam kerangka kerja aplikasi seluler, Flutter tidak memiliki cakupan pustaka dan plugin yang luas seperti yang dimiliki React Native.

Misalnya, dukungan kamera di Flutter belum lengkap, dengan zoom dan kontrol flash belum menjadi bagian dari plugin kamera resmi. Bagi saya, itu bukan pemecah masalah, karena saya dapat menemukan plugin pihak ketiga ketika saya perlu mengintegrasikan fungsionalitas foto/video dalam aplikasi yang saya buat.

Plugin utama lainnya yang mungkin Anda lewatkan adalah Google Maps. Tidak ada plugin Google Maps asli Dart, dan meskipun ada plugin untuk memungkinkan integrasi Google Maps ke dalam kode Flutter Anda, plugin ini menggunakan fitur Flutter (tampilan platform) yang masih dalam status pratinjau pengembang.

Satu hal lagi yang tidak akan memengaruhi banyak proyek, tetapi Anda harus waspada, adalah bahwa untuk saat ini, Flutter tidak mendukung kemampuan 3D apa pun. Tim hanya fokus pada 2D untuk saat ini. Tetapi sebagian besar aplikasi tidak menggunakan fungsi 3D apa pun, jadi ini seharusnya tidak menjadi pemecah masalah bagi sebagian besar pengembang.

Beberapa Saran dari Pengalaman Saya dengan Flutter

Setelah merilis tiga aplikasi Flutter selama dua tahun terakhir, saya mempelajari sejumlah hal yang saya harap telah diberitahukan kepada saya ketika saya memulai. Saya akan mencantumkannya di sini dengan harapan dapat membantu Anda dalam perjalanan pengembangan Flutter Anda.

Flutter sangat mudah untuk memulai. Saya memulai dengan kursus yang luar biasa tentang App Brewery. Namun, setelah menyelesaikan beberapa modul pertama, saya pikir saya sudah cukup belajar dan mulai membangun aplikasi pertama yang saya luncurkan.

Karena ketidaksabaran saya, saya melewatkan beberapa modul dalam kursus itu yang ternyata penting, dan saya harus mempelajari pelajaran dari modul-modul itu dengan cara yang sulit dengan membuat kesalahan. Secara khusus, saya akan melakukan pekerjaan yang jauh lebih baik pada penggunaan Flutter pertama saya untuk pengembangan aplikasi jika saya telah mempelajari beberapa praktik terbaik Flutter:

  • Cara memodulasi dan menyusun kode aplikasi Flutter saya.
  • Bagaimana manajemen negara bekerja.
  • Cara mengautentikasi pengguna dan melacak status autentikasi di berbagai halaman aplikasi Flutter saya.
  • Cara mengintegrasikan notifikasi menggunakan paket Firebase Messaging.

Saya akhirnya mempelajari semua hal ini, tetapi harus membuat banyak kesalahan terlebih dahulu. Saya menulis ulang sebagian besar aplikasi pertama yang saya buat. Namun, dengan aplikasi Flutter kedua saya, saya telah belajar dari kesalahan saya dan akhirnya melakukan pekerjaan yang lebih baik dan lebih cepat.

Ada banyak sumber yang dapat Anda temukan dengan mudah dengan mencari di Google untuk mempelajari konsep-konsep yang saya sebutkan di atas. Anda dapat memulai dengan melihat tautan di halaman Pelajari Lebih Lanjut di situs Flutter.

Hal lain yang saya temukan adalah karena Flutter yang baru, tidak ada satu pola untuk menyusun aplikasi Anda. Berasal dari sebagian besar karir pengembangan berbasis Django, saya terbiasa mengetahui bahwa MVC adalah pola untuk digunakan dalam aplikasi Django saya. iOS juga memiliki pemenang yang jelas dalam pola MVVM yang diikutinya. Android memiliki seperangkat pedoman tentang cara terbaik untuk merancang sebuah aplikasi.

Flutter tidak memiliki pola arsitektur seperti itu yang telah "menang" atas banyak kemungkinan. Ini adalah sesuatu yang memberi saya waktu yang sulit pada awalnya. Pada akhirnya, setelah mengembangkan sejumlah aplikasi Flutter, saya pikir yang terbaik adalah memilih arsitektur dan tetap menggunakannya.

Saya pribadi menggunakan paket provider sebagai injeksi ketergantungan dan kerangka kerja manajemen perubahan. Aplikasi Flutter saya juga secara kasar dibagi menjadi tiga baris:

  1. Views , yang merupakan widget yang membangun aplikasi, termasuk layar. Saya menyuntikkan layanan dan model menggunakan widget Consumer dari paket Provider ke tampilan saya sehingga saya dapat membangun UI berdasarkan data yang tersedia. Widget Consumer juga membangun kembali tampilan saat status berubah, begitulah reaksi aplikasi saya terhadap perubahan status.
  2. Models , yang merupakan objek lama biasa yang saya gunakan untuk menyimpan data terstruktur.
  3. Services/controllers , tempat sebagian besar logika bisnis berjalan. Antarmuka API juga dikodekan di sini, yang dapat mengambil dan mengirim data ke API. Antarmuka API ini menyediakan dan menerima model untuk meneruskan data.

Perpustakaan blok juga layak dipertimbangkan sebagai alternatif dari paket provider . Ini memiliki arsitektur yang sedikit berbeda, dan menggunakan aliran peristiwa dan status untuk menghubungkan tampilan dan model.

Terkait: Cara Memanfaatkan BLoC untuk Berbagi Kode di Flutter dan AngularDart

Ini adalah cara yang sedikit lebih kompleks untuk mengelola status daripada menggunakan pustaka provider , tetapi itu akan terbayar jika Anda memiliki aplikasi kompleks di mana Anda membuat perubahan pada data yang sama dari berbagai sumber dan perlu merespons perubahan tersebut dari beberapa tempat.

Jika Anda akhirnya tidak menggunakan BLoC atau provider , Anda harus menemukan beberapa metode untuk mengelola status di seluruh aplikasi Anda, terutama terkait notifikasi.

Bagaimana Flutter Dibandingkan dengan Kerangka Kerja Hibrida Lainnya

Bereaksi Asli

React Native sejauh ini merupakan framework aplikasi seluler hybrid paling populer dan sukses hingga saat ini, dan dengan alasan yang bagus. Dibutuhkan kerangka kerja web front-end yang populer dan dibuat dengan baik, Bereaksi, dan memungkinkan jutaan pengembang front-end untuk mulai menulis aplikasi seluler juga. Saya yakin bahwa banyak aplikasi seluler hebat yang kita miliki saat ini tidak akan pernah dibuat jika pengembang harus menemukan waktu dan motivasi untuk mempelajari SDK pengembangan iOS dan Android asli.

Dengan latar belakang ini, saya yakin mengatakan bahwa Flutter pada akhirnya akan menang sebagai framework aplikasi seluler hybrid terkemuka. Ada beberapa alasan untuk itu.

Komponen React Native dijelaskan dalam kode JavaScript dan diterjemahkan ke dalam kontrol asli. Ini berarti bahwa pengguna mendapatkan nuansa UI yang berbeda di versi aplikasi iOS dan Android. Jika pengembang mencoba untuk mencapai pengalaman asli bagi penggunanya, ini bagus.

Namun, ini juga berarti bahwa jika pengembang ingin memiliki UI yang sama dan konsisten di kedua platform seluler, mereka harus bekerja keras untuk mendesain komponen asli agar terlihat sama, atau menggunakan komponen yang berbeda secara bersamaan yang memberikan tampilan dan nuansa yang sama di keduanya. platform.

Bandingkan ini dengan Flutter, di mana framework menyediakan widgetnya sendiri di semua platform yang didukung. Tidak ada terjemahan yang terjadi, karena Flutter tidak bergantung pada kontrol asli untuk melukis UI. Sebagai gantinya, ia menggunakan perpustakaan kontrolnya sendiri. Pustaka widget Flutter memang menyediakan widget yang terlihat seperti kontrol asli, tetapi sepenuhnya opsional.

Pendekatan ini memiliki pro dan kontra. Pro terbesar adalah Anda sekarang memiliki aplikasi yang sama persis di kedua platform. Tapi Anda mengorbankan beberapa hal untuk mencapai itu.

Karena Flutter menggunakan widgetnya sendiri alih-alih menggunakan yang asli, Anda tidak dapat menggunakan kebanyakan pustaka yang ada yang menyediakan kontrol khusus seperti yang Anda bisa dengan pekerjaan minimal di React Native. Di React Native, cukup sederhana untuk menulis pembungkus kecil di sekitar kontrol asli yang ada dan membuatnya berfungsi. Ini juga mengapa saat ini, tidak ada implementasi Google Maps yang stabil untuk Flutter.

Namun, kemampuan untuk menyematkan kontrol asli sedang dikerjakan sekarang dan dalam pratinjau pengembang, yang berarti Anda dapat menggunakannya tetapi mungkin harus menghadapi bug. Setelah dirilis, itu akan menutup lubang fungsionalitas yang agak besar ini di Flutter dibandingkan dengan React Native.

Fitur Flutter yang sama ini—menggunakan pustaka widgetnya sendiri, bukan yang asli—memberikan manfaat besar juga saat Anda ingin membuat komponen yang sama sekali baru. Di React Native, Anda harus membangun komponen platform-native dan mengimpornya ke dalam aplikasi Anda melalui binding.

Dengan Flutter, Anda dapat membuat komponen khusus langsung di kode Dart Anda. Anda memiliki kontrol penuh atas UI dengan widget seperti CustomPainter yang memungkinkan Anda menggambar apa pun yang Anda butuhkan, dan Anda memiliki perpustakaan widget yang memungkinkan Anda mengimplementasikan animasi kustom. Anda tidak perlu keluar dari basis kode Dart untuk membuat widget khusus ini.

Dan ini menurut saya adalah salah satu manfaat Flutter terbesar. Anda memiliki kendali penuh atas UI Anda dari kode Dart dan tidak perlu lagi khawatir mempelajari SDK asli dari platform yang Anda kembangkan.

Apache Cordova

Apache Cordova bukanlah kerangka kerja karena ini adalah pembungkus browser. Dengan Cordova, Anda membangun aplikasi menggunakan teknologi web: HTML, CSS, dan JavaScript. Cordova menyediakan cara bagi Anda untuk menjalankan aplikasi web ini pada platform seluler dan mengekspos API platform asli dalam JavaScript sehingga aplikasi Anda dapat berinteraksi dengan platform.

Ada sejumlah kerangka kerja berbeda yang dibuat untuk Cordova. Salah satu yang terkenal yang pernah saya gunakan di masa lalu adalah kerangka Ionic. Ini menyediakan satu set komponen UI yang terlihat dan bertindak mirip dengan komponen platform asli. Namun, komponen ini diimplementasikan menggunakan HTML/CSS/JavaScript.

Pengalaman pengembangan dengan Cordova dan Ionic sangat bagus, dan memulai sangat cepat jika Anda sudah menjadi pengembang web. Karena Anda sedang membangun aplikasi menggunakan teknologi web, Anda memiliki seluruh ekosistem web yang tersedia untuk Anda. Pikirkan ratusan ribu komponen dan pustaka kecil berdasarkan HTML/CSS/JavaScript, dan Anda dapat menggunakan sebagian besar—jika tidak semua—dari itu. Ini berarti bahwa sebagian besar "widget" yang Anda butuhkan sudah tersedia untuk Anda secara online.

Ini juga merupakan sisi negatifnya. Karena Anda menggunakan teknologi web untuk membangun aplikasi Anda, dibutuhkan banyak perhatian untuk memastikan bahwa aplikasi terlihat dan terasa seperti aplikasi seluler, dan bukan hanya situs web yang diperkecil agar berfungsi di seluler.

Cordova adalah cara yang bagus untuk mengembangkan MVP atau bahkan beberapa versi pertama aplikasi Anda, aplikasi pertama yang saya buat di Flutter adalah port dari aplikasi Ionic. Peningkatan kinerja yang kami dapatkan, terutama pada tampilan yang memiliki banyak konten untuk digulir, terlihat dari interaksi pertama.

Xamarin

Saya tidak punya pengalaman dengan Xamarian, jadi saya tidak bisa membandingkan keduanya dengan adil. Namun, selama penelitian saya, saya menemukan artikel bagus yang melakukan perbandingan yang adil.

Sementara artikel berakhir dengan ikatan antara Flutter dan Xamarian, saya dapat dengan yakin mengatakan bahwa jika saya membacanya dan harus membuat pilihan antara dua kerangka kerja, saya akan memilih Flutter karena hal-hal yang bersinar adalah hal-hal yang lebih saya hargai.

Tinjauan Teknis Flutter

Flutter: "Mesin Game" dari Kerangka Aplikasi Hibrida

Di antara kerangka kerja aplikasi seluler hybrid, Flutter memiliki pendekatan yang unik. Itu tidak mendelegasikan UI ke platform asli, atau menggunakan tampilan web. Sebagai gantinya, Flutter menggunakan mesin renderingnya sendiri untuk mengecat UI. Ini mirip dengan cara game menggunakan mesin game yang menghasilkan semua bagian UI-nya, alih-alih menggunakan kontrol asli.

Flutter menggunakan mesin grafis Skia berperforma tinggi yang telah teruji dalam pertempuran untuk menggambar semua yang ada di aplikasi seluler Anda. Menggunakan Skia memberikan dua manfaat utama yang dapat saya pikirkan, meskipun saya yakin para insinyur Google di belakang Flutter memiliki lebih banyak hal dalam pikiran:

  1. Aplikasi Anda akan terlihat sama persis di semua platform tanpa perlu disesuaikan untuk masing-masing platform.
  2. Aplikasi Anda akan mendapatkan kinerja yang hebat, mirip dengan aplikasi asli, karena tidak ada lapisan perantara yang harus menerjemahkan kode Anda ke dalam kode platform asli untuk menggambar widget.

Semuanya Adalah Widget

Dokumen Flutter berbicara tentang Flutter sebagai "kerangka kerja gaya Bereaksi." Ini terlihat dalam bagaimana aplikasi dibangun dengan menyusun widget yang lebih kecil ( komponen dalam terminologi React) bersama-sama.

Namun, Flutter mengambil pendekatan widget semuanya selangkah lebih maju daripada kerangka kerja lain yang pernah saya tangani.

Contoh sederhana adalah padding. Dengan sebagian besar kerangka kerja, padding adalah atribut elemen UI. Di Flutter, Padding adalah widget yang dapat membungkus widget lain di dalamnya dan menambahkan padding di sekitar widget anaknya.

Lebih uniknya, InheritedWidget tidak memiliki UI dan tidak menyediakan interaksi pengguna apa pun. Satu-satunya tugasnya adalah menambahkan informasi ke pohon widget sehingga di beberapa titik jauh di dalam pohon, Anda dapat menarik informasi itu.

Misalnya, root aplikasi Anda—widget MaterialApp —dapat menyuntikkan layanan autentikasi ke dalam pohon widget menggunakan InheritedWidget . Sekarang, jauh di dalam pohon di beberapa halaman lain, seperti halaman profil pengguna Anda, Anda dapat menggunakan metode untuk mengekstrak layanan otentikasi itu dan menggunakannya.

Ini semua adalah pendekatan widget yang membutuhkan waktu untuk membiasakan diri. Namun begitu Anda terbiasa, ini menjadi cara yang ampuh untuk membangun fungsionalitas dalam aplikasi Anda.

Flutter, Dart, dan Menggali Sumbernya

Flutter terikat erat dengan Dart. Sementara mesin rendering inti dibangun di C/C++, itu hanya sebagian kecil dari Flutter.

Sebagian besar basis kode Flutter ditulis dalam Dart, dan ada alasan bagus mengapa tim Flutter memilihnya. Tetapi manfaat terbesar bagi saya adalah saya dapat dengan mudah melihat kode sumber kerangka kerja—dan semua widget berbeda yang disediakannya—dan belajar darinya.

Ini adalah keuntungan yang lebih kuat daripada yang disadari banyak pengembang. Saya merekomendasikan agar sebagian besar pengembang mencoba menemukan jawaban dalam kode kerangka kerja/pustaka mereka, karena itu tidak hanya membantu mereka memahami apa yang terjadi di balik selimut, tetapi juga memaparkan mereka pada kode berkualitas tinggi yang dirancang dengan baik, yang merupakan cara yang pasti. tumbuh sebagai pengembang.

Interoperabilitas Platform Asli

Sementara Flutter menyediakan lapisan UI, dan logika bisnis mudah ditangani melalui paket Dart murni, untuk mengakses kemampuan platform asli seperti geolokasi dan kontrol kamera, menggunakan paket pihak ketiga pub.dev adalah strategi termudah.

Namun, jika ada beberapa fungsi yang Anda butuhkan yang tidak tersedia melalui paket yang ada, menulisnya sendiri tidak terlalu sulit. Saya sendiri belum membuat paket platform-native, tetapi saya telah melihat kode sumber untuk banyak orang karena penasaran.

Meskipun saya bukan pengembang aplikasi asli, saya dapat memahami sebagian besar bagian asli dari plugin tersebut dan melihat bagaimana mereka terhubung ke runtime Dart melalui pengiriman pesan. Untuk pengembang platform asli yang berpengalaman, membuat paket baru untuk memanfaatkan kemampuan asli akan menjadi sangat mudah.

Haruskah Anda Menggunakan Flutter di Proyek Anda Berikutnya?

Semoga artikel ini memberi Anda informasi yang cukup untuk memutuskan apakah Anda dapat menggunakan Flutter dalam proyek aplikasi seluler Anda. Saya telah mencoba memberikan gambaran yang seimbang tentang Flutter, mencantumkan pro dan kontra.

Meskipun tidak ada yang dapat membuat keputusan untuk Anda, saya dapat memberi Anda beberapa saran perpisahan tentang bagaimana saya dapat menjawab pertanyaan tentang penggunaan Flutter di aplikasi seluler saya berikutnya. Jika kelebihan Flutter dapat menyediakan semua kemampuan yang dibutuhkan aplikasi, saya akan memilihnya dalam sekejap.

Itu karena, selain dari beberapa area di mana Flutter saat ini kurang, semua aspek lainnya adalah yang saya kagumi dan andalkan dalam mengembangkan dan meluncurkan lima aplikasi Flutter yang berbeda dalam satu tahun terakhir:

  • Kemudahan Flutter untuk memulai
  • Keuntungan kecepatan yang bisa didapat dari menggunakan kerangka kerja yang dirancang dari bawah ke atas untuk fokus pada kecepatan pengembangan
  • Ekosistem yang kaya dari perpustakaan Dart dan paket pihak ketiga yang tersedia
  • Cara Flutter yang berbeda namun sangat produktif dalam mengembangkan aplikasi menggunakan segalanya adalah pendekatan widget

Mereka yang menawarkan layanan pengembangan aplikasi seluler sebaiknya memberikan pandangan serius kepada Flutter, jika mereka belum melakukannya.

Saya akan menutup dengan mencatat satu keuntungan Flutter terakhir: Ini memiliki beberapa dokumentasi terbaik dari perpustakaan atau kerangka kerja apa pun yang pernah saya tangani. Jarang saya mencari pertanyaan Flutter di Google dan tidak dijawab oleh halaman dari situs Flutter sendiri.

Terkait: Tutorial Flutter: Cara Membuat Aplikasi Flutter Pertama Anda

Lencana Mitra Google Cloud.

Sebagai Partner Google Cloud, para ahli Toptal bersertifikasi Google tersedia untuk perusahaan sesuai permintaan untuk proyek terpenting mereka.