Showing posts with label Flutter. Show all posts
Showing posts with label Flutter. Show all posts

Friday, December 4, 2020

Update dukungan web Flutter

Update dukungan web Flutter

PWA, proses debug yang lebih baik, dan rendering berbasis CanvasKit

Catatan singkat: kami awalnya berencana merilis versi stabil Flutter terbaru hari ini, tetapi kami menemukan bug error dalam pengujian akhir yang ingin kami perbaiki sebelum dirilis. Kami sudah melakukan perbaikan dalam basis kodenya, tetapi kami ingin menyempurnakannya untuk memastikan bahwa kami tidak memperkenalkan regresi baru. Kami sekarang berencana merilis versi stabil minggu depan. Terima kasih kepada semua orang yang telah melaporkan masalah ini dan bekerja sama dengan kami untuk mereproduksinya.

Hampir setahun yang lalu, kami membagikan pratinjau teknis pertama kami tentang dukungan Flutter untuk menargetkan web. Visi Flutter kami adalah menyediakan toolkit portabel untuk membangun pengalaman indah di mana pun Anda ingin menggambar piksel layar. Mengingat sifat web yang mudah menyebar, ini adalah tempat alami eksperimen dengan Flutter, tetapi karakteristiknya berbeda dari platform seluler seperti Android dan iOS.

Menjalankan kode Flutter di browser web membuka berbagai kemungkinan menarik, meliputi:

  • Menyediakan jalur mudah bagi developer untuk menghadirkan aplikasi seluler mereka ke web, baik sebagai aplikasi lengkap, PWA, maupun sebagai pratinjau rendah-friksi dari pengalaman terinstal.
  • Memungkinkan developer aplikasi desktop membangun sekali dan membuat keputusan akhir tentang apakah aplikasi tersebut dikirim sebagai aplikasi desktop terinstal berkinerja tinggi dan/atau aplikasi web temporer yang bebas friksi.
  • Fitur seperti DartPad dan CodePen memungkinkan Anda bisa secara cepat bereksperimen dengan kode Dart, melihat hasilnya secara real time tanpa perlu menginstal apa pun secara lokal di mesin Anda.
  • Membagikan kode antara aplikasi web dan seluler dengan kompromi minimal.

Flutter dibangun tanpa kompromi dengan aplikasi sebagai pusatnya dalam framework dan pilihan API-nya. Kami percaya ini adalah penawaran berbeda yang berkontribusi luas untuk pengembangan web. Jika kami berhasil mencapai tujuan kami, dukungan web Flutter akan menyediakan framework yang memanfaatkan sepenuhnya semua kemampuan yang ditawarkan platform web, memungkinkan developer membangun aplikasi interaktif yang kaya dan indah serta benar-benar cocok di browser.

Ampstor: fitur tanpa-kode untuk membangun halaman web cerita yang lebih baik, dibangun dengan dukungan web Flutter.

Ampstor adalah contoh yang sangat menarik. Tim ini bertujuan membangun fitur pengeditan untuk membangun AMP Stories, format baru yang membantu penyedia konten membuat narasi visual untuk perangkat seluler. Inilah yang mereka katakan ketika menggunakan Flutter di web:

“Sebagai startup yang membantu pelanggan membangun pengalaman yang sangat berkesan, sangatlah penting bagi kami untuk bisa memasarkan dengan cepat dan melakukan inovasi berdasarkan masukan pelanggan. Kami memilih Flutter karena ia memberikan kebebasan untuk berfokus pada produk, bukan platformnya. Kami sangat senang dengan pengalaman sejauh ini dan pelanggan menyukai aplikasi yang kami buat.”

Tujuan awal kami dengan dukungan web adalah membuktikan hipotesis dasar bahwa framework Flutter bisa ditransfer ke web. Musim panas lalu, kami menyatukan kode web kembali ke framework utama, mengarah ke satu basis kode yang mendukung seluler dan web (serta desktop!). Fokus kami sejak saat itu telah bergeser untuk memberikan kinerja yang cepat dan mulus menggunakan kemajuan platform web terbaru, meningkatkan konsistensi perilaku di seluruh platform target Flutter, dan menghapus serta memperbaiki skenario yang tidak terasa natural di web.

Dengan mengingat hal tersebut, berikut adalah update tentang semua hal yang telah dikerjakan tim sejak dukungan web mendarat di saluran beta Desember lalu.

Apa yang baru?

Dukungan PWA

Penggemar Progressive Web Apps akan senang mengetahui bahwa template Flutter default untuk aplikasi web sekarang menyertakan dukungan fitur-fitur inti yang diperlukan untuk aplikasi PWA berkemampuan offline yang dapat diinstal:

Aplikasi template “counter” Flutter, berjalan sebagai PWA di macOS.
Aplikasi template “counter” Flutter, berjalan sebagai PWA di macOS.

Perhatikan bahwa ini terlihat seperti aplikasi desktop biasa, tetapi ini sebenarnya adalah aplikasi web Flutter yang telah diinstal ke dalam browser sebagai PWA. Anda bisa melihat perbedaannya dengan tambahan tombol ikon di bilah judul, yang memperlihatkan fungsionalitas Chrome. PWA berbasis Flutter bisa diinstal dengan cara yang sama seperti PWA berbasis web lainnya; setelan yang menandakan bahwa aplikasi Flutter Anda adalah PWA disediakan oleh manifest.json, yang dihasilkan oleh flutter create di subfolder web/.

PWA didukung pada browser desktop serta seluler utama dan hanyalah salah satu cara investasi kami dalam menjembatani kesenjangan antara kemampuan platform native dan web.

Ini masih dalam proses pengerjaan, jadi silakan beri kami masukan bila Anda melihat sesuatu yang tidak beres.

Plugin

Ketika kami meluncurkan beta, hanya beberapa plugin yang mendukung web. Sejak itu, kami melihat lebih banyak plugin menambahkan dukungan untuk platform web, terima kasih atas semua kontribusi besar dari komunitas, seperti:

  • audioplayers: memutar beberapa file audio secara bersamaan
  • connectivity: memungkinkan aplikasi menemukan konektivitas jaringan dan mengonfigurasikannya
  • cloud_firestore: Database cloud NoSQL, diakses melalui Cloud Firestore API
  • cloud_functions: mengakses fungsi cloud tanpa server, dihosting oleh Firebase

Meskipun kami berencana mengembangkan sendiri beberapa plugin Google-authored yang populer untuk web, kami sangat bergantung pada komunitas untuk membantu menghadirkan dukungan web ke paket yang ada. Untuk membantu Anda memulai, kami telah memublikasikan beberapa artikel yang menjelaskan tentang cara menulis plugin web.

Proses Debug Web dengan Evaluasi Ekspresi

Proses debug adalah langkah penting dalam proses pengembangan, dan merupakan salah satu area pengembangan aktif untuk menciptakan pengalaman web Flutter yang lebih kaya. Jika Anda menggunakan VS Code untuk mengembangkan aplikasi Flutter, Anda mungkin berharap set lengkap kemampuan debug tersedia bagi Anda, termasuk mengevaluasi ekspresi di jendela debug, menggunakan fungsionalitas watch, atau mengarahkan kursor ke variabel untuk melihat nilainya.

Beberapa waktu yang lalu, ini hanya tersedia untuk proses debug aplikasi Flutter seluler. Dalam beberapa bulan terakhir, kami berupaya menghubungkan evaluasi ekspresi ke Flutter di web dan itu sekarang memiliki dukungan eksperimental yang siap dicoba di VSCode. Dukungan untuk IDE lain, seperti IntelliJ, masih dalam proses.

