content:
Dengan bangga kami mengumumkan ketersediaan Flutter 1.7 secara umum, rilis yang lebih kecil setelah pengumuman fitur utama di Google I/O. Flutter 1.7 berisi dukungan untuk AndroidX dan persyaratan Play Store yang diperbarui, sejumlah komponen baru yang disempurnakan, dan perbaikan bug untuk masalah yang dilaporkan pelanggan.
Jika Anda sudah memakai Flutter di sistem Anda dan berada di saluran stabil default, Anda bisa melakukan upgrade ke versi 1.7 dengan menjalankan flutter upgrade dari baris perintah. Rilis terupdate ini juga termasuk dalam penginstalan baru Flutter.
Dukungan AndroidX untuk Aplikasi Baru
AndroidX adalah library dukungan open source baru dari tim Jetpack yang membantu aplikasi Android tetap terupdate dengan komponen terbaru tanpa mengorbankan kompatibilitas mundur. Sekarang setelah AndroidX stabil dan banyak paket Flutter telah diupdate untuk mendukungnya, Flutter mendukung pembuatan project Flutter baru dengan AndroidX, sehingga mengurangi pekerjaan yang diperlukan untuk mengintegrasikannya dengan bagian ekosistem Android yang lain.
Saat membuat project Flutter, Anda bisa menambahkan tanda --androidx untuk memastikan project yang dihasilkan menargetkan library dukungan yang baru. Informasi tentang melakukan migrasi project yang sudah ada ke AndroidX bisa ditemukan di flutter.dev. Kami secara aktif terus berupaya menghadirkan dukungan AndroidX / Jetifier untuk aplikasi dengan campuran library Dukungan Android / AndroidX, seperti dalam kasus penambahan-ke-aplikasi, dan akan membahasnya lebih banyak lagi dalam postingan mendatang.
Dukungan untuk paket aplikasi Android dan aplikasi Android 64-bit
Mulai 1 Agustus 2019, aplikasi Android yang menggunakan kode native dan menargetkan Android 9 Pie harus menyediakan versi 64-bit selain versi 32-bit saat memublikasikan ke Google Play Store. Meskipun Flutter telah lama mendukung pembuatan aplikasi Android 64-bit, versi 1.7 menambahkan dukungan untuk membuat Android App Bundle yang menargetkan 64-bit dan 32-bit dari satu pengiriman. Lihat dokumentasi terbaru tentang publikasi aplikasi Android berbasis Flutter untuk mempelajari cara melakukannya, serta cara membuat file APK terpisah untuk perangkat 32-bit dan 64-bit.
Penyempurnaan framework dan widget baru
Kami ingin aplikasi Anda terlihat bagus dan natural, terlepas dari platform yang Anda targetkan. Karena itu, kami terus mengupdate dan menyempurnakan widget yang tersedia untuk Android dan iOS.
Rilis ini menampilkan kontrol RangeSlider baru yang memungkinkan Anda memilih rentang nilai pada penggeser tunggal (misalnya nilai suhu minimum dan maksimum):
Widget RangeSlider bertema yang baru mendukung gaya continuous atau discrete
Widget SnackBar yang terupdate mendukung tampilan terupdate dalam spesifikasi Material, dan sejumlah contoh baru sudah ditambahkan ke dokumentasi.
Untuk Cupertino, library Flutter untuk membangun aplikasi iOS yang sempurna, kami telah melakukan sejumlah pembaruan. Secara khusus, kami telah meningkatkan fidelitas widget CupertinoPicker dan CupertinoDateTimePicker, dan menambahkan dukungan untuk pelokalan ke bahasa non-Inggris.
Kami juga membuat peningkatan besar pada pemilihan teks dan pengalaman mengedit di iOS, terlepas dari apakah Anda menggunakan bahasa desain Material atau Cupertino. Selain itu, contoh baru ini menunjukkan bagaimana cara melakukan adaptasi platform secara lebih signifikan di iOS dan Android sembari mempertahankan basis kode yang sama.
Perenderan teks mendapatkan upgrade besar dengan dukungan untuk fitur tipografi yang beragam, termasuk angka bergaya lama dan tabular, nol bergaris miring, dan set gaya, seperti yang ditunjukkan oleh demo ini:
Dengan Flutter, Anda sekarang bisa menambahkan tipografi canggih dengan dukungan fitur font OpenType
Terakhir, kami telah menambahkan dukungan untuk pengontrol game. Bisakah ini menyebabkan hadirnya aplikasi Flutter yang menyenangkan? Anda beri tahu kami!
Fokus pada Fundamental
Flutter 1.7 menunjukkan kerja keras tim untuk merespons masalah yang dilaporkan pelanggan, dengan lebih dari 1.250 masalah yang sudah terselesaikan dalam dua bulan sejak rilis stabil terakhir kami.
Dengan cepatnya pertumbuhan Flutter, kami melihat banyak masalah baru yang dilaporkan, dan agar transparan, proses bug yang dulu bekerja dengan baik ketika project kami masih kecil tidak berfungsi dengan begitu baik sekarang. Akibatnya, jumlah masalah terbuka kami meningkat secara signifikan dalam beberapa bulan terakhir, meskipun ada kemajuan dalam menyelesaikan masalah-masalah berdasarkan derajat urgensi. Kami berupaya meningkatkan optimalisasi staf di area ini, sehingga bisa mempercepat analisis derajat urgensi bug baru, menyelesaikan dan menggabungkan masalah yang sama dan mengalihkan permintaan dukungan ke StackOverflow.
Dalam survei terbaru, banyak dari Anda yang berkata bahwa Anda ingin melihat kami terus berinvestasi dalam dokumentasi dan pesan error. Salah satu bagian penting dari pekerjaan itu adalah menyediakan struktur yang lebih baik bagi error yang bisa dimanfaatkan oleh fitur seperti VSCode dan Android Studio di masa mendatang. Anda bisa melihat contoh pekerjaan ini dalam masalah 34684.
Kami juga memperbaiki bug error teratas, yang merupakan error ketika fitur Flutter tidak bisa menulis ke direktori Flutter. Flutter sekarang memberikan peringatan bila pengguna tidak memiliki izin menulis, dengan indikasi yang lebih jelas tentang cara memperbaiki masalah tersebut.
Dalam hal dokumentasi, kami memiliki semakin banyak daftar contoh yang bisa dibuat langsung dari fitur pembuat flutter. Dari baris perintah, Anda bisa menjalankan perintah seperti:
flutter create --sample=material.AppBar.1 mysample
Jika contoh bisa dibuat dengan cara ini, Anda akan melihat tab “Sample in the App” di dokumentasi, seperti dalam contoh ini untuk widget AppBar:
Kami juga terus menyematkan video Widget of the Week yang populer secara langsung ke dalam dokumentasi, sebagai cara termudah untuk memahami berbagai widget di toolkit Flutter.
Di belakang layar, Anda akan melihat banyak pekerjaan pokok untuk membuat infrastruktur guna mengaktifkan Flutter di macOS dan Windows, dengan dukungan lanjutan untuk konsep-konsep yang penting seperti klik-kanan dan infrastruktur platform unik seperti MSBuild. Namun, dukungan untuk platform non-seluler belum tersedia di saluran stabil.
Yang terakhir, ketika Anda membangun aplikasi Flutter di Mac, sekarang kami mendukung sistem build Xcode terbaru. Ini aktif secara default untuk project baru, dan mudah bila ingin diaktifkan untuk project yang sudah ada.
Komunitas Flutter yang terus berkembang
Jujur, sangat menarik melihat Flutter terus bertumbuh popularitas dan penggunaannya, dan kami juga memuji bagaimana cara pelanggan besar dan kecil menggunakan Flutter. Sejak I/O, tim kami sangat sibuk dengan berbagai acara di seluruh dunia: dari GMTC di Cina hingga pertemuan dan presentasi di New York dan Meksiko; senang bisa bertemu dengan Anda semua dan mendengar tentang beberapa aplikasi yang Anda bangun.
Sebelumnya kami telah berbicara tentang Reflectly: perusahaan kecil dari Denmark yang membangun aplikasi mindfulness yang indah untuk iOS dan Android. Aplikasi mereka baru saja diunggulkan sebagai App of the Day Apple di app store iPhone AS, menunjukkan bagaimana aplikasi Flutter lebih dari mampu menghadirkan pengalaman yang berkualitas:
https://medium.com/media/d7acaad0ea9a98272cfe861eafcf581f/href
Dan pada konferensi WeAreDevelopers di Berlin, BMW mengumumkan aplikasi baru berbasis Flutter, yang saat ini sedang dalam pengembangan. Inilah yang dikatakan Guy Duncan, CTO Connected Company di BMW:
“Dengan menggabungkan Dart dan Flutter, kami memiliki toolkit seluler lintas platform pertama yang sesungguhnya; kami merasa ini adalah pengubah permainan yang memastikan keseimbangan fitur untuk titik sentuh digital dan IoT.
Karena bergerak maju menggunakan peralatan kelas dunia, otomatisasi, dan pola pemrograman fungsional modern, kami bisa meningkatkan waktu siklus fitur, keamanan, dan biaya pengiriman fitur untuk bisnis.”
Di luar aplikasi, tentu komunitas open source adalah faktor penting yang membuat Flutter menjadi tempat kerja yang menyenangkan, dengan begitu banyak sumber daya, plugin, acara, dan pertemuan. Kami terus terkagum-kagum dengan cara Anda menggunakan Flutter dan merasa terhormat bisa berbagi kesenangan dengan Anda semua!
Foto oleh: @damian2048

