Showing posts with label Berita Teknologi. Show all posts
Showing posts with label Berita Teknologi. 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

Friday, September 18, 2020

TensorFlow Developer Certificate!

Di dunia AI sekarang ini, semakin banyak perusahaan mencari pekerja dengan bakat machine learning, dan secara bersamaan, semakin banyak siswa dan developer mencari cara untuk mendapatkan dan menunjukkan pengetahuan ML mereka dengan pengakuan formal. Selain kursus dan sumber pembelajaran yang tersedia secara online, kami ingin membantu developer dalam menunjukkan kemampuan ML mereka dan membantu perusahaan merekrut developer ML untuk memecahkan masalah yang menghadang.
TensorFlow Developer Certificate
Itulah sebabnya kami gembira bisa meluncurkan TensorFlow Developer Certificate, yang memberikan kesempatan kepada developer di seluruh dunia untuk menunjukkan keahlian ML mereka di pasar kerja global yang semakin didorong AI. Sertifikat pengembangan TensorFlow ini dimaksudkan sebagai sertifikat dasar untuk siswa, developer, dan data scientist yang ingin menunjukkan keterampilan machine learning praktis melalui pembangunan dan pelatihan model dasar menggunakan TensorFlow. Ujian sertifikat tingkat satu ini menguji pengetahuan dasar developer dalam mengintegrasikan machine learning ke dalam fitur dan aplikasi. Program sertifikat ini membutuhkan pemahaman tentang cara membangun model TensorFlow dasar menggunakan Computer Vision, Sequence modeling, dan Natural Language Processing.

Setelah lulus ujian, Anda akan menerima TensorFlow Developer Certificate dan badge resmi untuk menunjukkan keahlian Anda dan membagikannya di CV dan jejaring sosial seperti LinkedIn. Anda juga akan diundang bergabung dengan jaringan kredensial kami untuk perekrut yang mencari developer TensorFlow pemula. Ini barulah permulaan; seiring dengan program ini yang terus berkembang, kami ingin menambahkan program sertifikat untuk praktisi TensorFlow terspesialisasi dan tingkat lanjut.

Pelajari lebih lanjut tentang TensorFlow Developer Certificate di situs kami, termasuk informasi tentang kriteria ujian, biaya ujian, dan tunjangan untuk memastikan bahwa ujian sertifikat ini dapat diakses.

Kami berharap bisa menumbuhkan komunitas penerima sertifikat TensorFlow ini!

Sumber : https://developers-id.googleblog.com/2020/05/memperkenalkan-tensorflow-developer.html?m=1

Monday, September 14, 2020

Ekstensi Firebase Kotlin keluar dari versi Beta

Spanduk Firebase. Ilustrasi layar laptop dan ekstensi KXT
Kita tahu bahwa Kotlin adalah masa depan Android dan developer Kotlin menginginkan API yang bersih dan idiomatis ketika mereka menggunakan Firebase di aplikasinya. Selama setahun terakhir, kami telah merilis library ekstensi Firebase Kotlin (KTX) bersama dengan Android Java SDK untuk memberikan yang terbaik bagi developer Kotlin dari keduanya.
Dengan senang hati kami umumkan bahwa library KTX telah keluar dari versi Beta dan direkomendasikan untuk semua developer Firebase yang menggunakan Kotlin di aplikasi Android mereka!
Jadi apa artinya ini bagi Anda?
  • Dokumen referensi lengkap untuk semua library KTX kami
  • Cuplikan Kotlin dalam dokumentasi kami sekarang akan menggunakan sintaks KTX
  • Kode Kotlin dalam contoh kami sekarang akan menggunakan sintaks KTX
Untuk memulai library KTX, cari sufiks -ktx di bagian "Kotlin+KTX" dari library Android yang tersedia. Sebagai contoh, mari kita lihat bagaimana pengaturan Remote Config dengan dan tanpa library KTX.
app/build.gradle (sebelum)
implementation 'com.google.firebase:firebase-config:19.1.2'
MainActivity.kt (sebelum)
val remoteConfig = FirebaseRemoteConfig.getInstance()

val configSettings = FirebaseRemoteConfigSettings.Builder()
        .setMinimumFetchIntervalInSeconds(3600)
        .setFetchTimeoutInSeconds(60)
        .build()
remoteConfig.setConfigSettingsAsync(configSettings)
app/build.gradle (setelah)
// The -ktx library has a dependency on the firebase-config library
implementation 'com.google.firebase:firebase-config-ktx:19.1.2'
MainActivity.kt (setelah)
// New global "Firebase" class
val remoteConfig = Firebase.remoteConfig