Fitur ini tersedia di saluran master atau dev Flutter. Gunakan petunjuk berikut untuk menyiapkannya bagi VS Code:

Konfigurasikan project Anda agar berjalan di web. Dalam VS Code, aktifkan evaluasi ekspresi untuk web di launch.json:

file launch.json

Atur breakpoint dan mulai proses debug. Coba evaluasi ekspresi di konsol debug menggunakan kotak evaluasi ekspresi seperti yang ditunjukkan di bawah. Selain itu, Anda bisa menggunakan jendela watch atau mengarahkan kursor ke variabel untuk mengevaluasi kode menggunakan ekspresi.

konsol debug

Anda juga bisa menyetel breakpoint bersyarat menggunakan ekspresi:

evaluasi breakpoint

Pengujian

Build Flutter terbaru sekarang mendukung pengujian UI driver Flutter otomatis terhadap aplikasi web Flutter Anda sama seperti cara kerjanya untuk aplikasi seluler. Untuk mengaktifkan dukungan fitur eksperimental ini, Anda bisa membaca petunjuknya di wiki Flutter.

Prioritas saat ini: pengujian, kualitas dan kinerja

Selama beberapa bulan terakhir, kami sangat berfokus dalam meningkatkan infrastruktur, kualitas, dan rendering untuk dukungan web Flutter. Meskipun masih banyak yang harus dilakukan, kami telah membuat kemajuan yang signifikan di ketiga bidang.

Pengujian infrastruktur dan benchmark

Membangun infrastruktur pengujian adalah salah satu perbaikan yang tidak selalu terlihat oleh mereka yang mengembangkan dengan Flutter, tetapi sangatlah penting untuk membangun versi Flutter yang stabil di web.

Kuartal terakhir ini kami telah menambahkan pengujian otomatis untuk memastikan ketepatan framework dan engine web. Kami menambahkan pengujian screenshot di Chrome untuk memastikan bahwa kami melakukan rendering secara konsisten dan tepat saat kami melakukan perubahan kode. Kami sekarang menjalankan pengujian unit dan integrasi di Chrome, Firefox, dan Safari. Pengujian di browser seluler dan Internet Explorer/Edge akan segera dijalankan online. Selain itu, kami menambahkan pengujian benchmark kinerja, sehingga kami bisa melakukan iterasi dengan cepat tanpa menimbulkan regresi.

Kualitas

Berbicara tentang masalah, kami banyak menyelesaikan masalah untuk meningkatkan kualitas secara bertahap melalui pengoptimalan dan perbaikan yang tepat.

Belum lama ini kami melakukan pengoptimalan di Flutter untuk web yang meningkatkan scrolling untuk konten statis, yang artinya konten yang tidak dimuat belakangan tetapi dirender semua dalam bingkai yang sama. Ini akan membuat kinerja scrolling lebih sejalan dengan pengalaman web tradisional.

Kami juga telah memperbaiki beberapa masalah rendering teks seperti hilangnya teks di balik kanvas atau masalah kursor dengan teks multibaris. Perbaikan ketepatan teks ini sekarang diaktifkan di belakang flag FLUTTER_WEB_USE_EXPERIMENTAL_CANVAS_TEXT; rencana kami adalah segera menjadikannya setelan default platform.

Di Flutter Interact tahun lalu, kami mengumumkan bahwa aplikasi contoh Galeri terbaru kami berjalan di web menggunakan Flutter. Sejak itu kami telah melakukan pengoptimalan kinerja yang signifikan dalam hal dukungan web serta aplikasi, sehingga ia bisa berjalan lebih cepat dan lancar. Akibat perubahan ini, waktu muat awal sekarang tiga kali lebih cepat, dan ukuran kode berkurang sebesar 2,7x.

Aplikasi Flutter Gallery
Aplikasi Flutter Gallery, berjalan sebagai PWA di Windows.

Nantikan seri blog mendatang yang akan membagikan lebih banyak lagi tentang semua yang telah kami pelajari, serta praktik terbaik untuk mengoptimalkan kinerja aplikasi Flutter Anda. Sambil menunggu, lihatlah aplikasi Flutter Gallery terbaru.

Peningkatan rendering dengan CanvasKit

Ketika kami memulai eksplorasi di web, kami mempertimbangkan berbagai pendekatan untuk merender UI, mengetahui bahwa pilihan kami akan menentukan seberapa baik kami bisa membangun, merancang layout, dan menggambar widget Flutter di web.

Kami awalnya memilih model berbasis DOM HTML yang menggabungkan HTML, CSS, dan Canvas API untuk mengekspresikan output yang dihasilkan oleh framework Flutter. Kami menyebut implementasi ini sistem rendering DomCanvas.

Selama tahun lalu, kami telah memperoleh pemahaman yang lebih baik tentang karakteristik kinerja dan ketepatan dari berbagai teknologi rendering yang ada di web, dan telah bereksperimen dengan pendekatan kedua yang menggunakan CanvasKit. CanvasKit menghadirkan Skia ke web menggunakan WebAssembly dan WebGL, mengaktifkan permukaan gambar terakselerasi-hardware yang meningkatkan kemampuan kami untuk merender grafis yang kompleks dan intensif secara efisien.

Kami percaya bahwa DomCanvas dan CanvasKit menawarkan keuntungan dalam skenario yang berbeda, dan karenanya kami mendukung kedua model rendering tersebut.

  • DomCanvas menawarkan kompatibilitas terbesar dengan berbagai browser, dengan ukuran kode yang ringkas. Namun, kinerja repaint lebih buruk, yang membuatnya kurang cocok untuk aplikasi yang lebih intensif secara grafis.
  • Backend CanvasKit menawarkan kinerja yang unggul, fidelitas, dan ketepatan, tetapi memiliki waktu startup awal yang buruk karena ukuran kode yang lebih besar.

Secara default, dukungan web Flutter menggunakan DomCanvas, tetapi Anda bisa mengaktifkan engine rendering CanvasKit dengan perintah ini:

flutter run -d chrome --release 
--dart-define=FLUTTER_WEB_USE_SKIA=true

Satu peringatan: engine CanvasKit masih belum sempurna; untuk pengguna awal yang memasukkan Flutter ke dalam produksi, engine DomCanvas menawarkan stabilitas terbaik.

Masalah umum yang kami ketahui

Meskipun kami yakin bahwa kami membuat kemajuan yang baik dalam membangun fondasi yang kuat, ada rencana beberapa area lain yang akan kami kerjakan untuk melengkapi dukungan web kami.

  • UX Desktop-class. Mendukung Flutter di browser web desktop membutuhkan lebih dari dukungan web: biasanya ada perbedaan UI yang signifikan antara pengalaman seluler dan desktop. Karena itu, kami menambahkan fitur untuk mendukung pengalaman desktop-class, seperti widget responsif dan scrolling physics, yang masih perlu diimplementasikan.
  • IsiOtomatis adalah fitur yang didukung di banyak platform, dan dalam hal web, ini berarti memungkinkan browser untuk menyimpan data dan mengisinya jika diperlukan. Kami baru saja menambahkan dukungan IsiOtomatis awal ke framework inti, dan sekarang kami sedang berupaya menambahkan fitur ini ke Flutter di web. Upaya ini mencakup mengatasi perbedaan browser, menyimpan informasi pengisian untuk IsiOtomatis di masa mendatang, dan meneruskan elemen yang dapat diisi otomatis sebagai grup ke engine.
  • Perutean URL. Mungkin ini masalah kecil, tetapi sekarang aplikasi web Flutter menyertakan penanda hash untuk perutean bahkan di laman beranda. Kami sedang berupaya menghapusnya dan memberikan kontrol yang lebih besar atas perutean URL, dengan kontribusi dari komunitas sedang ditinjau saat ini.
  • Ukuran kode tetap merupakan area investigasi aktif. Hari ini, semua aplikasi web Flutter mendownload kode engine yang dibutuhkannya; kami sedang mencari cara untuk mencache beberapa logika ini untuk mengurangi waktu startup dan ukuran download.