Penyempurnaan dan perbaikan yang berkelanjutan untuk platform seluler
Dengan bangga kami mengumumkan ketersediaan Flutter 1.7 secara umum, rilis yang lebih kecil setelah pengumuman fitur utama di Google I/O. Flutter 1.7 berisi dukungan untuk AndroidX dan persyaratan Play Store yang diperbarui, sejumlah komponen baru yang disempurnakan, dan perbaikan bug untuk masalah yang dilaporkan pelanggan.
Jika Anda sudah memakai Flutter di sistem Anda dan berada di saluran stabil default, Anda bisa melakukan upgrade ke versi 1.7 dengan menjalankan flutter upgrade dari baris perintah. Rilis terupdate ini juga termasuk dalam penginstalan baru Flutter.
Dukungan AndroidX untuk Aplikasi Baru
AndroidX adalah library dukungan open source baru dari tim Jetpack yang membantu aplikasi Android tetap terupdate dengan komponen terbaru tanpa mengorbankan kompatibilitas mundur. Sekarang setelah AndroidX stabil dan banyak paket Flutter telah diupdate untuk mendukungnya, Flutter mendukung pembuatan project Flutter baru dengan AndroidX, sehingga mengurangi pekerjaan yang diperlukan untuk mengintegrasikannya dengan bagian ekosistem Android yang lain.
Saat membuat project Flutter, Anda bisa menambahkan tanda --androidx untuk memastikan project yang dihasilkan menargetkan library dukungan yang baru. Informasi tentang melakukan migrasi project yang sudah ada ke AndroidX bisa ditemukan di flutter.dev. Kami secara aktif terus berupaya menghadirkan dukungan AndroidX / Jetifier untuk aplikasi dengan campuran library Dukungan Android / AndroidX, seperti dalam kasus penambahan-ke-aplikasi, dan akan membahasnya lebih banyak lagi dalam postingan mendatang.
Dukungan untuk paket aplikasi Android dan aplikasi Android 64-bit
Mulai 1 Agustus 2019, aplikasi Android yang menggunakan kode native dan menargetkan Android 9 Pie harus menyediakan versi 64-bit selain versi 32-bit saat memublikasikan ke Google Play Store. Meskipun Flutter telah lama mendukung pembuatan aplikasi Android 64-bit, versi 1.7 menambahkan dukungan untuk membuat Android App Bundle yang menargetkan 64-bit dan 32-bit dari satu pengiriman. Lihat dokumentasi terbaru tentang publikasi aplikasi Android berbasis Flutter untuk mempelajari cara melakukannya, serta cara membuat file APK terpisah untuk perangkat 32-bit dan 64-bit.
Penyempurnaan framework dan widget baru
Kami ingin aplikasi Anda terlihat bagus dan natural, terlepas dari platform yang Anda targetkan. Karena itu, kami terus mengupdate dan menyempurnakan widget yang tersedia untuk Android dan iOS.
Rilis ini menampilkan kontrol RangeSlider baru yang memungkinkan Anda memilih rentang nilai pada penggeser tunggal (misalnya nilai suhu minimum dan maksimum):
Widget RangeSlider bertema yang baru mendukung gaya continuous atau discrete
Widget SnackBar yang terupdate mendukung tampilan terupdate dalam spesifikasi Material, dan sejumlah contoh baru sudah ditambahkan ke dokumentasi.
Untuk Cupertino, library Flutter untuk membangun aplikasi iOS yang sempurna, kami telah melakukan sejumlah pembaruan. Secara khusus, kami telah meningkatkan fidelitas widget CupertinoPicker dan CupertinoDateTimePicker, dan menambahkan dukungan untuk pelokalan ke bahasa non-Inggris.
Kami juga membuat peningkatan besar pada pemilihan teks dan pengalaman mengedit di iOS, terlepas dari apakah Anda menggunakan bahasa desain Material atau Cupertino. Selain itu, contoh baru ini menunjukkan bagaimana cara melakukan adaptasi platform secara lebih signifikan di iOS dan Android sembari mempertahankan basis kode yang sama.
Perenderan teks mendapatkan upgrade besar dengan dukungan untuk fitur tipografi yang beragam, termasuk angka bergaya lama dan tabular, nol bergaris miring, dan set gaya, seperti yang ditunjukkan oleh demo ini:
Dengan Flutter, Anda sekarang bisa menambahkan tipografi canggih dengan dukungan fitur font OpenType
Terakhir, kami telah menambahkan dukungan untuk pengontrol game. Bisakah ini menyebabkan hadirnya aplikasi Flutter yang menyenangkan? Anda beri tahu kami!
Fokus pada Fundamental
Flutter 1.7 menunjukkan kerja keras tim untuk merespons masalah yang dilaporkan pelanggan, dengan lebih dari 1.250 masalah yang sudah terselesaikan dalam dua bulan sejak rilis stabil terakhir kami.
Dengan cepatnya pertumbuhan Flutter, kami melihat banyak masalah baru yang dilaporkan, dan agar transparan, proses bug yang dulu bekerja dengan baik ketika project kami masih kecil tidak berfungsi dengan begitu baik sekarang. Akibatnya, jumlah masalah terbuka kami meningkat secara signifikan dalam beberapa bulan terakhir, meskipun ada kemajuan dalam menyelesaikan masalah-masalah berdasarkan derajat urgensi. Kami berupaya meningkatkan optimalisasi staf di area ini, sehingga bisa mempercepat analisis derajat urgensi bug baru, menyelesaikan dan menggabungkan masalah yang sama dan mengalihkan permintaan dukungan ke StackOverflow.
Dalam survei terbaru, banyak dari Anda yang berkata bahwa Anda ingin melihat kami terus berinvestasi dalam dokumentasi dan pesan error. Salah satu bagian penting dari pekerjaan itu adalah menyediakan struktur yang lebih baik bagi error yang bisa dimanfaatkan oleh fitur seperti VSCode dan Android Studio di masa mendatang. Anda bisa melihat contoh pekerjaan ini dalam masalah 34684.
Kami juga memperbaiki bug error teratas, yang merupakan error ketika fitur Flutter tidak bisa menulis ke direktori Flutter. Flutter sekarang memberikan peringatan bila pengguna tidak memiliki izin menulis, dengan indikasi yang lebih jelas tentang cara memperbaiki masalah tersebut.
Dalam hal dokumentasi, kami memiliki semakin banyak daftar contoh yang bisa dibuat langsung dari fitur pembuat flutter. Dari baris perintah, Anda bisa menjalankan perintah seperti:
flutter create --sample=material.AppBar.1 mysample
Jika contoh bisa dibuat dengan cara ini, Anda akan melihat tab “Sample in the App” di dokumentasi, seperti dalam contoh ini untuk widget AppBar:
Kami juga terus menyematkan video Widget of the Week yang populer secara langsung ke dalam dokumentasi, sebagai cara termudah untuk memahami berbagai widget di toolkit Flutter.
Di belakang layar, Anda akan melihat banyak pekerjaan pokok untuk membuat infrastruktur guna mengaktifkan Flutter di macOS dan Windows, dengan dukungan lanjutan untuk konsep-konsep yang penting seperti klik-kanan dan infrastruktur platform unik seperti MSBuild. Namun, dukungan untuk platform non-seluler belum tersedia di saluran stabil.
Yang terakhir, ketika Anda membangun aplikasi Flutter di Mac, sekarang kami mendukung sistem build Xcode terbaru. Ini aktif secara default untuk project baru, dan mudah bila ingin diaktifkan untuk project yang sudah ada.
Komunitas Flutter yang terus berkembang
Jujur, sangat menarik melihat Flutter terus bertumbuh popularitas dan penggunaannya, dan kami juga memuji bagaimana cara pelanggan besar dan kecil menggunakan Flutter. Sejak I/O, tim kami sangat sibuk dengan berbagai acara di seluruh dunia: dari GMTC di Cina hingga pertemuan dan presentasi di New York dan Meksiko; senang bisa bertemu dengan Anda semua dan mendengar tentang beberapa aplikasi yang Anda bangun.
Sebelumnya kami telah berbicara tentang Reflectly: perusahaan kecil dari Denmark yang membangun aplikasi mindfulness yang indah untuk iOS dan Android. Aplikasi mereka baru saja diunggulkan sebagai App of the Day Apple di app store iPhone AS, menunjukkan bagaimana aplikasi Flutter lebih dari mampu menghadirkan pengalaman yang berkualitas:
https://medium.com/media/d7acaad0ea9a98272cfe861eafcf581f/href
Dan pada konferensi WeAreDevelopers di Berlin, BMW mengumumkan aplikasi baru berbasis Flutter, yang saat ini sedang dalam pengembangan. Inilah yang dikatakan Guy Duncan, CTO Connected Company di BMW:
“Dengan menggabungkan Dart dan Flutter, kami memiliki toolkit seluler lintas platform pertama yang sesungguhnya; kami merasa ini adalah pengubah permainan yang memastikan keseimbangan fitur untuk titik sentuh digital dan IoT.
Karena bergerak maju menggunakan peralatan kelas dunia, otomatisasi, dan pola pemrograman fungsional modern, kami bisa meningkatkan waktu siklus fitur, keamanan, dan biaya pengiriman fitur untuk bisnis.”
Di luar aplikasi, tentu komunitas open source adalah faktor penting yang membuat Flutter menjadi tempat kerja yang menyenangkan, dengan begitu banyak sumber daya, plugin, acara, dan pertemuan. Kami terus terkagum-kagum dengan cara Anda menggunakan Flutter dan merasa terhormat bisa berbagi kesenangan dengan Anda semua!
Foto oleh: @damian2048

Google
Labels: flutter
Cara menerapkan pemberian tag dokumen dengan AutoML
25 July 2019
Banyak bisnis perlu mendigitalkan foto, dokumen, memo, dan jenis media fisik lainnya untuk membantu tugas-tugas seperti pemrosesan faktur, tinjauan aplikasi, dan analisis kontrak. Di Google Cloud, kami menyediakan sejumlah cara yang bisa dilakukan pelanggan, mulai dari menggunakan API machine learning yang sudah dilatih, membangun di paket AutoML kami, hingga menerapkan Document Understanding AI, solusi AI terbaru kami.
Dalam postingan ini, kami akan berfokus pada satu pendekatan, menggunakan Cloud AutoML untuk melakukan pemberian tag dokumen untuk keperluan pemrosesan dokumen. Pemberian tag dokumen berarti mengidentifikasi pasangan nilai kunci dari sebuah dokumen seperti respons (atau nilai) ke kolom (atau tag) seperti pelanggan, nomor akun, total, dan lainnya. Di sini, ‘tag’ adalah kolom yang ingin diekstrak, dan ‘nilai’ adalah data tentang tag tersebut. Dalam solusi ini, kami akan menggunakan AutoML untuk mengambil konten penting dari sebuah gambar seperti tanda tangan, stempel, dan kotak, untuk diproses.
Solusi masa lalu
Beberapa tahun lalu, digitalisasi dokumen artinya hanya memindai dan menyimpannya dalam bentuk gambar di cloud. Sekarang, dengan fitur dan teknik yang lebih baik, dan dengan booming solusi berbasis ML baru-baru ini, kita bisa mengubah dokumen fisik menjadi data terstruktur yang dapat diproses secara otomatis, dan dari sini pengetahuan yang berguna dapat diekstraksi.
Sampai saat ini, digitalisasi dokumen memerlukan aplikasi metodologi berbasis aturan seperti menggunakan ekspresi reguler untuk mengidentifikasi kolom, atau mengekstraksi OCR dari posisi kolom tetap. Namun solusi ini tidak selalu berfungsi pada dokumen baru dan bisa saja terjadi masalah dengan pencocokan kata kunci atau model NLP berbasis teks. Deteksi objek dan pengenalan entity, yang menjadi pusat perhatian dalam beberapa tahun terakhir, kini telah menyebabkan peningkatan yang signifikan dalam bidang ini. Cloud AutoML, paket layanan AI kami yang memungkinkan Anda membuat model machine learning khusus berkualitas tinggi dengan keahlian ML yang minimal, adalah salah satu contohnya.
Solusi GCP: AutoML sesuai kebutuhan
Ada berbagai macam layanan AutoML yang bisa digunakan sebagai dasar untuk membuat model yang mampu memecahkan masalah bisnis yang unik. Dalam kasus digitalisasi dokumen, satu kemungkinan arsitektur yang bisa digunakan terlihat seperti ini:
Jenis arsitektur ini tidak hanya mudah diikuti, tetapi juga mudah diterapkan dalam produksi. Semua komponen berdasar pada produk-produk GCP yang sudah ada serta sangat skalabel, tanpa server, dan bisa langsung diproduksi.
Dokumen yang ditag—Anda bisa menggunakan AI Platform Data Labeling Service jika belum memiliki data yang dianotasi.
OCR & deteksi objek—Ini bisa dilakukan dengan Vision API dan AutoML Vision Object Detection, tambahan terbaru dalam paket produk AutoML.
Penggabungan dan pemrosesan fitur—Ada beberapa cara berbeda yang bisa dilakukan, seperti menggunakan notebook Jupyter sederhana atau solusi ter-container berbasis Python.
Pengenalan entity—Ini bisa dilakukan dengan menggunakan Entity extraction, fitur baru di AutoML Natural Language, tambahan terbaru dalam paket produk AutoML
Pascapemrosesan—Ini bisa dilakukan dengan cara yang hampir sama dengan pemrosesan fitur.
Seluruh pipeline bisa diatur menggunakan Cloud Composer, atau dapat diterapkan menggunakan Google Kubernetes Engine (GKE). Namun, beberapa masalah bisnis, seperti membangun pipeline penyerapan data yang disesuaikan ke GCP, mengekstraksi aturan dari dokumen hukum, menyunting informasi sensitif dari dokumen sebelum menganalisisnya, dll., memerlukan pengembangan kustomisasi tambahan selain arsitektur yang disebutkan di atas. Untuk kebutuhan tersebut, Anda bisa menghubungi tim penjualan kami untuk bantuan dan detail selengkapnya.
Produksi nilai
Berbagai solusi ML memiliki keuntungan teknis atau bisnis mereka sendiri—dan banyak pelanggan kami menggunakan solusi seperti ini untuk mencapai tujuannya, apakah itu untuk meningkatkan pengalaman pengguna, mengurangi biaya operasional, atau mengurangi error secara keseluruhan. Solusi seperti yang dijelaskan dalam postingan ini bisa digunakan di berbagai industri seperti layanan kesehatan, layanan keuangan, media, dan banyak lagi. Berikut adalah beberapa contohnya:
Secara otomatis mengekstraksi data dari Electronic Health Records (EHR).
Pembuatan pasangan nilai kunci dari faktur.
Pengambilan kolom dari dokumen finansial.
Memahami teks keluhan pelanggan.
Pemberian tag cek bank, tiket, dan data lainnya.
Berikutnya
Di era deep learning ini, solusi yang menyederhanakan proses pelatihan, seperti transfer learning, semakin dibutuhkan. Arsitektur yang dijelaskan dalam postingan ini telah berhasil diuji dan diterapkan untuk bekerja sesuai kebutuhan, dan memungkinkan digitalisasi dokumen tanpa memerlukan ribuan gambar beranotasi untuk pelatihan model.
Namun, variabilitas data masih merupakan faktor penting dalam setiap solusi berbasis machine learning. AutoML secara otomatis memecahkan banyak masalah dasar atas variansi data, sehingga memungkinkan Anda untuk menggunakan hanya beberapa ribu gambar untuk melatih model khusus.
Membantu pelanggan memproses dokumen mereka sangat sesuai dengan misi Google untuk mengatur informasi dunia dan membuatnya bisa diakses dan bermanfaat secara global. Kami berharap bahwa dengan membagikan postingan ini, kami bisa menginspirasi lebih banyak organisasi untuk memanfaatkan cloud. Fitur seperti Cloud AutoML Vision, Cloud AutoML Natural Language, dan Cloud Storage bisa membantu Anda membangun set data lengkap dan meningkatkan pengalaman pengguna akhir.
Ini adalah solusi tertarget dan sederhana untuk masalah tertentu. Untuk otomatisasi proses dokumen yang lebih kuat dan luas serta teknologi ekstraksi data, silakan merujuk ke solusi Document Understanding AI Google. AutoML adalah komponen inti dari solusi Document Understanding AI end-to-end, yang mudah diterapkan melalui mitra kami, dan tidak memerlukan keahlian machine learning. Anda bisa mempelajari lebih lanjut di situs kami.

