Flutter untuk pengembangan web: manfaat, ancaman, aplikasi
Diterbitkan: 2020-05-15Pada tahun 2022, Flutter, kit pengembangan perangkat lunak yang dibuat oleh Google, secara resmi mengungguli pesaing terberatnya, React Native, menjadi pemimpin baru dalam teknologi lintas platform. Menurut laporan Google, lebih dari 100.000 aplikasi berbasis Flutter telah dirilis ke publik. Meskipun semakin populer, Flutter masih paling dikenal sebagai alat pengembangan seluler multiplatform (Android & iOS). Sementara itu, hanya sedikit pakar industri yang mengetahui bahwa Flutter juga dapat digunakan di aplikasi web! Temukan kemungkinan, aplikasi, dan risiko yang terkait dengan Flutter untuk pengembangan web dan temukan nilai apa yang dapat ditambahkannya ke bisnis Anda.
Flutter menjadi salah satu solusi paling menarik yang tersedia di pasar tidak hanya karena efektivitas biaya dan efisiensi waktu. Dengan setiap pembaruan, kinerja Flutter semakin mendekati solusi asli. Tentu saja, banyak perusahaan memilih Flutter untuk web sebagai tambahan untuk produk seluler mereka, dengan fokus kuat pada peningkatan jumlah poin kontak pelanggan. Tetapi apakah layak mempertimbangkan Flutter untuk web semata-mata karena fitur individualnya?
Tentu saja! Flutter memungkinkan pengembangan cepat aplikasi web dengan antarmuka yang kompleks dan unik, dan tidak ada duanya dalam hal memberikan pengalaman seperti seluler. Butuh contoh? Cukup periksa alat interaksi pelanggan yang menggemparkan PAJO, yang dibuat dengan Flutter untuk web oleh tim kami.
Mari langsung ke intinya: apa manfaat, aplikasi, dan risiko Flutter untuk web? Apakah Flutter bagus untuk pengembangan web? Baca lebih lanjut untuk mencari tahu!
Flutter untuk web: mari kita mulai dengan dasar-dasarnya
Mari kita mulai dengan informasi paling dasar:
The what: Flutter adalah framework Google yang memungkinkan developer membangun aplikasi seluler, web, desktop, dan tersemat menggunakan satu basis kode bersama.
Kapan: Flutter versi stabil pertama dirilis pada akhir 2018.
Dan alasannya: Google membuat Flutter sebagai tanggapan atas mencairnya anggaran aplikasi seluler dan semakin populernya React Native, yang menjadi pesaing utamanya.
Sekarang mari beralih ke beberapa informasi teknis yang lebih spesifik.
Flutter menarik perhatian ke Dart, bahasa berorientasi objek dari Google yang, menurut banyak pakar domain, adalah masa depan semua pengembangan seluler, web, dan desktop. Dibandingkan dengan JavaScript (digunakan oleh pesaing utamanya, React Native), Dart sepenuhnya berorientasi objek dan diketik dengan kuat. Apa artinya ini bagi bisnis Anda? Kode yang dikirimkan di Dart jauh lebih tahan terhadap kesalahan dan lebih mudah dipertahankan, bahkan selama bertahun-tahun dalam tim yang berubah. Tidak diragukan lagi, bahasa pemrograman Flutter adalah salah satu keuntungan terbesarnya.
Flutter untuk pengembangan web
Tahukah Anda bahwa fitur pengembangan web di Flutter relatif baru? Beberapa tahun lalu, Google melakukan proyek penelitian bernama Hummingbird. Grup developer Google yang terlibat dalam Hummingbird mencoba mencari cara untuk membuat aplikasi web dari kode Flutter yang sama yang digunakan di aplikasi iOS dan Android.
Efek dari proyek ini sebagian besar berkontribusi pada pengembangan kerangka kerja. Meskipun butuh waktu lama, pada Maret 2021, Google mengumumkan bahwa Flutter untuk web sepenuhnya stabil dan siap digunakan dalam proyek komersial. Satu kode, satu teknologi, banyak burung dengan satu batu.
Bagaimana cara kerja Flutter untuk web, salah satu proyek terbaru Google? Singkatnya, sejak rilis tahun 2021, developer dapat mengompilasi kode Dart yang ada ke dalam produk web – menggunakan framework Flutter yang sama dengan yang mereka gunakan untuk mengembangkan aplikasi seluler lintas platform. Dalam konteks ini, web hanyalah salah satu target perangkat untuk aplikasi seluler – dan tidak perlu melibatkan pengembang web lainnya.
Manfaat Flutter untuk web
Apa manfaat utama Flutter untuk web? Yang terpenting, Google meningkatkan keterlibatannya dalam proyek SDK, sebagaimana dibuktikan dengan peningkatan dan rilis sistematis (hampir 20 rilis pada tahun 2022!). Meskipun sejarahnya relatif singkat, Flutter telah mengatasi banyak masalah kedewasaan dini. Apa keuntungan paling signifikan lainnya dari Flutter Web?
Ingin terus mengikuti pembaruan Flutter yang paling penting?
Berlangganan newsletter kami1. Flutter untuk web mengurangi biaya pengembangan
Dengan Flutter untuk web, tiga aplikasi dibuat menggunakan satu basis kode , dalam satu tim yang terhubung secara teknologi, dengan satu langkah. Klien yang mengembangkan aplikasinya dengan Flutter tidak perlu mencari vendor dari tiga teknologi berbeda, lalu menyinkronkan pekerjaan mereka. Tidak perlu menggandakan, misalnya fungsi pembayaran yang sama atau otorisasi media sosial. Apakah ini secara langsung berarti penghematan tiga kali lipat? Tidak persis!
Tentu saja, Flutter secara signifikan mengurangi biaya pengembangan. Namun, bukan berarti pengembangan aplikasi lintas platform sama dengan pengembangan aplikasi native. Seringkali sedikit lebih rumit untuk memberikan fungsionalitas tertentu untuk lintas platform. Biasanya, ada faktor pengali lintas platform sekitar 1,2-1,5. Apa artinya? Jika suatu fungsionalitas membutuhkan X jam pengembangan untuk satu platform, dibutuhkan (1.2-1.5) * X jika menyangkut lintas platform. Tetap saja, x1.5 dibandingkan dengan x3 bisa menjadi kasus yang menguntungkan untuk anggaran Anda.
2. Penskalaan yang mudah dan verifikasi ide yang hemat biaya
Efisiensi biaya dan waktu menjadikan Flutter pilihan yang sangat baik untuk PoC dan verifikasi ide produk. Dalam beberapa minggu, Anda dapat mengembangkan aplikasi yang beroperasi penuh yang dapat Anda rilis dengan mudah ke app store dan didistribusikan melalui web. Setelah kemungkinan sukses, Anda dapat mempertimbangkan untuk meningkatkan aplikasi seluler dan web Anda, misalnya, dengan memperluas aplikasi seluler lintas platform ke aplikasi asli.
Beberapa raksasa industri, seperti Airbnb, telah mengikuti jalur ini. Setelah keberhasilan aplikasi seluler lintas platformnya, Airbnb memutuskan untuk beralih ke solusi asli, yang memungkinkan lebih banyak kebebasan dalam mengadaptasi produk ke grup target.
3. Proses perawatan yang disederhanakan
Apa yang terjadi ketika aplikasi Anda akhirnya berhasil? Ini masuk ke pemeliharaan! Dan bekerja sama dengan satu pakar Dart/Flutter jauh lebih mudah dan hemat biaya daripada mempekerjakan tiga developer hanya untuk memelihara kode. Belum lagi ketidakseimbangan dalam keterampilan pengembang menghasilkan variasi kecepatan kerja.
Keterampilan tim pengembangan juga penting, mengingat tampilan dan nuansa yang sama pada platform yang berbeda. Saat Anda memutuskan untuk mengembangkan tiga proyek, bentuk akhirnya sangat bergantung pada keterampilan pengembang dan sikap UI. Ketika orang iOS lebih suka sudut membulat, dan Android tidak begitu menyukainya, ternyata kedua aplikasi ini akan berbeda dalam pengaruhnya terhadap strategi produk Anda.
4. Pengalaman berpusat pada aplikasi yang spektakuler
Menurut pendiri Web Flutter, saat ini, Flutter adalah alat yang sempurna untuk menyematkan pengalaman interaktif. Sebagai framework UI, Flutter dapat menyediakan layanan yang berpusat pada aplikasi untuk situs web – dan karenanya merupakan solusi sempurna untuk Aplikasi Web Progresif, Aplikasi Halaman Tunggal, dan menyempurnakan aplikasi seluler Flutter yang sudah ada. Anda dapat membaca lebih lanjut tentang ini di bagian peluang di bawah ini. Tapi pertama-tama, mari kita bahas risiko web Flutter yang paling kritis.
Ancaman Flutter untuk web
Seperti yang telah disebutkan, Flutter Web adalah proyek yang relatif baru, terus ditingkatkan oleh pakar lintas platform. Saat tim Flutter kami menyusun daftar potensi risiko terkait pengembangan web Flutter pada tahun 2021, kami menemukan 14 masalah. Saat ini, daftar risiko Web Flutter telah berkurang sepertiganya. Namun, beberapa masalah, seperti masalah SEO atau kurangnya dukungan untuk beberapa browser, masih perlu ditangani. Apa kerugian paling signifikan dari Flutter untuk web pada tahun 2022?
1. Pengecualian aplikasi web dari Flutter untuk web
Mungkin ini bukan kerugian langsung dari Flutter Web, tetapi lebih merupakan penafian yang patut disebutkan. Alam semesta aplikasi Android dan iOS sangat mirip, dan basis kode dalam banyak kasus 95-100% sama. Namun, ini mungkin tidak berlaku untuk versi browser!
Laci lembar bawah, menu tab bawah, atau komidi putar horizontal adalah pola UX seluler yang bagus yang tidak berlaku untuk web dengan baik. Seringkali, Anda perlu membuat pengecualian hanya untuk aplikasi web. Desain arsitektur seringkali harus sepenuhnya berbeda di seluler dan web. Di awal pekerjaan, ada baiknya menyiapkan diskusi meja bundar antara desainer dan pengembang. Biarkan mereka membagikan sudut pandang mereka dan mencoba mencapai konsensus, terutama jika Anda peduli dengan anggaran dan jadwal Anda.
2. Masalah dengan Search Engine Optimization (SEO)
Terus terang, Flutter Web tidak mendukung SEO. Bagaimana pembuat kerangka menjelaskan ketidakcocokan SEO dari aplikasi web yang dibuat dengan Flutter?
Flutter web memprioritaskan performa, fidelitas, dan konsistensi. Ini berarti keluaran aplikasi tidak selaras dengan apa yang dibutuhkan mesin telusur untuk mengindeks dengan benar. Untuk konten web yang statis atau seperti dokumen, sebaiknya gunakan HTML—seperti yang kami lakukan di flutter.dev, dart.dev, dan pub.dev. Anda juga harus mempertimbangkan untuk memisahkan pengalaman aplikasi utama Anda — dibuat di Flutter — dari laman landas, konten pemasaran, dan konten bantuan — yang dibuat menggunakan HTML yang dioptimalkan mesin telusur.
Sumber: FAQ Web oleh Flutter.dev
Menurut Stack Overflow, keramahan-SEO adalah salah satu tujuan tim Flutter berikutnya. Namun saat ini, developer yang ingin mengoptimalkan aplikasi web dari segi SEO harus menggunakan library tambahan.
3. Tidak ada hot reload di Flutter untuk web
Hot reload adalah salah satu manfaat Flutter yang paling dikenal untuk pengembangan seluler. Dengan fitur ini, pengembang dapat segera melihat pratinjau perubahan depan dan belakang – dan melakukan perbaikan yang diperlukan pada tahap awal produksi. Sayangnya, hot reload belum kompatibel dengan Flutter Web.
Untungnya, ada alternatif tertentu untuk hot reload di Flutter untuk web: hot restart. Hot restart memungkinkan pratinjau perubahan tanpa harus meluncurkan kembali aplikasi web. Satu-satunya perbedaan (dan yang paling menyakitkan) adalah hot restart, sebaliknya hot reload, kehilangan status aplikasi – berpotensi mengurangi fleksibilitas dalam memperkenalkan perubahan pengembangan.
4. Kompatibilitas terbatas dengan beberapa browser
Menurut developer Flutter, aplikasi web Flutter dapat berjalan di empat browser paling populer:
- Chrome
- Safari
- Tepian
- Firefox
Secara teoritis, Anda harus yakin bahwa aplikasi web Anda akan bekerja secara efisien terlepas dari browser mana yang dipilih pengguna Anda. Tetapi bagaimana cara kerjanya dalam praktik? Beberapa developer Flutter melaporkan masalah dengan Safari, dan mengeluh tentang perlunya melakukan solusi yang memakan waktu untuk beberapa fitur.
Flutter Web masih menghadapi beberapa kesulitan kecil, seperti masalah SEO, kompatibilitas terbatas dengan Safari, atau pustaka yang hilang. Tetapi pada saat yang sama, tidak diragukan lagi bahwa Flutter menjadi lebih efisien dan mendekati fungsionalitas penuh dengan setiap pembaruan. Dan tidak berlebihan untuk mengatakan bahwa dalam setahun, semua masalah ini mungkin sudah berlalu!
Aplikasi Flutter untuk pengembangan web
Sekarang mari langsung ke intinya: siapa yang paling diuntungkan dari Flutter untuk pengembangan web? Pembuat Flutter menunjukkan tiga kasus penggunaan ideal untuk Flutter Web:
Aplikasi Web Progresif
Sejak peluncuran rilis stabil Flutter 2 pada tahun 2021, developer Flutter telah mampu membangun Aplikasi Web Progresif (PWA): aplikasi web tidak hanya mampu berfungsi secara offline, tetapi juga meniru fungsionalitas seluler saat dijalankan melalui browser.
Sederhananya, PWA adalah halaman web yang dapat dipasang di perangkat apa pun untuk memberikan pengalaman asli – dan sebaliknya untuk aplikasi khusus iOS dan Android, dapat digunakan di perangkat apa pun.
PWA sering digunakan oleh perusahaan yang menyediakan produk untuk audiens target yang luas, ingin menawarkan pengalaman pengguna yang sempurna di semua titik kontak konsumen, dan harus memanfaatkan setiap kesempatan untuk berinteraksi dengan pengguna potensial. Contoh? Starbucks, Flipboard, game 2048. Saya yakin Anda telah menggunakan setidaknya satu dari aplikasi menarik ini!
Aplikasi Halaman Tunggal
Facebook, Gmail, Google Maps, Spotify – semua aplikasi populer ini memiliki setidaknya satu kesamaan penting. Mereka berfungsi tanpa memuat ulang halaman. Saat berinteraksi dengan Aplikasi Halaman Tunggal, pengguna tidak perlu menunggu halaman baru dimuat – halaman baru sudah ada sejak awal bersama dengan konten yang relevan.
SPA responsif, relatif mudah untuk dikodekan, dioptimalkan, dan dipelihara. Last but not least, mereka dapat dikembangkan dengan cepat dengan Flutter – dan berfungsi sebagai produk minimum yang layak dengan kualitas yang sangat baik.
Apakah Anda ingin membaca lebih lanjut tentang Aplikasi Web Progresif dan Satu Halaman? Pastikan untuk membaca artikel kami tentang memilih jenis aplikasi yang tepat untuk bisnis Anda!
Aplikasi seluler Flutter yang sudah ada dapat dengan mudah diubah menjadi Flutter untuk web
Menambahkan dukungan web ke proyek seluler berbasis Flutter cepat dan mudah: diperlukan pembuatan direktori web dan… menekan tombol Jalankan! Tentu saja, untuk memastikan performa sempurna, sangat penting untuk membuat aplikasi web responsif dan mudah dinavigasi. Namun dibandingkan dengan membuat aplikasi dari awal, menambahkan versi web ke aplikasi seluler yang ada di Flutter benar-benar membutuhkan sedikit usaha.
Apakah Flutter untuk Web patut dicoba?
Apakah Flutter untuk Web patut dicoba? Jelas, Anda harus menjawab pertanyaan ini sendiri. Memilih framework yang tepat untuk produk Anda bergantung pada beberapa faktor bisnis dan teknologi, seperti misi, visi, anggaran, ukuran, atau kumpulan teknologi perusahaan. Namun, dalam beberapa kasus tertentu, setidaknya ada baiknya mempertimbangkan penggunaan Flutter Web.
Pertama, Flutter Web menciptakan peluang yang belum pernah ada sebelumnya untuk permulaan tahap awal. Bayangkan saja Anda baru saja mendapatkan ide produk yang brilian, menentukan tujuan bisnis Anda, melakukan analisis kompetitif. Sekarang Anda harus memverifikasi MVP Anda sesegera mungkin – sebelum momen itu hilang. Dalam skenario ini, memilih Flutter untuk pengembangan web tentunya merupakan pilihan yang aman, hemat waktu, dan masuk akal.
Kedua, fleksibilitas bahasa pemrograman Dart menjadikan Flutter Web pilihan yang sangat baik untuk menyempurnakan produk digital Anda. Flutter memungkinkan pengembangan cepat aplikasi di berbagai platform, meningkatkan visibilitas produk Anda dan aksesibilitasnya kepada pengguna.
Jika Anda menemukan sedikit pun situasi bisnis Anda dalam salah satu skenario di atas, tentu saja layak untuk tertarik pada Flutter Web.
Dan kapan tidak ada gunanya memikirkan pengembangan aplikasi web menggunakan Flutter? Bahkan pembuat framework mengakui bahwa, pada titik ini, tidak semua halaman web masuk akal di Flutter:
(…) Flutter tidak cocok untuk situs web statis dengan konten berbasis aliran kaya teks. Misalnya, artikel blog mendapat manfaat dari model yang berpusat pada dokumen tempat web dibuat, daripada layanan yang berpusat pada aplikasi yang dapat diberikan oleh framework UI seperti Flutter. Namun, Anda dapat menggunakan Flutter untuk menyematkan pengalaman interaktif ke dalam situs web ini. penelitian perpustakaan yang tersedia harus mendahului setiap proyek di sana.
Sumber: FAQ Web oleh Flutter.dev
Setiap keputusan bisnis harus didahului dengan penelitian menyeluruh dan konsultasi dengan beberapa pakar industri.
Masa depan cerah (yang diantisipasi) dari Flutter untuk web
Pada titik ini, memilih Flutter untuk setiap proyek web mungkin bukan ide terbaik. Namun, saya mengantisipasi masa depan yang semakin cerah untuk kerangka kerja yang berkembang pesat ini. Mengapa?
Belum pernah ada pengguna yang begitu tersebar di antara platform. Perangkat seluler dan browser web hanyalah puncak gunung es. Orang-orang menggunakan aplikasi di mobil, jam tangan, dan perangkat TV.
Oleh karena itu, ada kebutuhan untuk menyederhanakan proses dan mengurangi biaya produksi perangkat lunak. Satu basis kode untuk pengembangan web dan seluler sudah menjadi pola umum, dan Flutter untuk web adalah contoh yang bagus.
Untuk waktu yang lama, saya menganggap Flutter Web sebagai teknologi pemula. Pekerjaan saya baru-baru ini telah membuat saya berubah pikiran. Flutter mengingatkan saya pada seorang pemuda dewasa yang berdiri di depan masa depan yang cerah. Tampaknya pilihan yang menarik untuk ide dengan anggaran kecil dan tenggat waktu singkat. Flutter adalah pilihan sempurna bagi mereka yang ingin memverifikasi ide mereka dengan cepat dan dengan pengeluaran rendah serta mereka yang memiliki ide dan merespons kebutuhan pasar.