Panggilan aksi

Kami berharap ada kejutan yang menyenangkan dalam artikel ini: kami telah membuat banyak kemajuan sejak update Desember. Namun, harus Anda sadari bahwa dukungan web Flutter masih dalam versi beta, dan Anda harus berhati-hati dalam menerapkannya ke lingkungan produksi, karena kinerja dan kompatibilitas browser masih dalam proses penyempurnaan.

Jika Anda masih baru dalam dunia pengembangan Flutter di web, lihat flutter.dev/web untuk mempelajari lebih lanjut dan mencoba kode Anda di dartpad.dev atau codepen.io/flutter.

Bagi mereka yang saat ini sedang mengembangkan aplikasi web Flutter, terima kasih atas dukungan dan kontribusi Anda, kami harap Anda terus bereksperimen, melaporkan masalah, dan mengupdate plugin untuk mendukung web!

Sumber : https://developers-id.googleblog.com/2020/05/update-dukungan-web-flutter.html?m=1

Friday, November 13, 2020

Update dukungan web Flutter

Update dukungan web Flutter

PWA, proses debug yang lebih baik, dan rendering berbasis CanvasKit

Catatan singkat: kami awalnya berencana merilis versi stabil Flutter terbaru hari ini, tetapi kami menemukan bug error dalam pengujian akhir yang ingin kami perbaiki sebelum dirilis. Kami sudah melakukan perbaikan dalam basis kodenya, tetapi kami ingin menyempurnakannya untuk memastikan bahwa kami tidak memperkenalkan regresi baru. Kami sekarang berencana merilis versi stabil minggu depan. Terima kasih kepada semua orang yang telah melaporkan masalah ini dan bekerja sama dengan kami untuk mereproduksinya.

Hampir setahun yang lalu, kami membagikan pratinjau teknis pertama kami tentang dukungan Flutter untuk menargetkan web. Visi Flutter kami adalah menyediakan toolkit portabel untuk membangun pengalaman indah di mana pun Anda ingin menggambar piksel layar. Mengingat sifat web yang mudah menyebar, ini adalah tempat alami eksperimen dengan Flutter, tetapi karakteristiknya berbeda dari platform seluler seperti Android dan iOS.

Menjalankan kode Flutter di browser web membuka berbagai kemungkinan menarik, meliputi:

  • Menyediakan jalur mudah bagi developer untuk menghadirkan aplikasi seluler mereka ke web, baik sebagai aplikasi lengkap, PWA, maupun sebagai pratinjau rendah-friksi dari pengalaman terinstal.
  • Memungkinkan developer aplikasi desktop membangun sekali dan membuat keputusan akhir tentang apakah aplikasi tersebut dikirim sebagai aplikasi desktop terinstal berkinerja tinggi dan/atau aplikasi web temporer yang bebas friksi.
  • Fitur seperti DartPad dan CodePen memungkinkan Anda bisa secara cepat bereksperimen dengan kode Dart, melihat hasilnya secara real time tanpa perlu menginstal apa pun secara lokal di mesin Anda.
  • Membagikan kode antara aplikasi web dan seluler dengan kompromi minimal.

Flutter dibangun tanpa kompromi dengan aplikasi sebagai pusatnya dalam framework dan pilihan API-nya. Kami percaya ini adalah penawaran berbeda yang berkontribusi luas untuk pengembangan web. Jika kami berhasil mencapai tujuan kami, dukungan web Flutter akan menyediakan framework yang memanfaatkan sepenuhnya semua kemampuan yang ditawarkan platform web, memungkinkan developer membangun aplikasi interaktif yang kaya dan indah serta benar-benar cocok di browser.

Ampstor: fitur tanpa-kode untuk membangun halaman web cerita yang lebih baik, dibangun dengan dukungan web Flutter.

Ampstor adalah contoh yang sangat menarik. Tim ini bertujuan membangun fitur pengeditan untuk membangun AMP Stories, format baru yang membantu penyedia konten membuat narasi visual untuk perangkat seluler. Inilah yang mereka katakan ketika menggunakan Flutter di web:

“Sebagai startup yang membantu pelanggan membangun pengalaman yang sangat berkesan, sangatlah penting bagi kami untuk bisa memasarkan dengan cepat dan melakukan inovasi berdasarkan masukan pelanggan. Kami memilih Flutter karena ia memberikan kebebasan untuk berfokus pada produk, bukan platformnya. Kami sangat senang dengan pengalaman sejauh ini dan pelanggan menyukai aplikasi yang kami buat.”

Tujuan awal kami dengan dukungan web adalah membuktikan hipotesis dasar bahwa framework Flutter bisa ditransfer ke web. Musim panas lalu, kami menyatukan kode web kembali ke framework utama, mengarah ke satu basis kode yang mendukung seluler dan web (serta desktop!). Fokus kami sejak saat itu telah bergeser untuk memberikan kinerja yang cepat dan mulus menggunakan kemajuan platform web terbaru, meningkatkan konsistensi perilaku di seluruh platform target Flutter, dan menghapus serta memperbaiki skenario yang tidak terasa natural di web.

Dengan mengingat hal tersebut, berikut adalah update tentang semua hal yang telah dikerjakan tim sejak dukungan web mendarat di saluran beta Desember lalu.

Apa yang baru?

Dukungan PWA

Penggemar Progressive Web Apps akan senang mengetahui bahwa template Flutter default untuk aplikasi web sekarang menyertakan dukungan fitur-fitur inti yang diperlukan untuk aplikasi PWA berkemampuan offline yang dapat diinstal:

Aplikasi template “counter” Flutter, berjalan sebagai PWA di macOS.
Aplikasi template “counter” Flutter, berjalan sebagai PWA di macOS.

Perhatikan bahwa ini terlihat seperti aplikasi desktop biasa, tetapi ini sebenarnya adalah aplikasi web Flutter yang telah diinstal ke dalam browser sebagai PWA. Anda bisa melihat perbedaannya dengan tambahan tombol ikon di bilah judul, yang memperlihatkan fungsionalitas Chrome. PWA berbasis Flutter bisa diinstal dengan cara yang sama seperti PWA berbasis web lainnya; setelan yang menandakan bahwa aplikasi Flutter Anda adalah PWA disediakan oleh manifest.json, yang dihasilkan oleh flutter create di subfolder web/.

PWA didukung pada browser desktop serta seluler utama dan hanyalah salah satu cara investasi kami dalam menjembatani kesenjangan antara kemampuan platform native dan web.

Ini masih dalam proses pengerjaan, jadi silakan beri kami masukan bila Anda melihat sesuatu yang tidak beres.

Plugin

Ketika kami meluncurkan beta, hanya beberapa plugin yang mendukung web. Sejak itu, kami melihat lebih banyak plugin menambahkan dukungan untuk platform web, terima kasih atas semua kontribusi besar dari komunitas, seperti:

  • audioplayers: memutar beberapa file audio secara bersamaan
  • connectivity: memungkinkan aplikasi menemukan konektivitas jaringan dan mengonfigurasikannya
  • cloud_firestore: Database cloud NoSQL, diakses melalui Cloud Firestore API
  • cloud_functions: mengakses fungsi cloud tanpa server, dihosting oleh Firebase