Banyak bisnis perlu mendigitalkan foto, dokumen, memo, dan jenis media fisik lainnya untuk membantu tugas-tugas seperti pemrosesan faktur, tinjauan aplikasi, dan analisis kontrak. Di Google Cloud, kami menyediakan sejumlah cara yang bisa dilakukan pelanggan, mulai dari menggunakan API machine learning yang sudah dilatih, membangun di paket AutoML kami, hingga menerapkan Document Understanding AI, solusi AI terbaru kami.
Dalam postingan ini, kami akan berfokus pada satu pendekatan, menggunakan Cloud AutoML untuk melakukan pemberian tag dokumen untuk keperluan pemrosesan dokumen. Pemberian tag dokumen berarti mengidentifikasi pasangan nilai kunci dari sebuah dokumen seperti respons (atau nilai) ke kolom (atau tag) seperti pelanggan, nomor akun, total, dan lainnya. Di sini, ‘tag’ adalah kolom yang ingin diekstrak, dan ‘nilai’ adalah data tentang tag tersebut. Dalam solusi ini, kami akan menggunakan AutoML untuk mengambil konten penting dari sebuah gambar seperti tanda tangan, stempel, dan kotak, untuk diproses.
Solusi masa lalu
Beberapa tahun lalu, digitalisasi dokumen artinya hanya memindai dan menyimpannya dalam bentuk gambar di cloud. Sekarang, dengan fitur dan teknik yang lebih baik, dan dengan booming solusi berbasis ML baru-baru ini, kita bisa mengubah dokumen fisik menjadi data terstruktur yang dapat diproses secara otomatis, dan dari sini pengetahuan yang berguna dapat diekstraksi.
Sampai saat ini, digitalisasi dokumen memerlukan aplikasi metodologi berbasis aturan seperti menggunakan ekspresi reguler untuk mengidentifikasi kolom, atau mengekstraksi OCR dari posisi kolom tetap. Namun solusi ini tidak selalu berfungsi pada dokumen baru dan bisa saja terjadi masalah dengan pencocokan kata kunci atau model NLP berbasis teks. Deteksi objek dan pengenalan entity, yang menjadi pusat perhatian dalam beberapa tahun terakhir, kini telah menyebabkan peningkatan yang signifikan dalam bidang ini. Cloud AutoML, paket layanan AI kami yang memungkinkan Anda membuat model machine learning khusus berkualitas tinggi dengan keahlian ML yang minimal, adalah salah satu contohnya.
Solusi GCP: AutoML sesuai kebutuhan
Ada berbagai macam layanan AutoML yang bisa digunakan sebagai dasar untuk membuat model yang mampu memecahkan masalah bisnis yang unik. Dalam kasus digitalisasi dokumen, satu kemungkinan arsitektur yang bisa digunakan terlihat seperti ini:
Jenis arsitektur ini tidak hanya mudah diikuti, tetapi juga mudah diterapkan dalam produksi. Semua komponen berdasar pada produk-produk GCP yang sudah ada serta sangat skalabel, tanpa server, dan bisa langsung diproduksi.
Dokumen yang ditag—Anda bisa menggunakan AI Platform Data Labeling Service jika belum memiliki data yang dianotasi.
OCR & deteksi objek—Ini bisa dilakukan dengan Vision API dan AutoML Vision Object Detection, tambahan terbaru dalam paket produk AutoML.
Penggabungan dan pemrosesan fitur—Ada beberapa cara berbeda yang bisa dilakukan, seperti menggunakan notebook Jupyter sederhana atau solusi ter-container berbasis Python.
Pengenalan entity—Ini bisa dilakukan dengan menggunakan Entity extraction, fitur baru di AutoML Natural Language, tambahan terbaru dalam paket produk AutoML
Pascapemrosesan—Ini bisa dilakukan dengan cara yang hampir sama dengan pemrosesan fitur.
Seluruh pipeline bisa diatur menggunakan Cloud Composer, atau dapat diterapkan menggunakan Google Kubernetes Engine (GKE). Namun, beberapa masalah bisnis, seperti membangun pipeline penyerapan data yang disesuaikan ke GCP, mengekstraksi aturan dari dokumen hukum, menyunting informasi sensitif dari dokumen sebelum menganalisisnya, dll., memerlukan pengembangan kustomisasi tambahan selain arsitektur yang disebutkan di atas. Untuk kebutuhan tersebut, Anda bisa menghubungi tim penjualan kami untuk bantuan dan detail selengkapnya.
Produksi nilai
Berbagai solusi ML memiliki keuntungan teknis atau bisnis mereka sendiri—dan banyak pelanggan kami menggunakan solusi seperti ini untuk mencapai tujuannya, apakah itu untuk meningkatkan pengalaman pengguna, mengurangi biaya operasional, atau mengurangi error secara keseluruhan. Solusi seperti yang dijelaskan dalam postingan ini bisa digunakan di berbagai industri seperti layanan kesehatan, layanan keuangan, media, dan banyak lagi. Berikut adalah beberapa contohnya:
Secara otomatis mengekstraksi data dari Electronic Health Records (EHR).
Pembuatan pasangan nilai kunci dari faktur.
Pengambilan kolom dari dokumen finansial.
Memahami teks keluhan pelanggan.
Pemberian tag cek bank, tiket, dan data lainnya.
Berikutnya
Di era deep learning ini, solusi yang menyederhanakan proses pelatihan, seperti transfer learning, semakin dibutuhkan. Arsitektur yang dijelaskan dalam postingan ini telah berhasil diuji dan diterapkan untuk bekerja sesuai kebutuhan, dan memungkinkan digitalisasi dokumen tanpa memerlukan ribuan gambar beranotasi untuk pelatihan model.
Namun, variabilitas data masih merupakan faktor penting dalam setiap solusi berbasis machine learning. AutoML secara otomatis memecahkan banyak masalah dasar atas variansi data, sehingga memungkinkan Anda untuk menggunakan hanya beberapa ribu gambar untuk melatih model khusus.
Membantu pelanggan memproses dokumen mereka sangat sesuai dengan misi Google untuk mengatur informasi dunia dan membuatnya bisa diakses dan bermanfaat secara global. Kami berharap bahwa dengan membagikan postingan ini, kami bisa menginspirasi lebih banyak organisasi untuk memanfaatkan cloud. Fitur seperti Cloud AutoML Vision, Cloud AutoML Natural Language, dan Cloud Storage bisa membantu Anda membangun set data lengkap dan meningkatkan pengalaman pengguna akhir.
Ini adalah solusi tertarget dan sederhana untuk masalah tertentu. Untuk otomatisasi proses dokumen yang lebih kuat dan luas serta teknologi ekstraksi data, silakan merujuk ke solusi Document Understanding AI Google. AutoML adalah komponen inti dari solusi Document Understanding AI end-to-end, yang mudah diterapkan melalui mitra kami, dan tidak memerlukan keahlian machine learning. Anda bisa mempelajari lebih lanjut di situs kami.

Google
Labels: machine learning
Sekarang di Android
18 July 2019
Google I/O 2019
Salah satu hal paling menakjubkan tentang Google I/O adalah livestream/video dari acara ini. Sangat menyenangkan jika Anda bisa hadir langsung di acara ini, terutama karena kami dapat berbicara dengan Anda untuk mengetahui masalah atau pertanyaan yang Anda miliki. Tetapi tidak semua orang bisa mendapatkan tiket, bepergian, atau meninggalkan pekerjaan coding mereka. Jadi kami menyiarkan streaming langsung hampir semua konten dan memublikasikan rekaman semua sesi teknis untuk memastikan bahwa semua orang di mana saja bisa melihat presentasi dan mendapatkan highlight konferensi dan kondisi Android terkini.
Dalam beberapa tahun terakhir, tim produksi telah melakukan tugasnya dengan sangat baik sehingga video dapat langsung diposting segera setelah pembicaraan selesai. Dalam waktu dekat, mereka akan memposting rekaman lebih cepat dari presentasi yang sebenarnya, sehingga akan sangat membantu pembicara.
Namun masalah yang saya temukan dengan banyak konten video adalah... ada begitu banyak konten video. Jika saya tidak tahu persis apa yang saya cari di berbagai playlist YouTube, ini akan memakan waktu cukup lama untuk ditemukan, atau saya mungkin menyerah dan kembali menonton video kucing. (Mereka sangat imut, benar kan?)
Jadi saya pikir tahun ini saya akan mencoba mengelola playlist untuk developer Android, untuk mencoba mengategorikan apa yang kami sampaikan di konferensi untuk membantu Anda menemukan hal-hal yang mungkin ingin Anda tonton, dan menautkan konten terkait lainnya jika diperlukan. Mungkin saya terlambat masuk ke permainan ini, dengan I/O sudah dua bulan berlalu, tetapi mudah-mudahan hal ini masih berguna bagi penunda (atau bahkan penunda amatir) di antara Anda yang belum sempat menonton I/O.
Jika memang membantu, kita bisa mencoba melakukan ini di masa mendatang. Jika tidak, mungkin saya akan terus membuat playlist untuk hiburan saja; lagi pula, saya akan mengelola semua daftar video, lebih baik saya juga mengetahui di mana tempat menonton yang asyik sambil makan popcorn di masa mendatang.
Jadi inilah dia, Playlist Android I/O 2019 saya, sudah dikategorikan. Beberapa sesi muncul beberapa kali, karena kontennya tumpang tindih dengan kategori lain atau saya tidak bisa memutuskan. Beberapa sesi memiliki keterangan ketika saya merasa hal itu dibutuhkan, tetapi sebagian besar sesi sudah memiliki judul yang jelas.
Playlist
Semua Sesi Google I/O 2019Bagi developer yang bukan hanya membahas tentang Android
Android & Play di Google I/O 2019Semua sesi Android
Keynote
Google Keynote
Secara internal, kami menyebutnya Consumer Keynote
Developer Keynote
Highlight developer untuk Android… dan yang lainnya
Ringkasan
Biasanya, Anda menginginkan detail teknis dan lebih mendalam, tetapi sesi ringkasan membantu menjelaskan Gambaran Umum tentang apa yang terjadi, dan ke mana harus mencari kepingan-kepingan terperinci itu.
What’s New in AndroidSaya coba untuk tidak melewatkan yang satu ini, terutama karena pembicara bersama ini akan sangat marah jika saya melakukannya.
Kami mencoba memberikan gambaran yang sangat luas tentang sebagian besar hal yang harus diperhatikan developer dalam platform dan library Jetpack, lengkap dengan link ke pembicaraan terkait dan sumber daya lainnya.
What’s New in Android Development Tools
Ada banyak sesi Fitur (di bawah), tetapi sesi ini memberikan ringkasan luas tentang fitur-fitur baru.
What’s New in Google Play
Berbagai perubahan kebijakan dan fitur distribusi, seperti update dalam aplikasi.
Jetpack
Jetpack menawarkan API kompatibilitas yang memungkinkan fungsionalitas baru bekerja pada rilis lama tanpa pemeriksaan API yang mengganggu, dan memperkenalkan library baru untuk pengembangan yang bekerja sampai API level 14. Sesi-sesi ini termasuk pembicaraan tentang komponen arsitektur dan library utilitas lainnya, bersama dengan panduan arsitektur Jetpack secara umum.
What’s New in Architecture ComponentsBegitu banyak hal yang terjadi dengan Komponen Arsitektur: Lifecycles, Room, Paging, Navigation, WorkManager, …. Sangatlah baik untuk memiliki ringkasan guna meluruskan berbagai hal, terutama untuk beberapa bagian yang tidak tercakup dalam sesi khusus.
Android Jetpack: Understand the CameraX Camera-Support Library
CameraX adalah library baru (saat ini dalam versi alfa) untuk membuat pengembangan aplikasi kamera jauh lebih mudah, dan bekerja secara konsisten hingga versi Lollipop.
Jetpack Navigation
Navigation masuk versi 1.0 tahun ini; ini adalah ringkasan bagus untuk penggunaan API dan fitur.
Build a Modular Android App Architecture
Sesi ini tidak dikhususkan untuk Jetpack atau Komponen Arsitektur, tetapi lebih merupakan panduan untuk arsitektur aplikasi android modern (menggunakan beberapa bagian yang disediakan oleh Jetpack).
Improving App Performance with Benchmarking
Benchmarking adalah library Jetpack baru yang bisa Anda gunakan untuk membantu menguji dan meningkatkan kinerja dalam aplikasi.
Fitur (AndroidStudio)
IDE adalah garis depan pengembangan. Sesi-sesi ini berbicara tentang peningkatan fitur Android serta cara Anda bisa meningkatkan penggunaan fitur-fitur yang ditawarkan oleh alat tersebut.
What’s New in Android Development Tools
What’s New in Constraint Layout
What’s New in Android Studio UI Design and Debugging Tools
Build Bigger, Better: Gradle for Large Projects
Android Studio: Tips and Tricks
What’s New in the Android Studio Build System
Best Practices in Using the Android Emulator
Kotlin
Android mengumumkan Kotlin sebagai bahasa yang didukung dua tahun lalu dan kami meningkatkan investasi dalam API dan pelatihan Kotlin; mungkin sekaranglah saat yang tepat untuk memeriksa bahasa baru ini dan melihat cara kerjanya.
What’s New in Kotlin on Android, 2 Years In
Understand Kotlin Coroutines on Android
Kotlin Under the Hood: Understand the Internals
Tidak begitu banyak membahas cara menggunakan bahasa, melainkan membahas cara kerja beberapa fitur ajaib bahasa, dan kapan Anda harus (atau tidak seharusnya) menggunakannya.
UI
Pengembangan UI di Android mencakup semuanya, mulai dari API UI Toolkit hingga UI Sistem hingga library pengembangan baru yang bertujuan untuk menyederhanakan pengembangan aplikasi.
Declarative UI Patterns
Presentasi ini adalah tentang paradigma deklaratif pemrograman UI yang digunakan oleh Jetpack Compose, API untuk pemrograman UI Android.
Motional Intelligence: Build Smarter Animations
What’s New in the Android OS User Interface
Detail tentang fitur UI Sistem seperti Balon dan notifikasi.
Dark Theme & Gesture Navigation
Best Practices for Using Text in Android
Platform
Pembicaraan ini adalah tentang perubahan atau fungsionalitas dalam platform inti Android, termasuk framework API, Android runtime (ART), NDK, dan media. Ada beberapa perubahan penting terkait privasi dalam rilis pratinjau Q; perubahan-perubahan tersebut tercakup dalam tiga sesi platform yang berbeda.
Overview of Privacy Changes in Android Q
Updating Your Apps for Location Permission Changes in Android Q
Perubahan terkait privasi
What’s New in Shared Storage
Perubahan terkait privasi
Understanding Android Runtime (ART) for Faster Apps
Security on Android: What’s Next
Sonic Boom! Audio Programming on Android and Chrome
What’s New in Android C++ DevelopmentDengarkan tentang penyempurnaan NDK.
Android Memory and Games
Manajemen memori bukanlah hal mudah untuk game; sesi ini berbicara tentang cara kerja memori Android dan fitur yang kami tawarkan untuk membantu.
Android Fireside Chat
Tanya jawab terbuka tentang berbagai topik dalam pengembangan, platform, dan ekosistem Android.
Aksesibilitas
Dengan begitu banyak pembicaraan tahun ini tentang aksesibilitas, sebuah fitur platform inti, mereka mendapatkan kategori sendiri di luar Platform.
What’s New in Android Accessibility
Demystifying Android Accessibility Development
Accessible Audio: Android Hearing Aid Support and the Audio Framework
Chrome OS Accessibility for Android Developers
Play
Pembicaraan ini membahas tentang fitur, API, dan fungsionalitas Google Play Store, yang bisa digunakan untuk melakukan distribusi aplikasi Anda dengan lebih baik.
What’s New in Google Play
Berbagai perubahan kebijakan dan fitur distribusi, seperti update dalam aplikasi.
Improve Your App and Game Quality with Android Vitals
Customizable Delivery with the App Bundle and Easy Sharing of Test Builds
New Tools to Optimize Your App’s Size and Boost Installs on Google Play
App Growth Best Practices and Decision-Making with the Google Play Console
What’s New with Google Play Billing
Unleash the Power of Play Store Discovery
Faktor Bentuk Lainnya (non-Ponsel)
Android tidak hanya terdapat di ponsel. Bagaimana dengan laptop (Chrome OS)? TV? Mobil? ….
What’s New with Android for CarsInformasi terbaru tentang Android Auto
How to Build Android Apps for Cars
Best Practices for Developing on Android TV
Build Apps for Foldable, Multi-Display, and Large-Screen Devices
Building Android Apps for the Chrome OS Ecosystem
Chrome OS Accessibility for Android Developers
Game
Ada berbagai pembicaraan terkait game dan pengembangan game. Beberapa di antaranya masuk ke topik kinerja umum Android, beberapa di antaranya masuk khusus ke masalah game.
Android Memory and Games
Manajemen memori bukanlah hal mudah untuk game; sesi ini berbicara tentang cara kerja memori Android dan fitur yang kami tawarkan untuk membantu.
Making High Fidelity Android Games Possible with Vulkan
Optimizing Android Games Performance
Adapting Android Games Beyond the Phone
Menghadirkan game ke berbagai faktor bentuk, seperti ChromeOS dan Android TV.
The State of Unity on Android
Large Scale Multiplayer Gaming with Open Source
From Systrace to Safetynet: Android Game Development Case Studies
Lainnya
Ini adalah bucket “lain-lain” saya, yang mencakup sesi yang agak susah dimasukkan ke dalam kategori lain, mungkin karena mereka adalah satu-satunya sesi dalam suatu kategori (seperti Pengujian, atau ML).
Add Serverless Functionality to Android Apps with Firebase
Best Practices for Using Sign-In for Android Apps
Improve Digital Wellbeing: Google’s Approach and Tips for Developers
What’s New in Android Machine Learning
ML Kit, TensorFlow… dengarkan semua yang terjadi dengan hal-hal terkait ML ini.
Build Apps for the Next Billion Users
Build Testable Apps for Android
Android Emergency Location Service: Locating Emergency Calls in a Wireless World
Sudah selesai, itu semuanya. Tentu saja ada sangat banyak konten developer Android hebat lain yang bisa dilihat. Namun bila sesi Android Google I/O adalah hal yang Anda cari, inilah jawabannya. Jadi silakan nikmati popcorn Anda dan tonton beberapa pembicaraan developer via streaming.

