Tim Google telah merilis hasil survei developer Flutter Q3 2020. Saya menerbitkan terjemahan materi dengan komentar saya.
Artikel ini disiapkan oleh Flutter UX Research Team (Flutter UXR) ( Jayeon Lee , Yoyoyang Hou , Jack Kim , Tao Dong )
Pada bulan Agustus 2020, tim Flutter meluncurkan survei developer kuartalan ke-10. Dalam 10 hari, 7.668 developer Flutter di seluruh dunia melewatinya. Masing-masing menghabiskan waktu sekitar 7,4 menit untuk menjawab - total 39,4 hari. Kami menghargai waktu yang Anda luangkan untuk meninggalkan umpan balik Anda dan kami ingin berbagi hasilnya dengan Anda.
Seperti biasa, kami menanyakan kepuasan Anda terhadap berbagai komponen Flutter. Selain itu, pada kuartal ini kami mencari masukan tentang topik baru seperti Flutter untuk web, sliver (widget untuk membuat efek pengguliran kompleks) dan men-debug masalah khusus platform. Dalam artikel ini, kita akan melihat lebih dekat pada masing-masing topik.
Data ringkasan
- 94% responden puas dengan kerangka Flutter secara umum (PSAT - puas secara positif), dan 58% sangat puas (VSAT - sangat puas). Porsi PSAT tidak berubah, tetapi persentase VSAT terus meningkat.
- Pangsa pengembang profesional telah tumbuh dari 26% menjadi 31%. Pangsa pengguna tingkat lanjut juga meningkat.
- , 3 Flutter for web, 59% . 71% Flutter , -UI.
- , , 79% . (36%) , .
- 71% , . (32%), (28%) (28%).
Kuartal ini, persentase pengguna yang sangat puas dengan Flutter mencapai rekor 58%. Secara keseluruhan, pengguna Flutter masih puas dengan produk (94%), meskipun komunitas tumbuh secara eksponensial. Grafik berikut menunjukkan bagaimana kepuasan Flutter berubah dari waktu ke waktu.
58% pengguna menjawab "Sangat puas" untuk pertanyaan: "Seberapa puaskah Anda dengan Flutter secara umum?"
Basis pengguna kami telah mengalami beberapa perubahan signifikan. Pertama, persentase pengguna korporat dari kerangka Flutter telah tumbuh secara signifikan dari 26% di kuartal pertama dan kedua menjadi 31%, sedangkan persentase pengembang dari pemula masih sekitar 35%.
Terlepas dari kenyataan bahwa mayoritas pengguna Flutter bekerja untuk perusahaan rintisan, persentase pengembang perusahaan telah tumbuh secara signifikan dari 26% menjadi 31%
, Flutter . Surf : .
โ , .
, , . , Android iOS, โ . , , .
Selain itu, penilaian subjektif dari pengalaman dengan Flutter telah berubah secara signifikan di basis pengguna. Seperti yang Anda lihat pada grafik berikut, pangsa pengguna pemula secara bertahap menurun, sementara pangsa pengguna tingkat lanjut meningkat secara bertahap. Ini berarti ada lebih banyak pengguna berpengalaman di komunitas kami yang dapat berbagi pengetahuan dengan pemula. Jika Anda tertarik mempelajari sesuatu atau berbagi pengetahuan, Anda dapat berpartisipasi dalam diskusi online dengan pengembang Flutter lainnya. Buka tab "Komunitas" di flutter.dev.
Pangsa pengguna tingkat lanjut terus tumbuh
. , Flutter-. , ยซยป - . Flutter- . , , , .
, pro-. .
, . HR-. Flutter-, software-. , .
Flutter for Web
Selain mendukung pengembangan seluler dalam versi stabil, Flutter juga mendukung pengembangan web dalam versi beta. Kali ini, kami meminta pengguna Flutter awal untuk memberi tahu kami secara tepat masalah apa yang mereka hadapi dengan kinerja, tampilan, dan fungsionalitas aplikasi web, alur kerja, dan dokumentasi, untuk memahami apa yang harus dikerjakan terlebih dahulu.
Peserta survei menggunakan Flutter secara ekstensif untuk membangun aplikasi web. Menurut baris ketiga dari grafik berikutnya, sekitar 33% melaporkan bahwa mereka mengevaluasi Flutter dalam aplikasi web komersial (15%), membuat versi demo aplikasi dengannya (11%), atau merilis aplikasi komersial (7%).
33% pengguna (1468 dari 4449) melaporkan bahwa mereka mengevaluasi Flutter dalam aplikasi web komersial (15%), membuat versi demo aplikasi dengannya (11%), atau merilis aplikasi komersial (7%)
Secara khusus, 29,5% pengguna dengan pengalaman dalam pengembangan seluler dan web telah menggunakan Flutter untuk Web dengan lebih serius selama 3 bulan terakhir (untuk tujuan komersial potensial). Persentase bervariasi berdasarkan pengalaman pengembang sebelumnya dengan platform. Rupanya, responden yang sebelumnya hanya terlibat dalam pengembangan web menggunakan Flutter sebagai kerangka kerja web alternatif (22% menggunakan Flutter untuk Web untuk tujuan komersial potensial), sementara responden yang sebelumnya hanya terlibat dalam pengembangan seluler secara aktif menggunakan Flutter untuk Web untuk integrasi dengan pengembangan web (16% menggunakan Flutter untuk Web).
Persentase pengguna yang telah menggunakan Flutter di web secara komersial dalam 3 bulan terakhir bervariasi berdasarkan pengalaman mereka sebelumnya dengan platform seluler dan web.
Tim web Flutter juga mengumpulkan masukan tentang berbagai masalah terkait tampilan dan nuansa aplikasi web. Pertama, kami mengetahui bahwa peserta survei yang paling penting mempertimbangkan navigasi browser dan riwayat halaman (55%), salin / tempel teks yang dipilih (34%), fisika gulir (33%), dan penyorotan teks (32%). Responden juga meminta dokumentasi yang lebih baik tentang navigasi halaman dan menyesuaikan tata letak seluler ke web.
Flutter for Web . , Flutter Team web. FlutterDevPodcast Flutter for Web , , . , UX, . CEO .
Menurut pengguna, "navigasi browser dan navigasi halaman" adalah fitur terpenting saat membangun antarmuka web dengan Flutter.
Tim Flutter mempertimbangkan masukan pengembang dan secara aktif mengerjakan peningkatan. Untuk mengatasi masalah pengguna utama terkait navigasi dan navigasi halaman, tim baru-baru ini merilis Navigator 2 . Kami juga telah menambahkan dukungan untuk menyalin / menempel teks yang dipilih dan berencana untuk meningkatkan fungsionalitas teks yang dipilih (terutama dalam teks kaya). Kami terus mengerjakan masalah fisika dan kinerja gulir berdasarkan masalah yang diterima dari komunitas.
Terakhir, tim kami menerima umpan balik tentang alur kerja, kinerja, dan API pihak ketiga. Di antara semua alur kerja utama, menurut responden, yang paling sulit adalah debugging. Kecepatan pemuatan halaman dan pengguliran adalah aspek yang paling sering dialami oleh responden dalam menghadapi masalah kinerja. Peserta survei meminta dukungan yang lebih baik untuk penyimpanan lokal (misalnya SQLite), penyimpanan Firebase, dan Google Maps untuk Flutter untuk Web. Tim kami akan bekerja untuk meningkatkan aspek ini saat Flutter untuk Web berkembang.
Komentar
Tentu saja, keinginan untuk menyempurnakan Flutter untuk Web adalah hal yang patut dipuji. Apakah kerangka tersebut siap menjadi pengganti penuh untuk pesaing yang lebih tradisional? Pendapat saya tegas: tidak. Masih ada jalan panjang untuk perbaikan dan perbaikan.
Irisan
Widget sliver (widget dengan nama yang dimulai dengan "Sliver", seperti SliverAppBar dan SliverList) digunakan untuk membuat efek scrolling yang kompleks. Banyak efek gulir dapat diimplementasikan menggunakan widget seperti ListView, GridView, PageView atau AnimatedList, namun widget sliver membantu menyesuaikan tampilan gulir dan membuat UI lebih cantik.
Efek pengguliran yang kompleks seperti itu dapat diterapkan menggunakan widget sliver.
Tim Flutter telah mempelajari banyak cerita berbeda tentang pengalaman pengguna dengan sliver. Beberapa mengatakan mereka tidak menggunakan sliver dalam aplikasinya, dan beberapa mengatakan mereka membutuhkan lebih banyak pemotong untuk menerapkan berbagai efek. Kuartal ini, tim kami memutuskan untuk memperbarui survei untuk lebih memahami cara kerja pengguna Flutter dengan sandal.
Hal pertama yang kami pelajari adalah mayoritas peserta survei (49%) mendesain UI dengan efek scrolling sederhana. UI dengan efek kompleks dikembangkan sebesar 39%. (Survei memberikan contoh efek scrolling sederhana dan kompleks.) Dari mereka yang memerlukan efek kompleks, 78% mengatakan mereka membutuhkan sliver untuk mencapai efek yang diinginkan.
UI dengan efek scrolling sederhana dikembangkan oleh lebih banyak pengguna (49%) daripada UI dengan efek kompleks (39%).
20% pengguna yang membutuhkan sliver mengatakan bahwa mereka belum mencobanya. Yang lebih menarik adalah 35% pengguna yang menggunakan sandal melaporkan bahwa mereka bermasalah. Ketika kami bertanya apa tantangan terbesarnya, pencarian menempati peringkat pertama (36%), diikuti oleh eksplorasi (30%), dan terakhir kegunaan (19%).
Pencarian ternyata menjadi masalah yang paling sering terjadi bagi pengguna sliver, lebih sedikit kesulitan yang dilaporkan dalam mempelajari widget dan kegunaannya
Karena kami tidak ingin masalah ini mempengaruhi antarmuka pengguna Anda, kami berencana untuk memperbarui flutter.dev untuk mempermudah menemukan widget sliver dan mempelajari yang terkait informasi. Jika Anda mencari sliver baru yang tidak dimiliki Flutter, coba paket perangkat lunak yang dikembangkan komunitas seperti sliver_tools atau sticky_headers . Komunitas Flutter juga menyambut baik masukan Anda di bidang ini.
Dan jika Anda belum terbiasa dengan sliver dan ingin mempelajarinya lebih lanjut, kami menawarkan sumber daya berikut:
Sliver, terdemistifikasi(Artikel kecil)
Slivers menjelaskan - membuat tata letak dinamis ("The Boring Flutter Development Show" di YouTube, episode 12)
Komentar
Sliver - batu sandungan bagi banyak pengembang Flutter. Mereka takut dan tidak mengerti. Mungkin alasannya bukan API yang paling transparan untuk bekerja dengan komponen, serta penyarangan widget yang rumit. CustomScrollView, SliverList, SliverChildBuilderDelegate - hingga Anda mengetahui peran apa yang dimainkan masing-masing komponen ini dalam membangun gambaran keseluruhan, tampaknya Anda mencoba mengungkap tipuan seorang ilusionis berpengalaman. Nyatanya, sliver dan mekanisme serupa adalah salah satu alasan utama saya menyukai Flutter. Kemampuan untuk hanya melakukan hal-hal kompleks sangat berharga.
Debugging masalah khusus platform
Dalam survei kami sebelumnya, kami menemukan bahwa pemecahan masalah khusus platform dan pengujian aplikasi di seluruh platform adalah tugas yang paling menantang bagi developer Flutter. Kami menemukan kesalahan yang khusus untuk platform tertentu, tetapi tidak tahu masalah mana yang lebih diprioritaskan dan apakah mungkin untuk mengelompokkannya ke dalam kelompok berdasarkan topik. Untuk memahami mengapa sangat sulit untuk men-debug dan menguji, kami menanyakan jenis masalah yang dihadapi pengguna.
Pertama, kami bertanya kepada pengguna tentang masalah khusus platform yang mereka debug. Akibatnya, kami paling sering menemukannya masalah dengan perkakas (32%), perbedaan visual pada platform yang berbeda (28%), manajemen ketergantungan (28%), perbedaan fungsi pada platform yang berbeda (27%), perbedaan dalam fungsi plugin pada platform yang berbeda (26%), dan juga, fitur asli sering hilang (25%).
Komentar
Baru-baru ini, build kustom Flutter Engine dengan Metal dinonaktifkan telah muncul di GitHub . Ternyata tanpanya, aplikasi yang dibuat untuk iOS bekerja jauh lebih lancar! Kami tidak sering mengalami masalah platform yang sangat buruk. Meskipun demikian, Anda harus selalu siap menghadapinya. Untuk bersenjata lengkap, hanya mendalami dasar-dasar platform yang didukung yang akan membantu.
Masalah khusus platform yang paling umum melibatkan masalah perkakas, perbedaan visual, dan masalah manajemen ketergantungan
Peserta survei juga menilai pentingnya dan kompleksitas dari setiap masalah yang mereka debug. Masalah debugging yang paling penting adalah kurangnya fitur asli, perbedaan performa, perbedaan performa, perbedaan dalam fungsi plugin, dan masalah rilis. Masalah tersulit dalam proses debug adalah kurangnya fitur asli, masalah dengan perangkat tertentu, perbedaan kinerja, manajemen ketergantungan, dan alat.
Catatan untuk gambar (dari kiri ke kanan): Kesulitan - kesulitan, Masalah pengujian - masalah dengan pengujian, Perbedaan visual - perbedaan visual, Pentingnya - kepentingan, Masalah khusus perangkat - masalah khusus untuk perangkat tertentu, Masalah manajemen ketergantungan - masalah dengan manajemen ketergantungan , Masalah rilis - masalah dengan rilis, Masalah perkakas - masalah dengan alat, Perbedaan perilaku - perbedaan dalam fungsi, Fitur asli yang hilang - kurangnya alat asli, Perbedaan perilaku plugin - perbedaan dalam fungsi plugin, Perbedaan kinerja - perbedaan kinerja.
Pentingnya dan kompleksitas masalah khusus platform. "Sulur" pada grafik menandai interval kepercayaan 95%
Dalam hal pengujian aplikasi pada berbagai platform, 85% responden mengatakan itu sangat atau sangat penting. Namun, ternyata sangat atau sangat sulit bagi 27% dari mereka yang disurvei. Oleh karena itu, menguji aplikasi pada banyak platform itu penting, tetapi bagi sebagian besar pengembang itu tidak terlalu sulit. Dari jawaban rinci atas pertanyaan tersebut, kami mengetahui bahwa masalah pengujian yang paling umum muncul saat menguji iOS (terutama untuk pengembang Windows), menguji beberapa ukuran layar, dan menguji pada beberapa perangkat fisik.
Di kuartal berikutnya, tim kami akan menghabiskan lebih banyak waktu, mengurangi bug secara drastis, dan menyelesaikan masalah utama terkait alat, manajemen ketergantungan, dan rilis. Kami juga akan terus menyempurnakan dokumentasi tentang topik ini. Misalnya, kami akan menyempurnakan dokumentasi pengguna untuk alat CI seperti GitHub Actions dan Bitrise, yang membantu pengguna menguji aplikasi iOS.
Komentar
Tindakan GitHub baik-baik saja selama repositori Anda tidak bersifat pribadi. Mulai sekarang, Anda hanya memiliki 200 menit waktu pembuatan gratis per bulan untuk membangun mesin virtual untuk macOS. Baca artikel saya tentang menyiapkan alur kerja yang sempurna untuk proyek Flutter .
Apa berikutnya
Masukan Anda memengaruhi keputusan kami setiap hari. Kami akan tetap setia pada tradisi ini dan akan terus membuat keputusan berdasarkan tanggapan Anda terhadap survei kami. Oleh karena itu, kami meminta Anda untuk terus berpartisipasi dan berbagi pemikiran. Selain itu, tim riset Flutter UX melakukan berbagai penelitian pengalaman pengguna (UX) untuk meningkatkan pengalaman Flutter Anda. Jika Anda ingin berpartisipasi dalam penelitian ini, daftar dan pencalonan Anda akan dipertimbangkan untuk penelitian selanjutnya.