Meskipun kami berencana mengembangkan sendiri beberapa plugin Google-authored yang populer untuk web, kami sangat bergantung pada komunitas untuk membantu menghadirkan dukungan web ke paket yang ada. Untuk membantu Anda memulai, kami telah memublikasikan beberapa artikel yang menjelaskan tentang cara menulis plugin web.

Proses Debug Web dengan Evaluasi Ekspresi

Proses debug adalah langkah penting dalam proses pengembangan, dan merupakan salah satu area pengembangan aktif untuk menciptakan pengalaman web Flutter yang lebih kaya. Jika Anda menggunakan VS Code untuk mengembangkan aplikasi Flutter, Anda mungkin berharap set lengkap kemampuan debug tersedia bagi Anda, termasuk mengevaluasi ekspresi di jendela debug, menggunakan fungsionalitas watch, atau mengarahkan kursor ke variabel untuk melihat nilainya.

Beberapa waktu yang lalu, ini hanya tersedia untuk proses debug aplikasi Flutter seluler. Dalam beberapa bulan terakhir, kami berupaya menghubungkan evaluasi ekspresi ke Flutter di web dan itu sekarang memiliki dukungan eksperimental yang siap dicoba di VSCode. Dukungan untuk IDE lain, seperti IntelliJ, masih dalam proses.

Fitur ini tersedia di saluran master atau dev Flutter. Gunakan petunjuk berikut untuk menyiapkannya bagi VS Code:

Konfigurasikan project Anda agar berjalan di web. Dalam VS Code, aktifkan evaluasi ekspresi untuk web di launch.json:

file launch.json

Atur breakpoint dan mulai proses debug. Coba evaluasi ekspresi di konsol debug menggunakan kotak evaluasi ekspresi seperti yang ditunjukkan di bawah. Selain itu, Anda bisa menggunakan jendela watch atau mengarahkan kursor ke variabel untuk mengevaluasi kode menggunakan ekspresi.

konsol debug

Anda juga bisa menyetel breakpoint bersyarat menggunakan ekspresi:

evaluasi breakpoint

Pengujian

Build Flutter terbaru sekarang mendukung pengujian UI driver Flutter otomatis terhadap aplikasi web Flutter Anda sama seperti cara kerjanya untuk aplikasi seluler. Untuk mengaktifkan dukungan fitur eksperimental ini, Anda bisa membaca petunjuknya di wiki Flutter.

Prioritas saat ini: pengujian, kualitas dan kinerja

Selama beberapa bulan terakhir, kami sangat berfokus dalam meningkatkan infrastruktur, kualitas, dan rendering untuk dukungan web Flutter. Meskipun masih banyak yang harus dilakukan, kami telah membuat kemajuan yang signifikan di ketiga bidang.

Pengujian infrastruktur dan benchmark

Membangun infrastruktur pengujian adalah salah satu perbaikan yang tidak selalu terlihat oleh mereka yang mengembangkan dengan Flutter, tetapi sangatlah penting untuk membangun versi Flutter yang stabil di web.

Kuartal terakhir ini kami telah menambahkan pengujian otomatis untuk memastikan ketepatan framework dan engine web. Kami menambahkan pengujian screenshot di Chrome untuk memastikan bahwa kami melakukan rendering secara konsisten dan tepat saat kami melakukan perubahan kode. Kami sekarang menjalankan pengujian unit dan integrasi di Chrome, Firefox, dan Safari. Pengujian di browser seluler dan Internet Explorer/Edge akan segera dijalankan online. Selain itu, kami menambahkan pengujian benchmark kinerja, sehingga kami bisa melakukan iterasi dengan cepat tanpa menimbulkan regresi.

Kualitas

Berbicara tentang masalah, kami banyak menyelesaikan masalah untuk meningkatkan kualitas secara bertahap melalui pengoptimalan dan perbaikan yang tepat.

Belum lama ini kami melakukan pengoptimalan di Flutter untuk web yang meningkatkan scrolling untuk konten statis, yang artinya konten yang tidak dimuat belakangan tetapi dirender semua dalam bingkai yang sama. Ini akan membuat kinerja scrolling lebih sejalan dengan pengalaman web tradisional.

Kami juga telah memperbaiki beberapa masalah rendering teks seperti hilangnya teks di balik kanvas atau masalah kursor dengan teks multibaris. Perbaikan ketepatan teks ini sekarang diaktifkan di belakang flag FLUTTER_WEB_USE_EXPERIMENTAL_CANVAS_TEXT; rencana kami adalah segera menjadikannya setelan default platform.

Di Flutter Interact tahun lalu, kami mengumumkan bahwa aplikasi contoh Galeri terbaru kami berjalan di web menggunakan Flutter. Sejak itu kami telah melakukan pengoptimalan kinerja yang signifikan dalam hal dukungan web serta aplikasi, sehingga ia bisa berjalan lebih cepat dan lancar. Akibat perubahan ini, waktu muat awal sekarang tiga kali lebih cepat, dan ukuran kode berkurang sebesar 2,7x.

Aplikasi Flutter Gallery
Aplikasi Flutter Gallery, berjalan sebagai PWA di Windows.

Nantikan seri blog mendatang yang akan membagikan lebih banyak lagi tentang semua yang telah kami pelajari, serta praktik terbaik untuk mengoptimalkan kinerja aplikasi Flutter Anda. Sambil menunggu, lihatlah aplikasi Flutter Gallery terbaru.

Peningkatan rendering dengan CanvasKit

Ketika kami memulai eksplorasi di web, kami mempertimbangkan berbagai pendekatan untuk merender UI, mengetahui bahwa pilihan kami akan menentukan seberapa baik kami bisa membangun, merancang layout, dan menggambar widget Flutter di web.

Kami awalnya memilih model berbasis DOM HTML yang menggabungkan HTML, CSS, dan Canvas API untuk mengekspresikan output yang dihasilkan oleh framework Flutter. Kami menyebut implementasi ini sistem rendering DomCanvas.

Selama tahun lalu, kami telah memperoleh pemahaman yang lebih baik tentang karakteristik kinerja dan ketepatan dari berbagai teknologi rendering yang ada di web, dan telah bereksperimen dengan pendekatan kedua yang menggunakan CanvasKit. CanvasKit menghadirkan Skia ke web menggunakan WebAssembly dan WebGL, mengaktifkan permukaan gambar terakselerasi-hardware yang meningkatkan kemampuan kami untuk merender grafis yang kompleks dan intensif secara efisien.

Kami percaya bahwa DomCanvas dan CanvasKit menawarkan keuntungan dalam skenario yang berbeda, dan karenanya kami mendukung kedua model rendering tersebut.

  • DomCanvas menawarkan kompatibilitas terbesar dengan berbagai browser, dengan ukuran kode yang ringkas. Namun, kinerja repaint lebih buruk, yang membuatnya kurang cocok untuk aplikasi yang lebih intensif secara grafis.
  • Backend CanvasKit menawarkan kinerja yang unggul, fidelitas, dan ketepatan, tetapi memiliki waktu startup awal yang buruk karena ukuran kode yang lebih besar.

Secara default, dukungan web Flutter menggunakan DomCanvas, tetapi Anda bisa mengaktifkan engine rendering CanvasKit dengan perintah ini:

flutter run -d chrome --release 
--dart-define=FLUTTER_WEB_USE_SKIA=true

Satu peringatan: engine CanvasKit masih belum sempurna; untuk pengguna awal yang memasukkan Flutter ke dalam produksi, engine DomCanvas menawarkan stabilitas terbaik.

Masalah umum yang kami ketahui