Google I/O 2019
Salah satu hal paling menakjubkan tentang Google I/O adalah livestream/video dari acara ini. Sangat menyenangkan jika Anda bisa hadir langsung di acara ini, terutama karena kami dapat berbicara dengan Anda untuk mengetahui masalah atau pertanyaan yang Anda miliki. Tetapi tidak semua orang bisa mendapatkan tiket, bepergian, atau meninggalkan pekerjaan coding mereka. Jadi kami menyiarkan streaming langsung hampir semua konten dan memublikasikan rekaman semua sesi teknis untuk memastikan bahwa semua orang di mana saja bisa melihat presentasi dan mendapatkan highlight konferensi dan kondisi Android terkini.
Dalam beberapa tahun terakhir, tim produksi telah melakukan tugasnya dengan sangat baik sehingga video dapat langsung diposting segera setelah pembicaraan selesai. Dalam waktu dekat, mereka akan memposting rekaman lebih cepat dari presentasi yang sebenarnya, sehingga akan sangat membantu pembicara.
Namun masalah yang saya temukan dengan banyak konten video adalah... ada begitu banyak konten video. Jika saya tidak tahu persis apa yang saya cari di berbagai playlist YouTube, ini akan memakan waktu cukup lama untuk ditemukan, atau saya mungkin menyerah dan kembali menonton video kucing. (Mereka sangat imut, benar kan?)
Jadi saya pikir tahun ini saya akan mencoba mengelola playlist untuk developer Android, untuk mencoba mengategorikan apa yang kami sampaikan di konferensi untuk membantu Anda menemukan hal-hal yang mungkin ingin Anda tonton, dan menautkan konten terkait lainnya jika diperlukan. Mungkin saya terlambat masuk ke permainan ini, dengan I/O sudah dua bulan berlalu, tetapi mudah-mudahan hal ini masih berguna bagi penunda (atau bahkan penunda amatir) di antara Anda yang belum sempat menonton I/O.
Jika memang membantu, kita bisa mencoba melakukan ini di masa mendatang. Jika tidak, mungkin saya akan terus membuat playlist untuk hiburan saja; lagi pula, saya akan mengelola semua daftar video, lebih baik saya juga mengetahui di mana tempat menonton yang asyik sambil makan popcorn di masa mendatang.
Jadi inilah dia, Playlist Android I/O 2019 saya, sudah dikategorikan. Beberapa sesi muncul beberapa kali, karena kontennya tumpang tindih dengan kategori lain atau saya tidak bisa memutuskan. Beberapa sesi memiliki keterangan ketika saya merasa hal itu dibutuhkan, tetapi sebagian besar sesi sudah memiliki judul yang jelas.
Playlist
Semua Sesi Google I/O 2019Bagi developer yang bukan hanya membahas tentang Android
Android & Play di Google I/O 2019Semua sesi Android
Keynote
Google Keynote
Secara internal, kami menyebutnya Consumer Keynote
Developer Keynote
Highlight developer untuk Android… dan yang lainnya
Ringkasan
Biasanya, Anda menginginkan detail teknis dan lebih mendalam, tetapi sesi ringkasan membantu menjelaskan Gambaran Umum tentang apa yang terjadi, dan ke mana harus mencari kepingan-kepingan terperinci itu.
What’s New in AndroidSaya coba untuk tidak melewatkan yang satu ini, terutama karena pembicara bersama ini akan sangat marah jika saya melakukannya.
Kami mencoba memberikan gambaran yang sangat luas tentang sebagian besar hal yang harus diperhatikan developer dalam platform dan library Jetpack, lengkap dengan link ke pembicaraan terkait dan sumber daya lainnya.
What’s New in Android Development Tools
Ada banyak sesi Fitur (di bawah), tetapi sesi ini memberikan ringkasan luas tentang fitur-fitur baru.
What’s New in Google Play
Berbagai perubahan kebijakan dan fitur distribusi, seperti update dalam aplikasi.
Jetpack
Jetpack menawarkan API kompatibilitas yang memungkinkan fungsionalitas baru bekerja pada rilis lama tanpa pemeriksaan API yang mengganggu, dan memperkenalkan library baru untuk pengembangan yang bekerja sampai API level 14. Sesi-sesi ini termasuk pembicaraan tentang komponen arsitektur dan library utilitas lainnya, bersama dengan panduan arsitektur Jetpack secara umum.
What’s New in Architecture ComponentsBegitu banyak hal yang terjadi dengan Komponen Arsitektur: Lifecycles, Room, Paging, Navigation, WorkManager, …. Sangatlah baik untuk memiliki ringkasan guna meluruskan berbagai hal, terutama untuk beberapa bagian yang tidak tercakup dalam sesi khusus.
Android Jetpack: Understand the CameraX Camera-Support Library
CameraX adalah library baru (saat ini dalam versi alfa) untuk membuat pengembangan aplikasi kamera jauh lebih mudah, dan bekerja secara konsisten hingga versi Lollipop.
Jetpack Navigation
Navigation masuk versi 1.0 tahun ini; ini adalah ringkasan bagus untuk penggunaan API dan fitur.
Build a Modular Android App Architecture
Sesi ini tidak dikhususkan untuk Jetpack atau Komponen Arsitektur, tetapi lebih merupakan panduan untuk arsitektur aplikasi android modern (menggunakan beberapa bagian yang disediakan oleh Jetpack).
Improving App Performance with Benchmarking
Benchmarking adalah library Jetpack baru yang bisa Anda gunakan untuk membantu menguji dan meningkatkan kinerja dalam aplikasi.
Fitur (AndroidStudio)
IDE adalah garis depan pengembangan. Sesi-sesi ini berbicara tentang peningkatan fitur Android serta cara Anda bisa meningkatkan penggunaan fitur-fitur yang ditawarkan oleh alat tersebut.
What’s New in Android Development Tools
What’s New in Constraint Layout
What’s New in Android Studio UI Design and Debugging Tools
Build Bigger, Better: Gradle for Large Projects
Android Studio: Tips and Tricks
What’s New in the Android Studio Build System
Best Practices in Using the Android Emulator
Kotlin
Android mengumumkan Kotlin sebagai bahasa yang didukung dua tahun lalu dan kami meningkatkan investasi dalam API dan pelatihan Kotlin; mungkin sekaranglah saat yang tepat untuk memeriksa bahasa baru ini dan melihat cara kerjanya.
What’s New in Kotlin on Android, 2 Years In
Understand Kotlin Coroutines on Android
Kotlin Under the Hood: Understand the Internals
Tidak begitu banyak membahas cara menggunakan bahasa, melainkan membahas cara kerja beberapa fitur ajaib bahasa, dan kapan Anda harus (atau tidak seharusnya) menggunakannya.
UI
Pengembangan UI di Android mencakup semuanya, mulai dari API UI Toolkit hingga UI Sistem hingga library pengembangan baru yang bertujuan untuk menyederhanakan pengembangan aplikasi.
Declarative UI Patterns
Presentasi ini adalah tentang paradigma deklaratif pemrograman UI yang digunakan oleh Jetpack Compose, API untuk pemrograman UI Android.
Motional Intelligence: Build Smarter Animations
What’s New in the Android OS User Interface
Detail tentang fitur UI Sistem seperti Balon dan notifikasi.
Dark Theme & Gesture Navigation
Best Practices for Using Text in Android
Platform
Pembicaraan ini adalah tentang perubahan atau fungsionalitas dalam platform inti Android, termasuk framework API, Android runtime (ART), NDK, dan media. Ada beberapa perubahan penting terkait privasi dalam rilis pratinjau Q; perubahan-perubahan tersebut tercakup dalam tiga sesi platform yang berbeda.
Overview of Privacy Changes in Android Q
Updating Your Apps for Location Permission Changes in Android Q
Perubahan terkait privasi
What’s New in Shared Storage
Perubahan terkait privasi
Understanding Android Runtime (ART) for Faster Apps
Security on Android: What’s Next
Sonic Boom! Audio Programming on Android and Chrome
What’s New in Android C++ DevelopmentDengarkan tentang penyempurnaan NDK.
Android Memory and Games
Manajemen memori bukanlah hal mudah untuk game; sesi ini berbicara tentang cara kerja memori Android dan fitur yang kami tawarkan untuk membantu.
Android Fireside Chat
Tanya jawab terbuka tentang berbagai topik dalam pengembangan, platform, dan ekosistem Android.
Aksesibilitas
Dengan begitu banyak pembicaraan tahun ini tentang aksesibilitas, sebuah fitur platform inti, mereka mendapatkan kategori sendiri di luar Platform.
What’s New in Android Accessibility
Demystifying Android Accessibility Development
Accessible Audio: Android Hearing Aid Support and the Audio Framework
Chrome OS Accessibility for Android Developers
Play
Pembicaraan ini membahas tentang fitur, API, dan fungsionalitas Google Play Store, yang bisa digunakan untuk melakukan distribusi aplikasi Anda dengan lebih baik.
What’s New in Google Play
Berbagai perubahan kebijakan dan fitur distribusi, seperti update dalam aplikasi.
Improve Your App and Game Quality with Android Vitals
Customizable Delivery with the App Bundle and Easy Sharing of Test Builds
New Tools to Optimize Your App’s Size and Boost Installs on Google Play
App Growth Best Practices and Decision-Making with the Google Play Console
What’s New with Google Play Billing
Unleash the Power of Play Store Discovery
Faktor Bentuk Lainnya (non-Ponsel)
Android tidak hanya terdapat di ponsel. Bagaimana dengan laptop (Chrome OS)? TV? Mobil? ….
What’s New with Android for CarsInformasi terbaru tentang Android Auto
How to Build Android Apps for Cars
Best Practices for Developing on Android TV
Build Apps for Foldable, Multi-Display, and Large-Screen Devices
Building Android Apps for the Chrome OS Ecosystem
Chrome OS Accessibility for Android Developers
Game
Ada berbagai pembicaraan terkait game dan pengembangan game. Beberapa di antaranya masuk ke topik kinerja umum Android, beberapa di antaranya masuk khusus ke masalah game.
Android Memory and Games
Manajemen memori bukanlah hal mudah untuk game; sesi ini berbicara tentang cara kerja memori Android dan fitur yang kami tawarkan untuk membantu.
Making High Fidelity Android Games Possible with Vulkan
Optimizing Android Games Performance
Adapting Android Games Beyond the Phone
Menghadirkan game ke berbagai faktor bentuk, seperti ChromeOS dan Android TV.
The State of Unity on Android
Large Scale Multiplayer Gaming with Open Source
From Systrace to Safetynet: Android Game Development Case Studies
Lainnya
Ini adalah bucket “lain-lain” saya, yang mencakup sesi yang agak susah dimasukkan ke dalam kategori lain, mungkin karena mereka adalah satu-satunya sesi dalam suatu kategori (seperti Pengujian, atau ML).
Add Serverless Functionality to Android Apps with Firebase
Best Practices for Using Sign-In for Android Apps
Improve Digital Wellbeing: Google’s Approach and Tips for Developers
What’s New in Android Machine Learning
ML Kit, TensorFlow… dengarkan semua yang terjadi dengan hal-hal terkait ML ini.
Build Apps for the Next Billion Users
Build Testable Apps for Android
Android Emergency Location Service: Locating Emergency Calls in a Wireless World
Sudah selesai, itu semuanya. Tentu saja ada sangat banyak konten developer Android hebat lain yang bisa dilihat. Namun bila sesi Android Google I/O adalah hal yang Anda cari, inilah jawabannya. Jadi silakan nikmati popcorn Anda dan tonton beberapa pembicaraan developer via streaming.