// New settings builder syntax
val configSettings = remoteConfigSettings {
    minimumFetchIntervalInSeconds = 3600
    fetchTimeoutInSeconds = 60
}
remoteConfig.setConfigSettingsAsync(configSettings)
Dan library KTX yang kami miliki saat ini barulah permulaan, karena kami terus bekerja keras untuk menambah cakupan semua produk Firebase dan menambahkan fitur-fitur baru yang berfokus pada Kotlin dalam waktu dekat!
Kami tidak akan dapat merilis library KTX ini tanpa bantuan semua penggemar Kotlin di komunitas Firebase. Kami ingin memberikan kredit khusus untuk Rosário Pereira Fernandes yang telah menyumbangkan begitu banyak kode dan dokumentasi yang sangat luar biasa untuk upaya KTX.
Jika Anda memiliki masukan atau ingin berkontribusi, Anda bisa menemukan kami di GitHub.

Sumber : https://developers-id.googleblog.com/2020/05/ekstensi-firebase-kotlin-keluar-dari.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

Tuesday, September 1, 2020

Upaya respons COVID-19 nirlaba dengan kredit Google Maps Platform

Upaya respons COVID-19 nirlaba dengan kredit Google Maps Platform

Selama pandemi COVID-19, kami melihat respons yang menginspirasi dari komunitas developer. Untuk mendukung upaya respons, kami mempercepat pemrosesan aplikasi kredit Google Maps Platform untuk project nirlaba terkait COVID-19 yang menawarkan situs atau aplikasi seluler yang tersedia untuk umum. Setelah developer dan organisasi nirlaba yang tertarik mengirimkan aplikasi, tim kami akan meninjaunya untuk memastikan kelayakannya. Developer yang membutuhkan bantuan memulai agar bisa dengan cepat memberikan layanan yang bermanfaat dan dibutuhkan komunitas, bisa mengunjungi pusat sumber daya developer untuk informasi selengkapnya.

Memulai 

  1. Tinjau detail kelayakan di situs sumber daya developer. Hanya situs dan aplikasi yang menawarkan layanan yang sah dan/atau menyebarkan informasi dari sumber-sumber resmi (mis. Pusat Pengendalian Penyakit, Organisasi Kesehatan Dunia, instansi kesehatan lokal dan negara bagian) yang memenuhi syarat. 
  2. Buat akun Google Cloud Platform
  3. Karena akun penagihan diperlukan untuk mengelola kredit program, Anda harus menyiapkan akun penagihan 
  4. Kirim aplikasi Anda
  5. Aktifkan SDK dan API Google Maps Platform yang ingin Anda gunakan
  6. Buat kunci API untuk mengautentikasi permintaan Anda ke platform

Untuk persyaratan dan daftar langkah penyiapan lengkap, lihat Mulai dengan Google Maps Platform atau tonton video memulai kami di saluran YouTube Google Maps Platform
API/SDK untuk kasus penggunaan respons krisis umum Setiap SDK dan API Google Maps Platform berguna untuk project bantuan dan respons krisis, tetapi kami menyusun lembar singkat untuk membantu Anda mengidentifikasi API dan SDK yang bisa digunakan untuk beberapa kasus penggunaan yang relevan.
Ikon Tampilan Lokasi
Kasus penggunaan: Saya ingin menampilkan lokasi tempat, seperti lokasi pengujian, di peta
Untuk web:
Untuk seluler:

Ikon Tampilan Banyak Tempat

Kasus penggunaan: Saya ingin menampilkan banyak lokasi, seperti semua toko dengan jam khusus untuk pembeli sensitif, di peta
Untuk web:
  • Marker khusus untuk web
  • Pengelompokan marker untuk web
Untuk seluler:

Peta Panas
Kasus penggunaan: Saya ingin menampilkan peta panas kasus kesembuhan berdasarkan data dari sumber berwenang
Untuk Web:

  • Peta panas untuk web

Untuk Seluler:



Volume
Kasus penggunaan: Saya ingin memvisualisasikan set data kepentingan publik atau kesehatan yang luas dari sumber berwenang, yang berjumlah lebih dari 300 titik
Untuk web:



Penelusuran Tempat
Kasus penggunaan: Saya ingin membantu orang menelusuri tempat, seperti pusat kesehatan komunitas terdekat
Untuk web:

Untuk seluler:

Directions
Kasus penggunaan:  Saya ingin membantu rumah sakit nirlaba merutekan pengiriman medis atau membantu pasien menuju lokasi pengujian terdekat
Untuk web:

Untuk seluler:


Sumber : https://developers-id.googleblog.com/2020/04/mendukung-upaya-respons-covid-19.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