Meskipun kami yakin bahwa kami membuat kemajuan yang baik dalam membangun fondasi yang kuat, ada rencana beberapa area lain yang akan kami kerjakan untuk melengkapi dukungan web kami.

  • UX Desktop-class. Mendukung Flutter di browser web desktop membutuhkan lebih dari dukungan web: biasanya ada perbedaan UI yang signifikan antara pengalaman seluler dan desktop. Karena itu, kami menambahkan fitur untuk mendukung pengalaman desktop-class, seperti widget responsif dan scrolling physics, yang masih perlu diimplementasikan.
  • IsiOtomatis adalah fitur yang didukung di banyak platform, dan dalam hal web, ini berarti memungkinkan browser untuk menyimpan data dan mengisinya jika diperlukan. Kami baru saja menambahkan dukungan IsiOtomatis awal ke framework inti, dan sekarang kami sedang berupaya menambahkan fitur ini ke Flutter di web. Upaya ini mencakup mengatasi perbedaan browser, menyimpan informasi pengisian untuk IsiOtomatis di masa mendatang, dan meneruskan elemen yang dapat diisi otomatis sebagai grup ke engine.
  • Perutean URL. Mungkin ini masalah kecil, tetapi sekarang aplikasi web Flutter menyertakan penanda hash untuk perutean bahkan di laman beranda. Kami sedang berupaya menghapusnya dan memberikan kontrol yang lebih besar atas perutean URL, dengan kontribusi dari komunitas sedang ditinjau saat ini.
  • Ukuran kode tetap merupakan area investigasi aktif. Hari ini, semua aplikasi web Flutter mendownload kode engine yang dibutuhkannya; kami sedang mencari cara untuk mencache beberapa logika ini untuk mengurangi waktu startup dan ukuran download.

Panggilan aksi

Kami berharap ada kejutan yang menyenangkan dalam artikel ini: kami telah membuat banyak kemajuan sejak update Desember. Namun, harus Anda sadari bahwa dukungan web Flutter masih dalam versi beta, dan Anda harus berhati-hati dalam menerapkannya ke lingkungan produksi, karena kinerja dan kompatibilitas browser masih dalam proses penyempurnaan.

Jika Anda masih baru dalam dunia pengembangan Flutter di web, lihat flutter.dev/web untuk mempelajari lebih lanjut dan mencoba kode Anda di dartpad.dev atau codepen.io/flutter.

Bagi mereka yang saat ini sedang mengembangkan aplikasi web Flutter, terima kasih atas dukungan dan kontribusi Anda, kami harap Anda terus bereksperimen, melaporkan masalah, dan mengupdate plugin untuk mendukung web!

Sumber : https://developers-id.googleblog.com/2020/05/update-dukungan-web-flutter.html?m=1

Thursday, September 3, 2020

Update New Flutter Spring 2020

Update New Flutter Spring 2020

Bagi engineer, product manager, UX researcher, technical writer, dan developer relations engineer di Google yang mengerjakan Flutter, beberapa bulan terakhir penuh dengan berbagai tantangan; seperti kebanyakan dari Anda, kami semua bergulat dengan rutinitas harian yang sangat berbeda dari biasanya. Namun, sebagai project open source, kami dapat terus melakukan pengembangan menggunakan fitur yang tersedia untuk publik. Dengan keterbatasan lingkungan kerja yang terkadang menantang dan tentu saja baru, bersama dengan tanggungan untuk memenuhi kebutuhan harian, kami terus melanjutkan progres pekerjaan musim semi kami dan juga telah belajar banyak tentang cara berkontribusi “dari luar”! Kami harap Anda juga bisa membuat progres dan tetap sehat serta aman.

Momentum Flutter

Kami terus melihat pertumbuhan pesat dalam penggunaan Flutter, dengan lebih dari dua juta developer menggunakan Flutter dalam enam belas bulan sejak dirilis. Terlepas dari keadaan yang belum pernah terjadi sebelumnya ini, pada bulan Maret kami melihat peningkatan pertumbuhan bulan-ke-bulan 10%, dengan hampir setengah juta developer sekarang menggunakan Flutter setiap bulan.

Beberapa statistik menarik lainnya:

  • 60% dari Anda mengembangkan dengan Windows, 27% menggunakan macOS, dan 13% menggunakan Linux.
  • 35% bekerja untuk startup, 26% adalah developer perusahaan, 19% pekerja mandiri, dan 7% bekerja untuk agensi desain.
  • 78% developer Flutter menggunakan saluran stabil, 11% menggunakan beta, dan 11% menggunakan dev atau master.
  • Lima wilayah teratas untuk Flutter adalah India, Cina, Amerika Serikat, Uni Eropa, dan Brasil.
  • Ada sekitar 50.000 aplikasi Flutter yang dipublikasikan di Play Store, dengan hampir 10.000 diupload pada bulan lalu.
  • Paket framework paling populer yang digunakan dalam aplikasi Flutter adalah httpshared_preferencesintlmetapath_provider dan pedantic.
  • Paket pihak ketiga yang paling populer digunakan dalam aplikasi Flutter adalah providerrxdartcached_network_imagesqflitefont_awesome_flutter dan flutter_launcher_icons.

Flutter di enterprise

Penggunaan Flutter berkembang pesat di pelanggan enterprise, dan penelitian kami terus menunjukkan bahwa kemampuan untuk membangun pengalaman berkualitas tinggi yang mendukung banyak platform adalah alasan kunci mengapa perusahaan besar memilih Flutter. Contoh terkini adalah Nubank, bank digital terbesar di luar Asia dengan lebih dari 20 juta pelanggan. Setelah melakukan pemeriksaan dan analisis mendalam untuk pilihan pengembangan aplikasi, Nubank memilih Flutter dan sejak itu mampu menyatukan tim pengembangan front-end mereka dalam satu framework, sehingga mereka bisa mengirimkan fitur-fitur baru secara bersamaan di iOS dan Android.

Lihat kisah developer mereka di bawah ini, yang menjelaskan beberapa keuntungan yang mereka dapat dengan Flutter:

Satu permintaan umum dari enterprise adalah komponen profesional. Kami bermitra dengan SyncFusion, dengan produk Essential Studio mereka sekarang mencakup serangkaian komponen Flutter berkualitas tinggi termasuk pembuatan bagan, manipulasi PDF, dan pembuatan barcode. Dengan rilis 2020.1, semua komponennya langsung mendukung Android, iOS dan web, serta mereka sekarang memiliki pratinjau berbasis web dari kontrolnya.

Mengupdate proses rilis kami

Terakhir, selagi kita menantikan rilis stabil berikutnya, kami ingin membagikan beberapa perubahan yang dibuat pada model rilis yang kami pikir akan semakin meningkatkan stabilitas dan prediktabilitas rilis kami.

Proses rilis hari ini dirancang sederhana dan pemeliharaannya mudah. Proses ini bisa dipakai di Flutter dengan baik ketika kami masih tim kecil dengan framework yang masih baru, tetapi pada skala kami saat ini, kami menemukan beberapa masalah yang memengaruhi kontributor dan developer Flutter:

  • kurangnya kejelasan tentang kapan rilis akan dibangun, dan begitu juga kode di dalamnya
  • kurang pengujian untuk cabang yang menyebabkan rilis hotfix mengalami regresi

Dimulai dengan rilis Flutter pada bulan April, kami pindah ke model percabangan dengan periode stabilisasi untuk rilis beta dan stabil. Kami sekarang akan mencabangkan pada awal bulan untuk rilis beta dan menstabilkan rilis ini dengan memilih secara selektif setiap perbaikan penting. Kira-kira empat bulan sekali, cabang beta terbaru akan dipromosikan ke rilis stabil kami. Kami akan terus melakukan hotfix pada rilis ini jika diperlukan. Infrastruktur kami sekarang mendukung pengujian terhadap cabang, yang berarti kami bisa memvalidasi pilihan dan akan menerima beberapa permintaan berdasarkan tingkat keparahan.