Google
Labels: android
5 pertanyaan umum tentang Google Cloud Anthos
15 July 2019
Pada bulan April, kami memperkenalkan Anthos, platform multi-cloud dan hybrid baru Google Cloud yang memungkinkan Anda membangun dan mengelola aplikasi hybrid modern di seluruh lingkungan. Didukung oleh Kubernetes dan teknologi open-source lainnya, Anthos adalah satu-satunya platform hybrid berbasis software yang tersedia saat ini yang memungkinkan Anda menjalankan aplikasi tanpa memerlukan perubahan pada hardware lokal yang sudah ada atau di cloud publik. Dan dengan tumpukan teknologi yang menyederhanakan segalanya mulai dari migrasi, keamanan hingga operasi platform, Anthos memudahkan percepatan pengiriman dan pengembangan aplikasi.
Kehadiran Anthos telah menimbulkan banyak pertanyaan dari perusahaan yang ingin mendekat ke cloud. Inilah lima pertanyaan umum tentang Anthos.
1. Bagaimana saya memulai Anthos?
Salah satu keputusan terbesar yang diambil perusahaan adalah apakah akan melakukan migrasi atau memodernisasi beban kerja mereka saat ini. Karena kedua proses ini rumit, memakan waktu, dan membutuhkan banyak tenaga, mungkin mereka harus memilih salah satunya.
Jika Anda menerapkan di atas Google Cloud Platform (GCP), Anda bisa memulai Anthos hanya dengan membuat kluster GKE baru dengan Istio diaktifkan dalam project Anda. Jika menerapkan secara lokal, download dan instal GKE On-Prem, dan daftarkan dengan akun GCP Anda. Setelah terdaftar, Anda bisa mengelola kluster GKE On-Prem seperti halnya kluster GKE yang sudah ada, serta menggabungkan layanan sebagai bagian dari jaringan layanan Istio untuk mendapatkan pengawasan dan jaminan keamanan.
Selain itu, dengan Migrate for Anthos versi beta mendatang, Anda bisa mengambil VM dari lingkungan lokal, Compute Engine, atau cloud lainnya dan secara otomatis mengubahnya menjadi container yang berjalan di Google Kubernetes Engine (GKE). Ia melakukan migrasi beban kerja stateful, dan secara otomatis mengubah beban kerja tersebut untuk dijalankan sebagai container di pod GKE. Setelah Anda melakukan migrasi dan mengupgrade aplikasi ke dalam container, Anda bisa memodernisasi lebih lanjut dengan layanan tambahan seperti service mesh, Stackdriver Logging dan Monitoring, serta solusi lain untuk aplikasi Kubernetes di GCP Marketplace.
2. Bagaimana Anthos membantu mengamankan lingkungan saya?
Anthos secara mulus mengintegrasikan keamanan ke dalam setiap tahap siklus hidup aplikasi: mulai dari pengembangan, pembangunan, hingga dijalankan. Praktik terbaik keamanan diterapkan sebagai konfigurasi dan setelan default—menonaktifkan dasbor Kubernetes adalah salah satu contohnya1. Kami memvalidasi dan menguji versi Kubernetes yang sesuai, dan menyediakan manajemen patch dan respons insiden. Layanan aplikasi Anda terlindungi dalam lingkungan tanpa penjagaan dengan komunikasi layanan-ke-layanan terautentikasi dan terenkripsi menggunakan mTLS2.
Anthos juga memberikan satu titik terpusat untuk menerapkan kebijakan di seluruh perangkat, baik di lokal maupun cloud. Sebagai admin keamanan, Anda bisa mengizinkan developer mengembangkan, mengetahui kebijakan Anda diterapkan. Anda mengontrol akses berdasarkan kebijakan dan peran, bukan mesin, dengan manajemen konfigurasi terpusat melalui Anthos Config Management, yang tiada henti memeriksa status kluster untuk perbedaan kebijakan seperti RBAC dan kuota sumber daya. Yang terakhir, dengan model kewajiban bersama antara Anda dan Google Cloud, Anthos membantu mengurangi beban pengelolaan patch dan melakukan respons insiden.
3. Bagaimana cara kerja Anthos di berbagai lingkungan?
Mencakup banyak lingkungan bisa menambah kompleksitas dalam hal manajemen sumber daya dan konsistensi. Anthos menyediakan model terpadu untuk komputasi, jaringan, bahkan manajemen layanan lintas cloud dan pusat data.
Konfigurasi sebagai kode adalah salah satu pendekatan untuk mengelola kompleksitas ini. Anthos menyediakan konfigurasi sebagai kode melalui Anthos Config Management, yang menerapkan Anthos Config Management Operator ke kluster GKE atau GKE On-Prem Anda, yang memungkinkan Anda memantau dan menerapkan setiap perubahan konfigurasi yang terdeteksi dalam repo Git.
Pendekatan manajemen konfigurasi real-time ini juga menyediakan tata kelola terpusat, menyesuaikan kondisi yang diinginkan dengan sumber daya aktual yang berjalan di lingkungan lokal dan multi-cloud Anda. Selanjutnya, karena ia dibangun di atas set API yang konsisten berdasarkan teknologi open-source (seperti Kubernetes, Istio, dan Knative), developer dan operator hanya perlu mempelajari satu tumpukan yang berlaku untuk beberapa penyedia cloud.
Anthos memungkinkan peningkatan observabilitas, metrik, dan telemetri di seluruh lingkungan hybrid Anda, termasuk kemampuan untuk melakukan upgrade bebas-downtime, menerapkan rilis terbatas ke layanan, dan mengupgrade versi kluster Kubernetes.
4. Dapatkah Anthos mempercepat modernisasi aplikasi?
Agar tetap kompetitif, perusahaan harus bergerak lebih cepat dari sebelumnya untuk membangun aplikasi baru, menghasilkan nilai pembeda-bisnis, dan terus berinovasi. Namun developer banyak yang sibuk dan jumlahnya tidak banyak. Dengan Anthos, Anda bisa mengambil aplikasi yang sudah ada dan menerapkannya di mana saja—tanpa mengubah satu pun baris kode. Dari sana, Anthos memungkinkan Anda menentukan alur kerja khusus untuk membangun, menguji, dan menerapkan di berbagai lingkungan tersebut.
Anthos juga mempercepat modernisasi aplikasi dengan Cloud Run on GKE (saat ini dalam versi beta), yang secara otomatis menghadirkan keunggulan tanpa server seperti scale up, scale down dan eventing ke aplikasi Anda. Dibangun di atas Knative, Cloud Run menjalankan container HTTP stateless pada lingkungan yang terkelola sepenuhnya atau di kluster GKE Anda sendiri.
5. Vendor lain apa yang mendukung Anthos?
Kami telah mengembangkan jaringan mitra global untuk Anthos guna membantu Anda berinovasi lebih cepat, melakukan scaling lebih pintar, dan tetap aman. Kami memperluas integrasi teknologi dengan mitra kunci, meningkatkan jumlah mitra layanan, dan menggandakan open source untuk membuat pembangunan di Google Cloud menjadi lebih fleksibel dan terbuka. Kami bekerja sama erat dengan lebih dari 35 mitra hardware, software, dan integrasi sistem untuk memastikan Anda melihat seberapa penting nilai Anthos sedari awal. Cisco, VMware, Dell EMC, HPE, Intel, dan Lenovo telah berkomitmen untuk memberikan Anthos pada infrastruktur hyperconverged mereka, serta dengan lebih dari 20 penyedia software enterprise yang mengintegrasikan penawaran mereka dengan kemampuan unik Anthos.
Punya pertanyaan lain yang tidak terdapat di sini? Anda bisa mempelajari lebih lanjut dengan mengunjungi halaman landing Anthos, membaca dokumentasi, atau menonton sesi Spotlight ini dari Google Cloud Next 19.
1. Meningkatkan keamanan kluster Anda2. Encryption-in-transit

Pada bulan April, kami memperkenalkan Anthos, platform multi-cloud dan hybrid baru Google Cloud yang memungkinkan Anda membangun dan mengelola aplikasi hybrid modern di seluruh lingkungan. Didukung oleh Kubernetes dan teknologi open-source lainnya, Anthos adalah satu-satunya platform hybrid berbasis software yang tersedia saat ini yang memungkinkan Anda menjalankan aplikasi tanpa memerlukan perubahan pada hardware lokal yang sudah ada atau di cloud publik. Dan dengan tumpukan teknologi yang menyederhanakan segalanya mulai dari migrasi, keamanan hingga operasi platform, Anthos memudahkan percepatan pengiriman dan pengembangan aplikasi.
Kehadiran Anthos telah menimbulkan banyak pertanyaan dari perusahaan yang ingin mendekat ke cloud. Inilah lima pertanyaan umum tentang Anthos.
1. Bagaimana saya memulai Anthos?
Salah satu keputusan terbesar yang diambil perusahaan adalah apakah akan melakukan migrasi atau memodernisasi beban kerja mereka saat ini. Karena kedua proses ini rumit, memakan waktu, dan membutuhkan banyak tenaga, mungkin mereka harus memilih salah satunya.
Jika Anda menerapkan di atas Google Cloud Platform (GCP), Anda bisa memulai Anthos hanya dengan membuat kluster GKE baru dengan Istio diaktifkan dalam project Anda. Jika menerapkan secara lokal, download dan instal GKE On-Prem, dan daftarkan dengan akun GCP Anda. Setelah terdaftar, Anda bisa mengelola kluster GKE On-Prem seperti halnya kluster GKE yang sudah ada, serta menggabungkan layanan sebagai bagian dari jaringan layanan Istio untuk mendapatkan pengawasan dan jaminan keamanan.
Selain itu, dengan Migrate for Anthos versi beta mendatang, Anda bisa mengambil VM dari lingkungan lokal, Compute Engine, atau cloud lainnya dan secara otomatis mengubahnya menjadi container yang berjalan di Google Kubernetes Engine (GKE). Ia melakukan migrasi beban kerja stateful, dan secara otomatis mengubah beban kerja tersebut untuk dijalankan sebagai container di pod GKE. Setelah Anda melakukan migrasi dan mengupgrade aplikasi ke dalam container, Anda bisa memodernisasi lebih lanjut dengan layanan tambahan seperti service mesh, Stackdriver Logging dan Monitoring, serta solusi lain untuk aplikasi Kubernetes di GCP Marketplace.
2. Bagaimana Anthos membantu mengamankan lingkungan saya?
Anthos secara mulus mengintegrasikan keamanan ke dalam setiap tahap siklus hidup aplikasi: mulai dari pengembangan, pembangunan, hingga dijalankan. Praktik terbaik keamanan diterapkan sebagai konfigurasi dan setelan default—menonaktifkan dasbor Kubernetes adalah salah satu contohnya1. Kami memvalidasi dan menguji versi Kubernetes yang sesuai, dan menyediakan manajemen patch dan respons insiden. Layanan aplikasi Anda terlindungi dalam lingkungan tanpa penjagaan dengan komunikasi layanan-ke-layanan terautentikasi dan terenkripsi menggunakan mTLS2.
Anthos juga memberikan satu titik terpusat untuk menerapkan kebijakan di seluruh perangkat, baik di lokal maupun cloud. Sebagai admin keamanan, Anda bisa mengizinkan developer mengembangkan, mengetahui kebijakan Anda diterapkan. Anda mengontrol akses berdasarkan kebijakan dan peran, bukan mesin, dengan manajemen konfigurasi terpusat melalui Anthos Config Management, yang tiada henti memeriksa status kluster untuk perbedaan kebijakan seperti RBAC dan kuota sumber daya. Yang terakhir, dengan model kewajiban bersama antara Anda dan Google Cloud, Anthos membantu mengurangi beban pengelolaan patch dan melakukan respons insiden.
3. Bagaimana cara kerja Anthos di berbagai lingkungan?
Mencakup banyak lingkungan bisa menambah kompleksitas dalam hal manajemen sumber daya dan konsistensi. Anthos menyediakan model terpadu untuk komputasi, jaringan, bahkan manajemen layanan lintas cloud dan pusat data.
Konfigurasi sebagai kode adalah salah satu pendekatan untuk mengelola kompleksitas ini. Anthos menyediakan konfigurasi sebagai kode melalui Anthos Config Management, yang menerapkan Anthos Config Management Operator ke kluster GKE atau GKE On-Prem Anda, yang memungkinkan Anda memantau dan menerapkan setiap perubahan konfigurasi yang terdeteksi dalam repo Git.
Pendekatan manajemen konfigurasi real-time ini juga menyediakan tata kelola terpusat, menyesuaikan kondisi yang diinginkan dengan sumber daya aktual yang berjalan di lingkungan lokal dan multi-cloud Anda. Selanjutnya, karena ia dibangun di atas set API yang konsisten berdasarkan teknologi open-source (seperti Kubernetes, Istio, dan Knative), developer dan operator hanya perlu mempelajari satu tumpukan yang berlaku untuk beberapa penyedia cloud.
Anthos memungkinkan peningkatan observabilitas, metrik, dan telemetri di seluruh lingkungan hybrid Anda, termasuk kemampuan untuk melakukan upgrade bebas-downtime, menerapkan rilis terbatas ke layanan, dan mengupgrade versi kluster Kubernetes.
4. Dapatkah Anthos mempercepat modernisasi aplikasi?
Agar tetap kompetitif, perusahaan harus bergerak lebih cepat dari sebelumnya untuk membangun aplikasi baru, menghasilkan nilai pembeda-bisnis, dan terus berinovasi. Namun developer banyak yang sibuk dan jumlahnya tidak banyak. Dengan Anthos, Anda bisa mengambil aplikasi yang sudah ada dan menerapkannya di mana saja—tanpa mengubah satu pun baris kode. Dari sana, Anthos memungkinkan Anda menentukan alur kerja khusus untuk membangun, menguji, dan menerapkan di berbagai lingkungan tersebut.
Anthos juga mempercepat modernisasi aplikasi dengan Cloud Run on GKE (saat ini dalam versi beta), yang secara otomatis menghadirkan keunggulan tanpa server seperti scale up, scale down dan eventing ke aplikasi Anda. Dibangun di atas Knative, Cloud Run menjalankan container HTTP stateless pada lingkungan yang terkelola sepenuhnya atau di kluster GKE Anda sendiri.
5. Vendor lain apa yang mendukung Anthos?
Kami telah mengembangkan jaringan mitra global untuk Anthos guna membantu Anda berinovasi lebih cepat, melakukan scaling lebih pintar, dan tetap aman. Kami memperluas integrasi teknologi dengan mitra kunci, meningkatkan jumlah mitra layanan, dan menggandakan open source untuk membuat pembangunan di Google Cloud menjadi lebih fleksibel dan terbuka. Kami bekerja sama erat dengan lebih dari 35 mitra hardware, software, dan integrasi sistem untuk memastikan Anda melihat seberapa penting nilai Anthos sedari awal. Cisco, VMware, Dell EMC, HPE, Intel, dan Lenovo telah berkomitmen untuk memberikan Anthos pada infrastruktur hyperconverged mereka, serta dengan lebih dari 20 penyedia software enterprise yang mengintegrasikan penawaran mereka dengan kemampuan unik Anthos.
Punya pertanyaan lain yang tidak terdapat di sini? Anda bisa mempelajari lebih lanjut dengan mengunjungi halaman landing Anthos, membaca dokumentasi, atau menonton sesi Spotlight ini dari Google Cloud Next 19.
1. Meningkatkan keamanan kluster Anda2. Encryption-in-transit

Google
Labels: anthos , google cloud
Google I/O 2019: Memberdayakan developer untuk membangun pengalaman terbaik di Android + Play
04 July 2019
Ditulis oleh Chet Haase
Senang sekali bisa hadir kembali di Google I/O untuk bertemu para developer Android dari seluruh dunia. 7.200 orang hadir di Shoreline Amphitheatre, jutaan orang menonton melalui livestream, dan ribuan developer di acara I/O Extended lokal di lebih dari 80 negara sudah tahu tentang upaya kami memudahkan pekerjaan developer. Hari ini di Google I/O, kami berbicara tentang dua tema besar; membantu developer menjadi lebih produktif dan memperkuat privasi dan keamanan pengguna dalam platform ini. Mari perhatikan lebih dekat pada berita utama developer di I/O sejauh ini:
Produktivitas Developer
Tahun ini, kami berfokus pada ide sederhana - kami ingin mengefisienkan waktu Anda setiap hari. Dengan membuat semua yang Anda gunakan menjadi lebih baik.
Kotlin
Dua tahun lalu, kami mengumumkan bahwa Kotlin adalah bahasa yang didukung untuk Android. Developer terbaik kami menyukainya, dan sejak saat itu, Kotlin tumbuh luar biasa cepat. Lebih dari 50% developer Android profesional sekarang menggunakan Kotlin, ini adalah salah satu bahasa yang paling disukai selama dua tahun berturut-turut di Stack Overflow, dan menjadi salah satu bahasa yang paling cepat perkembangannya di GitHub dalam hal jumlah kontributor.
Hari ini kami mengumumkan langkah besar lainnya: Pengembangan Android akan semakin berfokus pada Kotlin. Banyak fitur dan Jetpack API baru akan ditawarkan terlebih dahulu di Kotlin. Jika Anda memulai project baru, sebaiknya Anda menulisnya dengan Kotlin; kode yang ditulis dalam Kotlin sering kali berarti kode yang jauh lebih sedikit–lebih sedikit kode yang perlu diketik, diuji, dan dijaga. Dan, dalam kemitraan dengan Jetbrains dan Kotlin Foundation, kami terus berinvestasi dalam peralatan, dokumentasi, pelatihan, dan acara agar Kotlin lebih mudah dipelajari dan digunakan. Ini termasuk Kotlin/Everywhere, rangkaian acara global baru di mana Anda bisa mempelajari lebih lanjut tentang bahasa ini, kursus Udacity baru, dan banyak lagi.
Android Jetpack
Tahun lalu, kami mengumumkan Android Jetpack, API Android untuk mempercepat pengembangan Android dan membuat penulisan aplikasi berkualitas tinggi menjadi semakin mudah, dengan kode yang lebih sedikit. Lebih dari 80% dari 1.000 aplikasi teratas kami sudah menggunakan Jetpack, seiring kami terus memangkas hambatan yang dihadapi developer setiap hari. Hari ini, kami merilis 6 library Jetpack baru (versi alfa), dan menghadirkan 5 library ke kualitas versi beta. Berikut adalah 3 sorotannya:
CameraX - Anda memberi tahu kami bahwa bekerja secara efektif di berbagai perangkat Android yang unik itu sulit. CameraX adalah library Android Jetpack open-source baru untuk mempermudah dan mempercepat pengembangan kamera. CameraX memberikan pengalaman kamera yang konsisten di seluruh perangkat, sehingga Anda tidak perlu lagi mempertahankan konfigurasi khusus perangkat. Anda akan menemukan dukungan untuk fitur hardware dan software termutakhir seperti zoom optik, bokeh, HDR, dan mode malam di perangkat pabrikan yang mendukung. CameraX bekerja pada hampir 90% perangkat (kompatibel hingga L). Terdapat juga jalur migrasi yang mudah dari Camera API lama dan ia berfungsi secara mulus dengan camera2 API. 70% penggunaan kamera di Android berasal dari aplikasi terinstal (bukan aplikasi kamera perangkat) sehingga kami sangat bersemangat untuk membuat pengembangan kamera semakin mudah.
Komponen Arsitektur - Kami telah membuat sejumlah penambahan dan penyempurnaan berdasarkan masukan Anda. Anda telah memberi tahu kami bahwa keserentakan di Android adalah hal yang sulit. Jadi, kami memberikan Anda LiveData dan Lifecycles bersama dengan coroutine untuk mendukung operasi tidak bersamaan satu-kali yang biasa. Dengan modul ViewModel dengan SavedState, Anda bisa menghilangkan kode boilerplate dan mendapatkan keuntungan penggunaan ViewModel dan SavedState dengan API sederhana untuk menyimpan dan mengambil data secara langsung dari ViewModel Anda. Dan jika Anda melewatkannya, kami mengumumkan rilis stabil WorkManager (pemrosesan latar belakang) dan Navigation (navigasi antar layar aplikasi) beberapa bulan yang lalu.
Jetpack Compose - Banyak dari Anda meminta toolkit UI model reaktif modern untuk Android kepada kami, yang bisa memanfaatkan keunggulan Kotlin dan terintegrasi secara mulus dengan platform dan semua kode Anda. Hari ini, kami membagikan hasil kerja tim di Jetpack Compose. Jetpack Compose dirancang untuk menyederhanakan pengembangan UI dengan menggabungkan model pemrograman reaktif dengan keringkasan dan kemudahan penggunaan Kotlin. Jetpack Compose kompatibel dengan toolkit UI yang sudah ada, sehingga Anda bisa mencampur dan mencocokkan tampilan dengan akses langsung ke semua API Jetpack dan Android. Ia juga sepenuhnya deklaratif untuk mendefinisikan komponen UI. Dan, ia dirancang dengan mempertimbangkan Material, animasi, dan fitur sedari awal. Mulai hari ini, kami mengembangkannya secara terbuka, dan Anda bisa menemukan semua kodenya di AOSP.
Android Studio
Hari ini kami merilis Android Studio 3.5 ke versi Beta. Selama berbulan-bulan, tim kami secara khusus berfokus pada pemurnian dan pemolesan alur kerja pengembangan setiap harinya, dengan Project Marble. Android Studio 3.5 mencakup manajemen memori IDE yang lebih baik untuk project besar, latensi pengetikan yang lebih rendah, peningkatan lint, optimalisasi penggunaan CPU, peningkatan editor layout, peningkatan emulator, perubahan build, serta penulisan ulang Instant Run secara penuh, yang sekarang disebut Apply Changes, yang sekarang mampu mempercepat kemampuan untuk melihat perubahan kode pada perangkat secara andal - ditambah lebih dari 400 perbaikan bug berprioritas tinggi.
Machine Learning berskala Android
Di Android Q, kami telah membuat peningkatan signifikan untuk Android Neural Networks API (NNAPI). Pertama, kami telah meningkatkan jumlah Operator yang didukung dari 38 menjadi lebih dari 90. Sebagian besar model sekarang bisa dipercepat oleh NNAPI tanpa memerlukan perubahan. Kami juga memperkenalkan introspection API untuk pengguna lanjutan, yang memungkinkan kontrol penuh atas komponen hardware mana yang menangani akselerasi (mis. DSP vs. NPU). Dan, kami bekerja sama secara intens dengan vendor hardware untuk menghadirkan peningkatan kinerja yang signifikan, baik dalam latensi maupun konsumsi daya. Bekerja sama dengan MediaTek, kami bisa mempercepat API deteksi wajah ML Kit sebesar 9X di Helio P90. Bekerja sama dengan Qualcomm, kami bisa mempercepat Google Lens OCR pada AI Engine Snapdragon 855, dan meningkatkan kecepatan 3X selagi mengurangi konsumsi daya sebesar 3,7X.
Fitur dinamis dan update dalam aplikasi
Tahun lalu kami memperkenalkan Android App Bundle untuk membantu Anda mengurangi ukuran aplikasi dan meningkatkan penginstalan. Sejak itu, kami telah melihat lebih dari 80.000 paket aplikasi yang diproduksi, dengan pengurangan ukuran rata-rata 20%. Dan hari ini, kami memiliki sejumlah pengumuman untuk membantu Anda mengurangi ukuran dan mengirimkan update kepada pengguna dengan lebih cepat. Hari ini, kami senang bisa menginformasikan bahwa modul fitur dinamis beralih dari versi beta ke stabil. Dengan modul fitur dinamis, Anda bisa mengurangi ukuran aplikasi lebih banyak lagi dengan memilih bagian dari aplikasi yang akan dikirim - berdasarkan kondisi seperti fitur perangkat dan negara. Anda bahkan bisa mengirimkan modul sesuai permintaan, sebagai ganti pada saat penginstalan. Dan hari ini, kami juga memindahkan update dalam aplikasi dari versi beta ke stabil. Kemampuan untuk mengupdate aplikasi secara dinamis adalah sesuatu yang sudah lama Anda minta. Katakanlah Anda memiliki bug penting dalam aplikasi, dan Anda harus segera memperbaikinya; Anda tentunya tidak ingin menunggu sampai pengguna menemukan update di Play Store. Sekarang Anda bisa.
Privasi dan keamanan pengguna di Android Q
Sebagai komunitas developer, kita semua memiliki kewajiban untuk melakukannya dengan benar. Ini tentang membangun platform yang menawarkan kapabilitas kuat bagi developer, sembari memastikan bahwa keamanan dan privasi pengguna terlindungi. Kami memperkenalkan Android Q Beta beberapa bulan lalu dengan lebih dari 50 fitur dan peningkatan di seputar privasi dan keamanan pengguna. Perubahan Q ini memberikan pengguna lebih banyak transparansi dan kontrol.
Seperti biasa, kami selalu bekerja keras untuk melakukan segala yang kami bisa agar developer mengadopsi rilis baru. Kami tahu Anda memiliki fitur sendiri yang akan dibangun. Itulah sebabnya, dengan perubahan Q ini, kami bekerja sangat keras untuk meminimalkan dampaknya bagi Anda, serta menerapkan masukan Anda. Kami memberikan periode pemberitahuan selama mungkin, serta informasi teknis yang lengkap dan terperinci di muka, untuk membuatnya semudah mungkin diadopsi. Kami juga ingin mengucapkan terima kasih kepada komunitas atas masukan Anda yang tanpa henti. Ini merupakan bantuan besar bagi tim yang terus bekerja keras agar semuanya bisa berjalan dengan baik. Salah satu contohnya adalah perubahan penyimpanan Beta 3, di mana masukan Anda membantu kami mengembangkan fitur ini selama versi Beta. Android memiliki komitmen jangka panjang untuk meminimalkan semua perubahan yang memecah. Komitmen kami tidak berubah, dan kami akan terus bekerja keras untuk menjaga Android tetap berplatform terbuka, fleksibel, dan ramah developer seperti yang selama ini kita cintai.
Google I/O!
Kami memiliki banyak konten hebat di toko untuk Anda selama tiga hari ke depan, termasuk lebih dari 45 sesi Android. Kami sangat senang Anda bisa bergabung dengan kami secara langsung di Shoreline, di acara I/O Extended, atau online melalui livestream. Kami terus berinvestasi dalam platform kami yang menghubungkan developer dengan miliaran pengguna di seluruh dunia. Kepada seluruh komunitas Android, terima kasih atas dukungan dan masukan Anda yang tanpa henti, dan terima kasih telah menjadi bagian dari Android.