Kami juga menggunakan kesempatan ini untuk menyelaraskan saluran dan proses rilis Flutter dan Dart. Hasilnya, Dart telah menambahkan saluran beta, dan rilis mendatang akan disinkronkan (misalnya, rilis beta Flutter akan berisi rilis beta Dart).

Jika Anda sudah meluncurkan aplikasi Flutter berbasis saluran stabil, kami dorong Anda untuk menguji aplikasi Anda pada rilis kandidat beta dan memengaruhi kualitas rilis stabil dengan melaporkan setiap masalah. Anda juga bisa meningkatkan regresi atau memblokir bug pada saluran stabil setelah proses pemilihan selektif Flutter terbaru di wiki Flutter.

Kami pikir proses baru ini akan memberikan kepercayaan yang lebih tinggi pada kualitas dan prediktabilitas rilis kami, dan cara yang lebih mudah untuk mengirimkan hotfix ke saluran stabil.

Perubahan pembuatan versi

Sebagai bagian dari model percabangan ini, kami melakukan beberapa perubahan kecil terhadap cara pemberian versi rilis.

Detail teknis selengkapnya bisa ditemukan di halaman wiki saluran rilis build Flutter; ringkasan singkatnya adalah:

Versi rilis tidak stabil akan diberikan anotasi .pre di string versi untuk menunjukkan status pra-rilis mereka. Dengan diberikan string versi x.y.z-n.m.pre, build saluran dev akan bertambah n, setiap kali build baru dibangun dari master.

  • 1.18.0–1.0.pre: build dev pertama setelah master pindah ke 1.18
  • 1.18.0–2.0.pre: build dev berikutnya dari titik yang lebih baru di master

Rilis beta akan dibangun dari titik rilis dev, seperti di atas. Saat kami memilih salah satu rilis ini, versi m akan bertambah. Misalnya, jika kita mengambil build dev ke-15 dari master sebagai rilis 1.18 dari beta, pembuatan versinya akan terlihat seperti ini:

  • 1.18.0–15.0.pre: kandidat beta awal (rilis yang sama dengan yang masuk ke dev)
  • 1.18.0–15.1.pre: build lanjutan di cabang beta (sekarang) dengan beberapa pilihan
  • 1.18.0–15.2.pre: build lanjutan kedua

Rilis stabil akan diberikan versi x.y.0. Rilis hotfix berikutnya, jika diperlukan, akan menaikkan nomor patch. x.y.1, x.y.2, dst.)

  • 1.18.0–15.4.pre: build beta terakhir di cabang
  • 1.18.0: rilis stabil, bit yang sama dengan 1.18.0–15.4-pre
  • 1.18.1: hotfix potensial dari 1.18.0

Apa berikutnya?

Rilis pertama kami yang menggunakan model pembuatan versi baru ini akan menjadi rilis stabil kami yang berikutnya, yang kami rencanakan untuk meluncur minggu depan. Kembalilah ke sini lagi untuk mengetahui semua fitur terbaru.

Sementara itu, silakan lihat beberapa pengumuman lain yang telah kami buat dalam beberapa minggu terakhir. Minggu lalu, kami mengumumkan dukungan CodePen Flutter. Kami sangat menikmati melihat program yang dibuat banyak kreator selama beberapa hari terakhir. Berikut adalah beberapa favorit kami:

Dan jika Anda mencari sumber daya pembelajaran Flutter, sekarang kami menyelenggarakan kursus pengenalan pelatihan Flutter gratis secara online. Kursus sepuluh jam yang dibawakan oleh Angela Yu ini menyediakan tutorial dan lab untuk membantu Anda memulai perjalanan Flutter.

Sumber : https://developers-id.googleblog.com/2020/05/update-flutter-spring-2020.html?m=1

Sunday, August 30, 2020

Dukungan CodePen untuk Flutter

Dukungan CodePen untuk Flutter

Kami gembira bisa mengumumkan bahwa CodePen, lingkungan pengembangan sosial terkemuka untuk jutaan desainer dan developer front-end, menambahkan dukungan untuk Flutter! Bagi developer web, CodePen telah lama menjadi tempat yang mengasyikkan untuk berbagi eksplorasi desain, teknik, dan ide baru. Sekarang dengan kehadiran Flutter, CodePen memungkinkan audience baru untuk belajar, berbagi, dan mempromosikan kreativitasnya.

Berikut adalah kata Alex Vazquez, salah satu pendiri CodePen:

“CodePen telah bertahun-tahun menjadi penggemar berat Flutter dan bahasa pemrograman Dart. Kami sangat senang karena sekarang Flutter mendukung seluler dan web. Komunitas Flutter berkembang pesat, itulah sebabnya kami sangat bersemangat mendukung Flutter dengan editor CodePen khusus! Flutter secara resmi adalah anggota kelas satu komunitas CodePen. Kami tak sabar ingin segera melihat kreasi yang Anda bangun dengan Flutter di CodePen.”

Sejak awal Flutter diciptakan, kami telah merancangnya sebagai kanvas untuk ekspresi kreatif. Sangat menggembirakan bisa mendapatkan pengakuan yang semakin banyak atas kemampuan desainnya, dari kemitraan yang kami umumkan dengan Adobe dan SuperNova di event Flutter Interact berorientasi-desain kami, hingga penamaan Flutter sebagai salah satu ide desain terpenting dekade ini oleh Fast Company. Dengan penambahan lingkungan Flutter baru berbasis CodePen, profesional kreatif sekarang bisa memanfaatkan CodePen untuk menemukan inspirasi Flutter artistik, membangun portofolio Flutter yang mengesankan, dan menunjukkan ide-ide Flutter yang menakjubkan kepada dunia!

Editor Flutter CodePen dibangun di atas layanan backend, dart-services, yang saat ini juga mendukung DartPad (editor berbasis web yang dibuat oleh tim Flutter dan Dart yang baru saja diupdate untuk mendukung Flutter). Ketika kami membangun DartPad, kami merancangnya menjadi alat edukasi untuk membantu developer mempelajari Flutter dan Dart, serta berbagi cuplikan kode satu sama lain. Kami secara khusus memutuskan untuk membuat open-source dart-services sehingga situs-situs seperti CodePen bisa menyesuaikannya dengan skenario dan audience baru.

DartPad adalah alat yang luar biasa untuk menguji ide dalam kode secara cepat, atau membagikan cuplikan Anda dengan developer lain, dan ia berguna untuk mereproduksi (serta mengarsipkan) bug. Anda juga bisa melakukannya di CodePen, tetapi CodePen memiliki keuntungan komunitas desain aktif di mana Anda bisa berbagi, berkomentar, mempromosikan, mencoba ide-ide desain, dan mendapatkan masukan dari desainer lain. Editor Flutter CodePen lebih seperti “otak kanan” yang Anda gunakan untuk membuat prototipe ide untuk ekspresi kreatif dan inspirasi desain, sedangkan DartPad lebih seperti “otak kiri” ketika Anda perlu dengan cepat menguji ide atau menyusun konsep teknis.

Animasi “Light effect” oleh Mariano Zorrilla

Editor Flutter di CodePen

Mari ikuti tur singkat editor Flutter di CodePen. Anda bisa membuat Flutter pen baru (istilah CodePen untuk “cuplikan kode”) baik dari awal maupun menggunakan template yang sudah ada. Terima kasih banyak kepada anggota komunitas Flutter yang luar biasa (@aednlaxer@ayushnishad@diegoveloper@divyanshub024@egorbelibov@gskinnerTeam@mkiisoft@orestesgaolin@SlaxXxX, dan lainnya) yang telah menyumbang beberapa contoh keren ke daftar template.