Ditulis oleh Chet Haase
Senang sekali bisa hadir kembali di Google I/O untuk bertemu para developer Android dari seluruh dunia. 7.200 orang hadir di Shoreline Amphitheatre, jutaan orang menonton melalui livestream, dan ribuan developer di acara I/O Extended lokal di lebih dari 80 negara sudah tahu tentang upaya kami memudahkan pekerjaan developer. Hari ini di Google I/O, kami berbicara tentang dua tema besar; membantu developer menjadi lebih produktif dan memperkuat privasi dan keamanan pengguna dalam platform ini. Mari perhatikan lebih dekat pada berita utama developer di I/O sejauh ini:
Produktivitas Developer
Tahun ini, kami berfokus pada ide sederhana - kami ingin mengefisienkan waktu Anda setiap hari. Dengan membuat semua yang Anda gunakan menjadi lebih baik.
Kotlin
Dua tahun lalu, kami mengumumkan bahwa Kotlin adalah bahasa yang didukung untuk Android. Developer terbaik kami menyukainya, dan sejak saat itu, Kotlin tumbuh luar biasa cepat. Lebih dari 50% developer Android profesional sekarang menggunakan Kotlin, ini adalah salah satu bahasa yang paling disukai selama dua tahun berturut-turut di Stack Overflow, dan menjadi salah satu bahasa yang paling cepat perkembangannya di GitHub dalam hal jumlah kontributor.
Hari ini kami mengumumkan langkah besar lainnya: Pengembangan Android akan semakin berfokus pada Kotlin. Banyak fitur dan Jetpack API baru akan ditawarkan terlebih dahulu di Kotlin. Jika Anda memulai project baru, sebaiknya Anda menulisnya dengan Kotlin; kode yang ditulis dalam Kotlin sering kali berarti kode yang jauh lebih sedikit–lebih sedikit kode yang perlu diketik, diuji, dan dijaga. Dan, dalam kemitraan dengan Jetbrains dan Kotlin Foundation, kami terus berinvestasi dalam peralatan, dokumentasi, pelatihan, dan acara agar Kotlin lebih mudah dipelajari dan digunakan. Ini termasuk Kotlin/Everywhere, rangkaian acara global baru di mana Anda bisa mempelajari lebih lanjut tentang bahasa ini, kursus Udacity baru, dan banyak lagi.
Android Jetpack
Tahun lalu, kami mengumumkan Android Jetpack, API Android untuk mempercepat pengembangan Android dan membuat penulisan aplikasi berkualitas tinggi menjadi semakin mudah, dengan kode yang lebih sedikit. Lebih dari 80% dari 1.000 aplikasi teratas kami sudah menggunakan Jetpack, seiring kami terus memangkas hambatan yang dihadapi developer setiap hari. Hari ini, kami merilis 6 library Jetpack baru (versi alfa), dan menghadirkan 5 library ke kualitas versi beta. Berikut adalah 3 sorotannya:
CameraX - Anda memberi tahu kami bahwa bekerja secara efektif di berbagai perangkat Android yang unik itu sulit. CameraX adalah library Android Jetpack open-source baru untuk mempermudah dan mempercepat pengembangan kamera. CameraX memberikan pengalaman kamera yang konsisten di seluruh perangkat, sehingga Anda tidak perlu lagi mempertahankan konfigurasi khusus perangkat. Anda akan menemukan dukungan untuk fitur hardware dan software termutakhir seperti zoom optik, bokeh, HDR, dan mode malam di perangkat pabrikan yang mendukung. CameraX bekerja pada hampir 90% perangkat (kompatibel hingga L). Terdapat juga jalur migrasi yang mudah dari Camera API lama dan ia berfungsi secara mulus dengan camera2 API. 70% penggunaan kamera di Android berasal dari aplikasi terinstal (bukan aplikasi kamera perangkat) sehingga kami sangat bersemangat untuk membuat pengembangan kamera semakin mudah.
Komponen Arsitektur - Kami telah membuat sejumlah penambahan dan penyempurnaan berdasarkan masukan Anda. Anda telah memberi tahu kami bahwa keserentakan di Android adalah hal yang sulit. Jadi, kami memberikan Anda LiveData dan Lifecycles bersama dengan coroutine untuk mendukung operasi tidak bersamaan satu-kali yang biasa. Dengan modul ViewModel dengan SavedState, Anda bisa menghilangkan kode boilerplate dan mendapatkan keuntungan penggunaan ViewModel dan SavedState dengan API sederhana untuk menyimpan dan mengambil data secara langsung dari ViewModel Anda. Dan jika Anda melewatkannya, kami mengumumkan rilis stabil WorkManager (pemrosesan latar belakang) dan Navigation (navigasi antar layar aplikasi) beberapa bulan yang lalu.
Jetpack Compose - Banyak dari Anda meminta toolkit UI model reaktif modern untuk Android kepada kami, yang bisa memanfaatkan keunggulan Kotlin dan terintegrasi secara mulus dengan platform dan semua kode Anda. Hari ini, kami membagikan hasil kerja tim di Jetpack Compose. Jetpack Compose dirancang untuk menyederhanakan pengembangan UI dengan menggabungkan model pemrograman reaktif dengan keringkasan dan kemudahan penggunaan Kotlin. Jetpack Compose kompatibel dengan toolkit UI yang sudah ada, sehingga Anda bisa mencampur dan mencocokkan tampilan dengan akses langsung ke semua API Jetpack dan Android. Ia juga sepenuhnya deklaratif untuk mendefinisikan komponen UI. Dan, ia dirancang dengan mempertimbangkan Material, animasi, dan fitur sedari awal. Mulai hari ini, kami mengembangkannya secara terbuka, dan Anda bisa menemukan semua kodenya di AOSP.
Android Studio
Hari ini kami merilis Android Studio 3.5 ke versi Beta. Selama berbulan-bulan, tim kami secara khusus berfokus pada pemurnian dan pemolesan alur kerja pengembangan setiap harinya, dengan Project Marble. Android Studio 3.5 mencakup manajemen memori IDE yang lebih baik untuk project besar, latensi pengetikan yang lebih rendah, peningkatan lint, optimalisasi penggunaan CPU, peningkatan editor layout, peningkatan emulator, perubahan build, serta penulisan ulang Instant Run secara penuh, yang sekarang disebut Apply Changes, yang sekarang mampu mempercepat kemampuan untuk melihat perubahan kode pada perangkat secara andal - ditambah lebih dari 400 perbaikan bug berprioritas tinggi.
Machine Learning berskala Android
Di Android Q, kami telah membuat peningkatan signifikan untuk Android Neural Networks API (NNAPI). Pertama, kami telah meningkatkan jumlah Operator yang didukung dari 38 menjadi lebih dari 90. Sebagian besar model sekarang bisa dipercepat oleh NNAPI tanpa memerlukan perubahan. Kami juga memperkenalkan introspection API untuk pengguna lanjutan, yang memungkinkan kontrol penuh atas komponen hardware mana yang menangani akselerasi (mis. DSP vs. NPU). Dan, kami bekerja sama secara intens dengan vendor hardware untuk menghadirkan peningkatan kinerja yang signifikan, baik dalam latensi maupun konsumsi daya. Bekerja sama dengan MediaTek, kami bisa mempercepat API deteksi wajah ML Kit sebesar 9X di Helio P90. Bekerja sama dengan Qualcomm, kami bisa mempercepat Google Lens OCR pada AI Engine Snapdragon 855, dan meningkatkan kecepatan 3X selagi mengurangi konsumsi daya sebesar 3,7X.
Fitur dinamis dan update dalam aplikasi
Tahun lalu kami memperkenalkan Android App Bundle untuk membantu Anda mengurangi ukuran aplikasi dan meningkatkan penginstalan. Sejak itu, kami telah melihat lebih dari 80.000 paket aplikasi yang diproduksi, dengan pengurangan ukuran rata-rata 20%. Dan hari ini, kami memiliki sejumlah pengumuman untuk membantu Anda mengurangi ukuran dan mengirimkan update kepada pengguna dengan lebih cepat. Hari ini, kami senang bisa menginformasikan bahwa modul fitur dinamis beralih dari versi beta ke stabil. Dengan modul fitur dinamis, Anda bisa mengurangi ukuran aplikasi lebih banyak lagi dengan memilih bagian dari aplikasi yang akan dikirim - berdasarkan kondisi seperti fitur perangkat dan negara. Anda bahkan bisa mengirimkan modul sesuai permintaan, sebagai ganti pada saat penginstalan. Dan hari ini, kami juga memindahkan update dalam aplikasi dari versi beta ke stabil. Kemampuan untuk mengupdate aplikasi secara dinamis adalah sesuatu yang sudah lama Anda minta. Katakanlah Anda memiliki bug penting dalam aplikasi, dan Anda harus segera memperbaikinya; Anda tentunya tidak ingin menunggu sampai pengguna menemukan update di Play Store. Sekarang Anda bisa.
Privasi dan keamanan pengguna di Android Q
Sebagai komunitas developer, kita semua memiliki kewajiban untuk melakukannya dengan benar. Ini tentang membangun platform yang menawarkan kapabilitas kuat bagi developer, sembari memastikan bahwa keamanan dan privasi pengguna terlindungi. Kami memperkenalkan Android Q Beta beberapa bulan lalu dengan lebih dari 50 fitur dan peningkatan di seputar privasi dan keamanan pengguna. Perubahan Q ini memberikan pengguna lebih banyak transparansi dan kontrol.
Seperti biasa, kami selalu bekerja keras untuk melakukan segala yang kami bisa agar developer mengadopsi rilis baru. Kami tahu Anda memiliki fitur sendiri yang akan dibangun. Itulah sebabnya, dengan perubahan Q ini, kami bekerja sangat keras untuk meminimalkan dampaknya bagi Anda, serta menerapkan masukan Anda. Kami memberikan periode pemberitahuan selama mungkin, serta informasi teknis yang lengkap dan terperinci di muka, untuk membuatnya semudah mungkin diadopsi. Kami juga ingin mengucapkan terima kasih kepada komunitas atas masukan Anda yang tanpa henti. Ini merupakan bantuan besar bagi tim yang terus bekerja keras agar semuanya bisa berjalan dengan baik. Salah satu contohnya adalah perubahan penyimpanan Beta 3, di mana masukan Anda membantu kami mengembangkan fitur ini selama versi Beta. Android memiliki komitmen jangka panjang untuk meminimalkan semua perubahan yang memecah. Komitmen kami tidak berubah, dan kami akan terus bekerja keras untuk menjaga Android tetap berplatform terbuka, fleksibel, dan ramah developer seperti yang selama ini kita cintai.
Google I/O!
Kami memiliki banyak konten hebat di toko untuk Anda selama tiga hari ke depan, termasuk lebih dari 45 sesi Android. Kami sangat senang Anda bisa bergabung dengan kami secara langsung di Shoreline, di acara I/O Extended, atau online melalui livestream. Kami terus berinvestasi dalam platform kami yang menghubungkan developer dengan miliaran pengguna di seluruh dunia. Kepada seluruh komunitas Android, terima kasih atas dukungan dan masukan Anda yang tanpa henti, dan terima kasih telah menjadi bagian dari Android.

Google
Labels: android , google play
Kekuatan Widget GestureDetector dan Transform Flutter
01 July 2019
Ketika saya tahu bahwa Flutter memberi saya kendali penuh atas semua yang ada di layar, sampai ke piksel terakhir, saya segera ingin membuat perbedaan untuk dunia UI aplikasi yang kebanyakan statis dan terprediksi. Widget full kustom yang bisa saya gambar menggunakan CustomPaint meminta agar dikeluarkan dari ScrollView atau Container khususnya. Saya ingin bebas bergerak, melakukan zoom, dan menjelajahi dunia yang bisa dibuat berkat Flutter. Widget Transform adalah wahana saya untuk menjelajahi dunia ini, dan GestureDetector menyediakan kontrolnya.
GestureDetector memberikan akses mudah ke sebagian besar gestur, dan Transform menyediakan kemampuan untuk mengubah perspektif di mana widget turunan terlihat. Keduanya adalah widget sederhana dan independen yang mengikuti pola komposabilitas Flutter. Saat kami menggabungkan keduanya, setiap gestur pada widget menjadi cara untuk menjelajah.
Pengantar transformasi
Terlepas dari kekuatannya, sesungguhnya yang dilakukan widget Transform adalah mengambil matriks transformasi dan menerapkannya pada turunannya. Ini menghasilkan terjemahan, skala, rotasi, dan bahkan kemiringan turunan terhadap induknya, semua ditetapkan oleh satu objek Matrix4 sederhana.
Matriks sangat mudah digunakan ketika melakukan transformasi karena mereka bisa dikomposisikan. Menyimpan parameter terjemahan, skala, rotasi, dan kemiringan yang terpisah mungkin terlihat intuitif pada awalnya, tetapi mudah sekali terjadi ambiguitas dengan hal-hal seperti urutan.
Bayangkan saat pengguna melakukan serangkaian gestur secara berturut-turut. Jika gestur tersebut hanya serangkaian tarik, maka kita bisa dengan mudah menyimpan transformasi akhir sebagai Offset lokasi yang dihasilkan. Namun, jika pengguna menarik, lalu memutar di lokasi yang baru, dan mengulanginya beberapa kali, bagaimana kita melacak status akhirnya? Sebuah offset dan radian ganda tidaklah cukup, bahkan jika kita juga memasukkan titik fokus. Kita harus terus melacak daftar operasi yang semakin banyak dilakukan pengguna dan mengulangi semuanya hanya untuk mencapai status akhir.
Matriks transformasi bisa dikombinasikan dengan sejumlah matriks transformasi lainnya tanpa batas, dan hasilnya selalu berupa matriks tunggal lain dengan ukuran yang sama. GPU sangat cepat dalam melakukan matematika semacam ini, bahkan paralel secara besar-besaran, seperti untuk setiap piksel di layar. Ini membuatnya sangat bagus untuk menyimpan status widget seperti Transform, dan hasilnya adalah widget yang sangat mudah digunakan developer Flutter.
Mendeteksi gestur
Jika kita menghubungkan beberapa gestur pengguna untuk memperbarui matriks transformasi menggunakan GestureDetector, maka pengguna memiliki kebebasan untuk membuka layar yang kita tampilkan kepada mereka. GestureDetector menyediakan akses mudah ke gestur seperti tarik, yang bisa kita gunakan untuk terjemahan, cubit, melakukan zoom, dan bahkan rotasi dengan dua jari.
GestureDetector menyediakan banyak callback berbeda untuk berbagai gestur dan status awal, update, dan akhir. Namun, jika Anda mengimplementasikan sesuatu seperti demo yang menggabungkan beberapa gambar, callback skala adalah yang Anda butuhkan. Callback onScaleUpdate menyediakan focalPoint, baik skala horizontal maupun vertikal, dan rotasi, semuanya ada di sini. Hal ini memungkinkan Anda untuk merespons beberapa gestur sekaligus, seperti ketika pengguna memutar dan melakukan penskalaan dalam satu gestur. Lihat ScaleUpdateDetails untuk semua hal yang disediakan callback onScaleUpdate.
Hal lain yang sering diterapkan dalam transformasi fisik seperti ini adalah inersia. Setelah pengguna menyelesaikan gestur, mereka mungkin mengharapkan transformasi berlanjut untuk sementara waktu sebelum berhenti perlahan. Flutter menyediakan parameter “velocity” di callback akhir semua gestur ini, termasuk skala. Seperti yang mungkin Anda duga dengan gerakan berbasis fisika, nilai ini lebih besar jika pengguna menggerakkan jari mereka dengan cepat dan lebih kecil jika pengguna membuat gestur lambat.
Anda bisa membuat efek inersia ini dengan infrastruktur Flutter lain yang sangat menarik, animasi Tween. Dengan menggunakan velositas dan posisi pada akhir gestur, dan pengetahuan dasar fisika, Anda bisa menemukan posisi akhir dan durasi untuk diberikan kepada Tween, dan mempersilakan Tween membereskannya. Flutter bahkan menyertakan class friction simulation untuk menangani beberapa perhitungan ini dan membuat semuanya terasa sangat realistis.
Kesimpulan
Menggabungkan Transform dan GestureDetector memberi kita fitur yang sangat kuat. Banyak hal yang bisa dilakukan, dari mulai menggerakkan papan permainan, seperti yang ditunjukkan pada screenshot, membuka peta, hingga menyediakan penampil gambar interaktif, dan lainnya.
Aplikasi yang ditampilkan di sini sekarang tersedia sebagai demo di aplikasi Flutter Gallery. Semua kode adalah bagian dari repositori open source flutter utama, dan bisa ditemukan di sumber demo transformasi. Sebagian besar logika transformasi terdapat dalam class GestureTransformable, termasuk animasi inersia.

Ketika saya tahu bahwa Flutter memberi saya kendali penuh atas semua yang ada di layar, sampai ke piksel terakhir, saya segera ingin membuat perbedaan untuk dunia UI aplikasi yang kebanyakan statis dan terprediksi. Widget full kustom yang bisa saya gambar menggunakan CustomPaint meminta agar dikeluarkan dari ScrollView atau Container khususnya. Saya ingin bebas bergerak, melakukan zoom, dan menjelajahi dunia yang bisa dibuat berkat Flutter. Widget Transform adalah wahana saya untuk menjelajahi dunia ini, dan GestureDetector menyediakan kontrolnya.
GestureDetector memberikan akses mudah ke sebagian besar gestur, dan Transform menyediakan kemampuan untuk mengubah perspektif di mana widget turunan terlihat. Keduanya adalah widget sederhana dan independen yang mengikuti pola komposabilitas Flutter. Saat kami menggabungkan keduanya, setiap gestur pada widget menjadi cara untuk menjelajah.
Pengantar transformasi
Terlepas dari kekuatannya, sesungguhnya yang dilakukan widget Transform adalah mengambil matriks transformasi dan menerapkannya pada turunannya. Ini menghasilkan terjemahan, skala, rotasi, dan bahkan kemiringan turunan terhadap induknya, semua ditetapkan oleh satu objek Matrix4 sederhana.
Matriks sangat mudah digunakan ketika melakukan transformasi karena mereka bisa dikomposisikan. Menyimpan parameter terjemahan, skala, rotasi, dan kemiringan yang terpisah mungkin terlihat intuitif pada awalnya, tetapi mudah sekali terjadi ambiguitas dengan hal-hal seperti urutan.
Bayangkan saat pengguna melakukan serangkaian gestur secara berturut-turut. Jika gestur tersebut hanya serangkaian tarik, maka kita bisa dengan mudah menyimpan transformasi akhir sebagai Offset lokasi yang dihasilkan. Namun, jika pengguna menarik, lalu memutar di lokasi yang baru, dan mengulanginya beberapa kali, bagaimana kita melacak status akhirnya? Sebuah offset dan radian ganda tidaklah cukup, bahkan jika kita juga memasukkan titik fokus. Kita harus terus melacak daftar operasi yang semakin banyak dilakukan pengguna dan mengulangi semuanya hanya untuk mencapai status akhir.
Matriks transformasi bisa dikombinasikan dengan sejumlah matriks transformasi lainnya tanpa batas, dan hasilnya selalu berupa matriks tunggal lain dengan ukuran yang sama. GPU sangat cepat dalam melakukan matematika semacam ini, bahkan paralel secara besar-besaran, seperti untuk setiap piksel di layar. Ini membuatnya sangat bagus untuk menyimpan status widget seperti Transform, dan hasilnya adalah widget yang sangat mudah digunakan developer Flutter.
Mendeteksi gestur
Jika kita menghubungkan beberapa gestur pengguna untuk memperbarui matriks transformasi menggunakan GestureDetector, maka pengguna memiliki kebebasan untuk membuka layar yang kita tampilkan kepada mereka. GestureDetector menyediakan akses mudah ke gestur seperti tarik, yang bisa kita gunakan untuk terjemahan, cubit, melakukan zoom, dan bahkan rotasi dengan dua jari.
GestureDetector menyediakan banyak callback berbeda untuk berbagai gestur dan status awal, update, dan akhir. Namun, jika Anda mengimplementasikan sesuatu seperti demo yang menggabungkan beberapa gambar, callback skala adalah yang Anda butuhkan. Callback onScaleUpdate menyediakan focalPoint, baik skala horizontal maupun vertikal, dan rotasi, semuanya ada di sini. Hal ini memungkinkan Anda untuk merespons beberapa gestur sekaligus, seperti ketika pengguna memutar dan melakukan penskalaan dalam satu gestur. Lihat ScaleUpdateDetails untuk semua hal yang disediakan callback onScaleUpdate.
Hal lain yang sering diterapkan dalam transformasi fisik seperti ini adalah inersia. Setelah pengguna menyelesaikan gestur, mereka mungkin mengharapkan transformasi berlanjut untuk sementara waktu sebelum berhenti perlahan. Flutter menyediakan parameter “velocity” di callback akhir semua gestur ini, termasuk skala. Seperti yang mungkin Anda duga dengan gerakan berbasis fisika, nilai ini lebih besar jika pengguna menggerakkan jari mereka dengan cepat dan lebih kecil jika pengguna membuat gestur lambat.
Anda bisa membuat efek inersia ini dengan infrastruktur Flutter lain yang sangat menarik, animasi Tween. Dengan menggunakan velositas dan posisi pada akhir gestur, dan pengetahuan dasar fisika, Anda bisa menemukan posisi akhir dan durasi untuk diberikan kepada Tween, dan mempersilakan Tween membereskannya. Flutter bahkan menyertakan class friction simulation untuk menangani beberapa perhitungan ini dan membuat semuanya terasa sangat realistis.
Kesimpulan
Menggabungkan Transform dan GestureDetector memberi kita fitur yang sangat kuat. Banyak hal yang bisa dilakukan, dari mulai menggerakkan papan permainan, seperti yang ditunjukkan pada screenshot, membuka peta, hingga menyediakan penampil gambar interaktif, dan lainnya.
Aplikasi yang ditampilkan di sini sekarang tersedia sebagai demo di aplikasi Flutter Gallery. Semua kode adalah bagian dari repositori open source flutter utama, dan bisa ditemukan di sumber demo transformasi. Sebagian besar logika transformasi terdapat dalam class GestureTransformable, termasuk animasi inersia.

label: pt


content:
Arsenal mengalami musim yang kelam di Liga Inggris 2019/2020. The Gunners finish di luar 5 besar, tepatnya, mengakhiri musim di peringkat 8. Itu adalah pencapaian yang mungkin sulit dibayangkan untuk tim sebesar Arsenal. Perjalanan mereka pun tidak mulus, mulai dari pergantian pelatih dari Unai Emery ke Mikel Arteta, adanya friksi… Read more“Hilangnya Raul Sanllehi Kecerdasan Taktik Mikel Arteta Potensi Arsenal di Liga Inggris 2020”
Uncategorizedarsenal, inggris, liga inggris, liga inggris 2020, mikel arteta, raul sanllehi, super skor

warc-identified-content-language: ind,eng

content-type: text/plain

warc-type: conversion

label: id