Mari mulai dengan template “GooeyEdge”. Seperti yang Anda lihat, kode Flutter ada di sisi kiri, dan output web Flutter di sisi kanan. Anda bisa memainkan desain interaktif ini dengan menarik tepi visual menggunakan mouse Anda.

Animasi “Gooey edge” oleh Grant Skinner

Anda juga bisa mengubah kode Flutter, dan langsung melihat efeknya. Misalnya, jika kita mengubah warna indikator kontrol halaman dari “putih” menjadi “biru” (baris 326), Anda bisa melihat warnanya berubah dalam beberapa detik! CodePen secara otomatis mengompilasi ulang kode setiap kali Anda membuat perubahan. Cukup ubah satu baris, tunggu beberapa detik, dan output baru akan muncul.

Indikator kontrol halaman berubah menjadi biru

Sekarang mari kita lihat apa yang terjadi jika saya memasukkan error sintaks. Katakanlah saya tidak sengaja menghapus titik koma di akhir baris 1. Saya akan langsung melihat peringatan dengan bilah merah tentang error sintaks. Ini memungkinkan Anda untuk dengan mudah menemukan dan memperbaiki kesalahan.

Pesan peringatan saat terdapat error sintaks

Fitur sosial

Yang paling kami sukai dari CodePen adalah fitur sosial dan komunitas yang ditawarkannya. Setelah Anda membuat pen baru atau menemukan “pen” Flutter yang dibuat oleh komunitas, Anda bisa menyimpan, memfavoritkan, menambahkan ke koleksi, membagikan di media sosial, atau bahkan mengubahnya untuk membuat versi Anda sendiri!

Selamat mencoba!

Kami berharap playground Flutter baru di CodePen ini memberdayakan Anda untuk membangun serta memamerkan animasi Flutter keren Anda, ide, skema, dan lainnya. Silakan bagikan desain Anda dengan kami di Twitter menggunakan #FlutterPen. Kami tak sabar ingin segera melihat kreasi Anda! Jika Anda ketinggalan pengumuman pekan lalu tentang pelatihan gratis, Anda mungkin perlu mengeceknya. Dan siap-siap: lebih banyak berita akan segera kami kabarkan.

Sumber : https://developers-id.googleblog.com/2020/04/pengumuman-dukungan-codepen-untuk.html?m=1

Sunday, January 12, 2020

Peluncuran Flutter 1.2 di Mobile World Congress

Tim Flutter mengadakan Mobile World Congress di Barcelona, pertemuan tahunan terbesar industri teknologi seluler. Satu tahun yang lalu, kami mengumumkan Flutter versi beta pertama di event ini, dan sejak saat itu Flutter tumbuh lebih cepat dari yang bisa kami bayangkan. Jadi sepertinya hal yang pas untuk merayakan peristiwa tahunan ini adalah dengan rilis update stabil pertama untuk Flutter.


Flutter 1.2
Flutter 1.2 adalah update fitur yang pertama untuk Flutter. Kami memfokuskan rilis ini pada beberapa bidang utama:
Peningkatan stabilitas, kinerja, dan kualitas framework inti.

Menyempurnakan sentuhan akhir visual dan fungsionalitas widget yang ada.

Perangkat berbasis web baru untuk developer yang membangun aplikasi Flutter.

Setelah meluncurkan Flutter 1.0, kami memfokuskan banyak energi dalam beberapa bulan terakhir ini untuk meningkatkan pengujian dan infrastruktur kode kami, membersihkan tumpukan permintaan pull, dan meningkatkan kinerja serta kualitas framework secara keseluruhan. Kami memiliki daftar lengkap permintaan ini di wiki Flutter untuk mereka yang tertarik pada detailnya. Pekerjaan ini juga meliputi dukungan yang lebih luas untuk bahasa UI baru seperti Swahili.

Kami terus melakukan penyempurnaan pada set widget Material dan Cupertino, untuk mendukung penggunaan Material yang lebih fleksibel dan terus mengusahakan kesesuaian pixel-perfect di iOS. Pekerjaan yang terakhir meliputi dukungan untuk mengedit teks floating cursor, serta menunjukkan perhatian terus-menerus pada detail kecil (misalnya, kami mengupdate cara kursor pengedit teks menggambar di iOS untuk representasi yang sebenarnya dari urutan animasi dan penggambaran). Kami menambahkan dukungan untuk rangkaian fungsi kemudahan animasi yang lebih luas, terinspirasi oleh karya Robert Penner. Kami juga menambahkan dukungan untuk event keyboard baru dan dukungan untuk mengarahkan kursor mouse, sebagai persiapan untuk dukungan yang lebih mendalam bagi sistem operasi desktop-class.

Tim plugin juga sibuk di Flutter 1.2, dengan pekerjaan yang sedang berlangsung untuk mendukung pembelian dalam apl, serta banyak perbaikan bug untuk pemutar video, webview, dan peta. Dan berkat permintaan pull yang dikontribusikan oleh developer dari Intuit, kami sekarang memiliki dukungan untuk Android App Bundles, format pengemasan baru yang membantu mengurangi ukuran aplikasi dan mengaktifkan fitur-fitur baru seperti pengiriman dinamis untuk aplikasi Android.

Terakhir, Flutter 1.2 menyertakan Dart 2.2 SDK, update yang membawa peningkatan kinerja signifikan untuk kode terkompilasi bersama dengan dukungan bahasa baru untuk menginisialisasi set. Untuk informasi selengkapnya tentang pekerjaan ini, Anda bisa membaca pemberitahuan Dart 2.2.
(Sebagai tambahan, beberapa orang mungkin bertanya-tanya mengapa rilis ini diberi nomor 1.2. Tujuan kami adalah meluncurkan rilis 1.x ke saluran 'beta' setiap bulannya, dan merilis update kira-kira setiap kuartal ke saluran 'stabil' yang siap untuk penggunaan produksi. Versi 1.1 bulan lalu adalah rilis beta, dan karenanya 1.2 adalah rilis stabil kami yang pertama.)

Fitur Baru untuk Developer Flutter

Developer seluler berasal dari berbagai latar belakang dan sering kali memilih fitur pemrograman dan editor yang berbeda. Flutter sendiri mendukung fitur yang beragam, termasuk dukungan kelas satu untuk Android Studio dan Visual Studio Code serta dukungan untuk membangun aplikasi dari baris perintah, jadi kami tahu bahwa kami membutuhkan fleksibilitas dalam cara kami mengekspos proses debug dan fitur inspeksi runtime.

Bersama Flutter 1.2, kami gembira bisa memperlihatkan pratinjau rangkaian fitur pemrograman berbasis web yang baru untuk membantu developer Flutter melakukan debug dan menganalisis aplikasi mereka. Fitur-fitur ini sekarang bisa diinstal bersama dengan ekstensi dan add-in untuk Visual Studio Code dan Android Studio, dan menawarkan sejumlah kemampuan:

Widget inspector, yang memungkinkan visualisasi dan eksplorasi hierarki pohon yang digunakan Flutter untuk rendering.
Tampilan timeline yang membantu Anda mendiagnosis aplikasi pada level bingkai-per-bingkai, mengidentifikasi pekerjaan rendering dan komputasi yang mungkin menyebabkan 'sendatan' animasi dalam aplikasi Anda.

Source-level debugger lengkap yang memungkinkan Anda menyusuri kode, menyetel breakpoint, dan menyelidiki tumpukan panggilan.

Tampilan logging yang menunjukkan aktivitas yang Anda log dari aplikasi serta kejadian jaringan, framework dan pembersihan sampah memori.



Kami berencana untuk berinvestasi lebih lanjut dalam perangkat berbasis web baru ini untuk developer Flutter serta Dart dan, seiring meningkatnya pengalaman berbasis web, kami berencana untuk membangun layanan ini langsung ke fitur seperti Visual Studio Code.
Apa yang berikutnya untuk Flutter?

Selain karya engineering, kami membutuhkan sedikit waktu setelah Flutter 1.0 untuk mendokumentasikan roadmap 2019, dan Anda akan melihat bahwa kami memiliki banyak pekerjaan di depan kami.

Fokus besar untuk 2019 adalah mengembangkan Flutter melampaui platform seluler. Di Flutter Live, kami mengumumkan project bernama sandi "Hummingbird", yang membawa Flutter ke web, dan kami berencana untuk membagikan pratinjau teknis dalam beberapa bulan mendatang. Selain itu, kami terus berupaya menghadirkan Flutter ke perangkat desktop-class; ini membutuhkan usaha baik pada tingkat framework seperti dijelaskan di atas, serta kemampuan untuk mengemas dan menerapkan aplikasi ke sistem operasi seperti Windows dan Mac, di mana kami berinvestasi melalui project Flutter Desktop Embedding.
Flutter Create: apa yang bisa Anda lakukan dengan 5K dari Dart?

Kami juga bersemangat meluncurkan Flutter Create, sebuah kontes yang menantang Anda untuk membangun sesuatu yang menarik, menginspirasi, dan indah dengan Flutter menggunakan lima kilobyte atau kurang dari kode Dart. 5K tidaklah banyak -- untuk file MP3 biasa, ini sekitar sepertiga detik musik -- tetapi kami bertaruh Anda bisa membuat kami takjub dengan apa yang dapat Anda capai di Flutter dengan kode yang sangat kecil tersebut.


Kontes ini berjalan hingga 7 April, jadi Anda punya waktu beberapa minggu untuk membangun sesuatu yang keren. Kami memiliki beberapa hadiah menarik, termasuk workstation developer iMac Pro komplet dengan prosesor 14-inti dan memori 128GB yang bernilai lebih dari $10.000! Kami akan mengumumkan pemenang di Google I/O, di mana kami akan mengadakan sejumlah pembicaraan Flutter, codelab, dan aktivitas.

//developers-id.googleblog.com/2019/03/peluncuran-flutter-12-di-mobile-world.html

Saturday, January 11, 2020

Flutter Release versi 1: Langsung dari GMTC di Beijing

Hari ini di GMTC front-end conference di Beijing, kami mengumumkan Flutter Release Preview versi 1, yang menandakan fase baru pengembangan bagi Flutter selagi kita bergerak menuju tahap akhir stabilisasi untuk versi 1.0.


Google I/O bulan lalu adalah perayaan bagi tim Flutter: mencapai versi Beta, kami senang sekali bisa bertemu dengan banyak developer yang belajar, membuat prototipe, atau build dengan Flutter. Segera setelah Google I/O, kami terus melihat pertumbuhan cepat dalam ekosistem Flutter, dengan peningkatan 50% pada pengguna Flutter aktif. Kami juga melihat lebih dari 150 event Flutter individual yang diselenggarakan di lima puluh negara: dari New York City hingga Uyo, Nigeria; dari Tokyo dan Osaka di Jepang hingga Nuremberg, Jerman.


Salah satu pengukur umum dari momentum komunitas adalah jumlah bintang GitHub, dan kami juga melihat pertumbuhan yang luar biasa di sini, dengan Flutter menjadi salah satu dari 100 repo software terbaik di GitHub pada bulan Mei.

Pengumuman Flutter Release Preview versi 1
Hari ini kami mengambil langkah besar ke depan, dengan ketersediaan langsung Flutter Release Preview versi 1. Tampaknya sangat menguntungkan melakukan pengumuman ini di Beijing pada GMTC Global Front-End Conference. Cina adalah populasi developer terbesar ketiga yang menggunakan Flutter, setelah Amerika Serikat dan India. Perusahaan seperti Alibaba dan Tencent sudah mengadopsi Flutter untuk aplikasi produksi, dan terdapat komunitas lokal yang semakin bertambah yang menerjemahkan konten dan menambahkan package serta cermin untuk developer Cina.

Perubahan dari versi Beta ke ke release preview bersama rilis ini menandakan kepercayaan kami pada stabilitas dan kualitas dari apa yang kami miliki dengan Flutter, dan fokus kami pada perbaikan bug dan stabilisasi.

Kami telah memposting artikel yang lebih panjang dengan detail mengenai apa yang baru di Flutter Release Preview versi 1 di saluran Medium kami. Anda bisa mendownload Flutter Release Preview versi 1 langsung dari situs Flutter, atau cukup jalankan flutter upgrade dari penginstalan lama.

Sangat menyenangkan melihat orang lain merasakan Flutter untuk pertama kalinya. Artikel dari developer iOS yang baru saja menyelesaikan porting Aplikasi iOS ke Flutter adalah dukungan positif bagi kesiapan project ini untuk penggunaan produksi dunia nyata:

"Saya belum pernah begitu bersemangat lagi tentang teknologi sejak Ruby on Rails atau Go... Setelah mendedikasikan bertahun-tahun mempelajari pengembangan Aplikasi iOS secara mendalam, saya merasa sangat bersalah karena telah mengabaikan begitu banyak teman-teman Android di luar sana. Selain itu, mempelajari framework lintas platform lainnya pada saat itu sangat tidak menarik bagi saya karena apa yang tersedia... Menulis aplikasi Flutter telah menjadi tes lakmus dan Flutter lulus tes tersebut. Flutter adalah sesuatu yang saya rasakan benar-benar bisa saya dalami dan yang paling penting, saya benar-benar menikmatinya."

Karena kami semakin dekat memublikasikan rilis pertama saluran "stabil", kami sudah siap bagi lebih banyak developer untuk mem-build dan menerapkan solusi yang menggunakan Release Preview ini. Ada banyak penawaran pelatihan untuk membantu Anda mempelajari Flutter: dari sesi I/O hingga newsletter hingga video praktik hingga acara developer. Kami ingin segera melihat kreasi yang Anda build!

//developers-id.googleblog.com/2018/07/flutter-release-preview-versi-1.html

Friday, January 10, 2020

Aplikasi Hamilton yang dibuat dalam 3 bulan dengan Flutter meraih lebih dari 1 juta penginstalan [Video]

Aslinya diposting pada Flutter Medium oleh Martin Aguinis


Hamilton dan Posse, agensi desain dan pengembangan di New York, hanya membutuhkan tiga bulan untuk mengembangkan dan meluncurkan aplikasi seluler bagi acara Broadway yang sedang hit. Bagaimana mereka melakukannya? Menggunakan Flutter, framework UI seluler Google yang baru.

Menjangkau jutaan pengguna — dengan setengah juta pengguna aktif bulanan yang luar biasa dan dipublikasikan di App Store dan Google Play— aplikasi memungkinkan penggemar memasukkan lotre tiket, membeli merchandise, bermain trivia, berfoto selfie dengan #HamCam, membaca berita dan interviu terupdate, dan banyak lagi.

Tonton studi kasus video ini untuk melihat bagaimana Flutter terus membantu aplikasi seperti Hamilton agar berhasil di iOS dan Android. Anda bisa membaca detail selengkapnya tentang pengembangan aplikasi ini pada entri blog Posse.

Flutter gratis dan open source. Mulai sekarang di flutter.io. Kami tak sabar ingin segera melihat kreasi Anda!

//developers-id.googleblog.com/2018/04/video-aplikasi-hamilton-yang-dibuat.html