Sr Staff Software Engineer
Developer
Remote Compose memperkenalkan cara baru untuk memproyeksikan UI yang ekspresif dan interaktif ke platform jarak jauh seperti widget. Dengan melakukan serialisasi tata letak ke dalam payload biner yang ringkas, RemoteCompose memisahkan UI dari eksekusi host untuk memberikan keuntungan yang signifikan.
Manfaat utamanya mencakup interaktivitas edge yang memungkinkan rendering berperforma tinggi melalui eksekusi lokal di perangkat jarak jauh, penskalaan fleksibel yang memungkinkan UI menyesuaikan tata letak di berbagai faktor bentuk melalui evaluasi komponen sisi jarak jauh, dan alur kerja developer terpadu yang menghilangkan kebutuhan akan framework UI jarak jauh khusus platform melalui API Jetpack Compose yang sudah dikenal.
Sesi ini akan membahas manfaat tersebut dan memberikan contoh produksi live, termasuk Widget Wear OS modern dan pengalaman Wear Workout Tracker yang sekilas terlihat di Runkeeper.
Transkrip
Halo semua.
Nama saya Nicolas Roard, saya adalah tech lead di project Remote Compose.
Saya John Hoford.
Saya adalah developer di Remote Compose.
Dan saya John Zoeller, dan saya menangani hubungan developer di Wear OS.
Baiklah, mari kita mulai.
Jadi, pertama-tama saya akan memberikan ringkasan singkat tentang jenis masalah yang ingin kami selesaikan dengan Remote Compose.
Jadi, biasanya saat Anda berbicara atau memikirkan UI di Android, Anda menganggap UI sebagai bagian dari aplikasi dan proses aplikasi Anda, bukan?
Ada banyak tempat berbeda yang terkadang Anda inginkan untuk mengambil UI, mengemasnya, dan mengirimkannya ke tempat lain seperti ke platform jarak jauh.
Jadi, yang kami maksud dengan platform jarak jauh, kurang lebih seperti contoh tersebut, seperti gaya jam, widget, bahkan bisa berupa aplikasi Anda sendiri atau aplikasi lain, oke?
Jadi, semua itu pada dasarnya adalah contoh platform jarak jauh.
Jadi, di suatu tempat, di tempat lain, bisa jadi aplikasi Anda, bisa jadi server, di tempat lain tahu apa yang harus dikirim ke platform jarak jauh tersebut.
Dan…
Bagaimana dengan speaker saya?
Di antara keduanya, pada dasarnya ada jarak.
Dan jarak tersebut bisa berupa jarak fisik yang sebenarnya, bisa juga berupa koneksi jaringan, bukan?
Bisa juga hanya batas proses.
Anda dapat menggunakan perangkat yang sama.
Namun, apa pun itu, ada biaya yang harus dikeluarkan.
Dan hal paling sederhana yang dapat Anda pikirkan untuk mengambil UI tersebut dan mengirimkannya adalah dengan mengambil salinan layar, bukan, dan mengirimkannya.
Masalahnya, cara ini tidak terlalu cepat, bukan?
Jadi, yang kami lakukan dengan Remote Compose adalah mengirim dokumen yang mewakili UI tersebut.
Ingatlah bahwa menjadi kecil memiliki banyak keuntungan.
Hal ini penting.
Kami melihatnya di Pixel pertama yang Anda kirim, tetapi sebenarnya hal ini berlaku untuk semua jenis update yang ingin Anda lakukan di platform tersebut, bukan?
Anda mendapatkan tiket pulang pergi.
Jadi, Anda mendapatkan sesuatu di permukaan jarak jauh tersebut seperti peristiwa, klik, sentuhan.
Anda harus menghubungi pembuatnya untuk mendapatkan versi baru.
Dan itu, itu tidak baik.
Jadi, dalam banyak hal, itulah yang kami coba selesaikan dengan Remote Compose.
Jadi, kita melihat dokumen dikirim.
Di samping dokumen, ada beberapa, Anda tahu, dua beberapa area yang sangat penting.
Salah satunya adalah cara Anda membuat dokumen tersebut.
Dan yang kedua adalah cara Anda memainkannya.
Saya menyebutkan bahwa kita sedang membuat dokumen.
Kami tidak mengirimkan salinan layar, dan kami juga tidak mengirimkan aplikasi.
Jadi, kami memiliki tiga cara berbeda untuk membantu Anda membuat dokumen tersebut.
Satu adalah Compose API, dua adalah API Kotlin prosedural, KMP, dan tiga adalah format JSON.
Semuanya memancarkan byte yang sama.
Jadi, kami menyediakan serangkaian alat untuk membuat dokumen tersebut dan dengan Compose API, kita dapat memanfaatkan alat yang ada di Android Studio.
Jadi, misalnya, Anda dapat menggunakan pratinjau untuk melihat langsung apa yang sedang Anda kembangkan, langsung di IDE.
Namun, kami juga sedang mengembangkan beberapa alat baru yang canggih seperti pemeriksa dokumen.
Mari kita lihat sekilas dokumen tersebut.
Pada dasarnya, ini adalah daftar operasi yang dienkode dalam representasi biner yang ringkas, dan operasi tersebut mendeskripsikan antarmuka pengguna mandiri yang dapat dikirim ke platform jarak jauh tersebut.
Jadi, salah satu karakteristik yang sangat penting dari dokumen tersebut adalah ukurannya yang kecil.
Dan seperti yang kita lihat, kecil itu bagus.
Jadi, biasanya kita berbicara tentang beberapa kilobyte, bukan?
Namun, bahkan UI yang lebih kompleks dengan sesuatu yang memiliki tata letak yang sangat adaptif, kita masih berbicara tentang beberapa mungkin puluhan kilobyte, bukan?
Kami juga mengemas semua aset ke dalam dokumen tersebut.
Jadi, jika Anda memikirkannya, satu-satunya hal yang benar-benar dapat menghabiskan ruang pada dokumen adalah jika Anda mulai mengemas bitmap.
Jadi ingatlah itu.
Inilah alasan utama kita mengirim dokumen, bukan salinan layar.
Saat kita berbicara tentang menjadi kecil dan penting, ini bukan hanya tentang komunikasi.
Ini adalah semacam kasus ekstrem utama dari filosofi di balik Remote Compose.
Seperti yang kita lihat, hal ini jelas berdampak pada waktu yang diperlukan untuk menampilkan piksel pertama di layar, tetapi maaf.
Artinya, kita dapat menggunakan lebih banyak dokumen dengan kemampuan dan kapasitas platform yang sama, sambil tetap efisien.
Dan itulah yang akan kita lihat dan manfaatkan saat mendukung widget.
Pemutar itu sendiri juga cenderung cukup kecil, dan memiliki dependensi yang sangat sedikit.
Selain itu, karena ukurannya yang kecil dan dependensinya yang sedikit, kita dapat memperluas jangkauan ke tempat kita dapat memutar dokumen Remote Compose.
Hal ini sangat penting untuk platform yang terbatas, seperti yang akan Anda lihat.
Jadi, saya banyak membahas tentang transportasi dan jarak, tetapi Remote Compose sendiri tidak benar-benar menangani transportasi.
Itu tanggung jawab Anda.
Yang kami lakukan adalah mengemas semua itu ke dalam, Anda tahu, buffer byte yang kemudian dapat Anda kirim dengan metode yang sesuai ke platform jarak jauh.
Untuk widget, kami membantu Anda, kami menyediakan konektor untuk Anda.
Namun, secara umum, perlu diingat bahwa Anda bertanggung jawab atas transportasi.
Setelah pemain menerima dokumen tersebut, apa pun cara Anda mengirimkannya, dokumen tersebut dapat mengekstrak daftar operasi dan mengonversinya menjadi perintah gambar, dalam hierarki tata letak, ekspresi, dan semua itu bersama-sama dapat menciptakan pengalaman pengguna yang sangat kaya.
Jadi, satu hal yang perlu diingat adalah, dengan memberi Anda kemampuan untuk memutuskan cara mentransfer dokumen, berarti Anda dapat menggunakan kembali Remote Compose sebagai alat dalam banyak skenario, beberapa di antaranya mungkin tidak terpikirkan oleh kami, bukan?
Setelah dokumen dimuat oleh pemutar, dokumen akan berjalan dengan sendirinya.
Dan itulah keseluruhan idenya.
Kita ingin dokumen membuat UI yang agak otonom, yang tidak perlu kembali ke siapa pun yang membuatnya, bukan?
Dan semua itu bersama-sama, kita dapat mendukung, Anda tahu, pengubahan ukuran, scroll, peristiwa sentuh, Anda tahu, memutuskan untuk menampilkan atau menyembunyikan komponen, animasi, beberapa peristiwa sentuh, dan beberapa penanganan sentuh, semuanya dapat dilakukan dalam dokumen tanpa harus kembali ke pemutar.
Dan terkadang, jika Anda perlu kembali, maaf, ke pembuatan, Anda dapat meminta tindakan untuk mengatakan, "Tolong beri saya dokumen baru".
Kami menyediakan tiga pemutar resmi, sebagian besar melalui library AndroidX di Remote Compose.
Salah satunya adalah pemutar Compose, sehingga Anda dapat menggunakannya di aplikasi Compose.
Kami juga memiliki pemutar View jika Anda masih menggunakan View.
Kami juga memiliki implementasi RemoteViews yang dikirimkan di platform Android sejak API 36, dan memungkinkan Anda membuat widget Android yang berjalan di peluncur menggunakan Remote Compose.
Kami juga memiliki beberapa pemutar eksperimental jika Anda tertarik, beberapa C++ yang berjalan di Skia, TypeScript, dan bahkan Compose Multiplatform.
Jadi, idenya adalah teknologi yang sama yang Anda gunakan pada dasarnya dapat digunakan untuk merender di banyak platform dan platform yang berbeda.
Jadi, singkatnya, jarak yang saya bicarakan masih ada, tetapi kami mencoba membuatnya hanya berpengaruh saat benar-benar diperlukan.
Ya.
Mari kita bahas sedikit tentang kemampuan yang akan Anda dapatkan di dalam dokumen Remote Compose.
Jadi, pada dasarnya, ada Canvas, dan semua fitur Android Canvas.
Namun, dengan beberapa API tambahan di dalamnya.
Namun, salah satu hal yang istimewa adalah semua float yang Anda miliki di Android Canvas tersebut dapat diganti dengan ekspresi.
Hal ini memungkinkan Anda membuat animasi, seperti yang Anda lihat di sini, penskalaan dinamis, tata letak yang fleksibel.
Banyak hal berbeda yang dapat dilakukan dengan model ini.
Sedikit lebih banyak tentang ekspresi.
Anda memiliki beragam operator dari matematika normal, trigonometri, akses array, interpolasi spline.
Dan salah satu hal kerennya adalah nilai apa pun yang berubah dapat dianimasikan, sehingga Anda dapat menganimasikan perubahan status nilai apa pun.
Dalam gambar khusus yang Anda lihat di sini, setiap pendulum memilih jenis animasi yang berbeda, dan semuanya tersedia di Remote Compose.
Selain itu, kita memiliki komponen dasar, hal-hal terkait Compose, hal-hal yang Anda ketahui.
API ini menghasilkan API, kotak, baris, kolom, dan hal-hal semacam itu yang sangat familier.
Namun, selain itu, kami memiliki komponen adaptif.
Salah satu hal yang menarik adalah karena Anda tidak mengontrol dokumen pada saat itu, dokumen ini dapat menangani objek yang menghilang, muncul, dan hilang, kembali karena pengubahan ukuran, dll., semuanya tanpa kembali ke sumber dokumen.
Selain itu, ada juga animasi komponen.
Semua perubahan dapat dianimasikan, jadi jika ada yang hilang, Anda dapat menganimasikannya.
Dan Anda dapat menulis animasi kustom Anda sendiri.
Dalam kasus ini, Anda melihat beberapa di antaranya menggunakan shader, dan berbagai hal lainnya.
Hal lain yang dapat kami lakukan adalah interaksi saat berada di sana, jadi bukan hanya gambar yang indah.
Anda dapat mengklik berbagai hal, memiliki peristiwa sentuh, men-scroll, dan sebagainya.
Yang juga penting adalah aksesibilitas, sehingga semua Accessibility API Anda ada di sana.
Salah satu hal yang Anda lihat di sini adalah saya membuat stopwatch lengkap dengan UI yang menarik, dan semua ini terjadi di sisi pemain.
Semuanya ada di dalam dokumen.
Semua yang Anda lihat, tidak perlu kembali ke server untuk ini.
Sekarang, jika Anda membuatnya dalam aplikasi, dalam hal ini, bagian biru adalah aplikasi dan bagian hitam adalah dokumen Remote Compose.
Anda dapat berinteraksi di antara keduanya.
Di sini, saya menambah nilai, dan Anda melihat nilai tersebut diterima oleh aplikasi, yang kami sebut host, dan saya juga dapat menggerakkan penggeser, dan nilai di dalam dokumen akan berubah.
Jadi, saya bisa melakukan keduanya.
Jadi, mari kita pelajari cara membuat salah satu dokumen ini.
Sebenarnya ada tiga API: Compose, Kotlin, dan JSON.
Compose API, Anda mungkin tahu seperti apa rasanya.
Ada beberapa hal yang perlu diperhatikan dan kita akan membahasnya secara mendetail.
Kotlin API sangat prosedural.
Anda mengurutkan satu perintah dalam dokumen, sehingga menjadi satu-ke-satu.
JSON adalah sintaksis JSON yang dapat Anda gunakan. Kami memiliki pengonversi yang akan mengonversinya menjadi Remote Compose.
Hal ini juga berguna jika Anda bekerja dengan LLM karena LLM dapat membaca dan menulis dokumen.
Jadi, mari kita buka Compose dan buat sesuatu.
Dalam hal ini, Anda akan melihat bahwa Anda adalah composable dan composable jarak jauh.
Kita memiliki kanvas-- bukan kanvas, tetapi kanvas jarak jauh dan pengubah jarak jauh, tetapi pengubahnya sendiri hampir sama, hal-hal yang Anda ketahui dan sukai.
Sekarang, semua perintah di dalamnya sebenarnya menghasilkan perintah dokumen Remote Compose perintah jarak jauh saat dijalankan.
Dalam hal ini, menggambar lingkaran, lalu menambahkan beberapa float dan ekspresi menggunakan waktu dalam ekspresi tersebut.
Dan saat saya mengaktifkannya dalam animasi, perhatikan bahwa ini adalah pratinjau langsung dari Android Studio dan akan benar-benar berjalan secara langsung untuk Anda.
Anda melihat ekspresi tersebut di sana.
Mari kita bahas sedikit tentang apa itu dan cara kerjanya.
Di sebelah kiri, Anda akan melihat tampilan yang mirip dengan spreadsheet.
Ini adalah tabel nilai dalam float.
Alat ini juga memiliki hierarki dependensi, sehingga Anda tahu hubungan antara satu hal dengan hal lainnya.
Setiap kali ada perubahan, dependensinya akan ditandai sebagai kotor untuk dibersihkan, dan disesuaikan.
Saat berjalan, Bazel akan membersihkan semua dependensinya dan hanya mengevaluasi dependensi yang berubah.
Jadi, ini sangat efisien dan dalam kasus di mana, misalnya, objek seperti ukuran berubah, dependensi tersebut akan berubah, dan harus mencerminkannya.
Hal ini menjadikannya cara komputasi yang sangat, sangat efisien, karena Anda tidak perlu melakukan komputasi dari atas ke bawah, dan Anda melakukannya dengan sangat efisien.
Jadi, mari kita kembangkan jam itu sedikit untuk menunjukkan bahwa kita bisa membuat hal-hal yang nyata, sedikit nyata.
Dalam kasus ini, kita akan menambahkan beberapa tanda centang di tepi, dan Anda akan melihat beberapa loop for, sehingga Anda dapat melakukan loop for di dalamnya secara lokal dan tepat.
Kemudian, kita tambahkan beberapa jarum jam dan jarum menit, lalu lanjutkan ke detik-- tambahkan detik, lalu akhiri dengan beberapa tombol berbeda untuk menyelesaikannya, dan kita memiliki jam yang berfungsi.
Ternyata, jam ini benar-benar menunjukkan waktu.
Hal menarik lainnya adalah Anda dapat menulis hal yang sama dalam JSON, dan jika dalam JSON, Anda dapat dengan mudah berinteraksi dengan LLM yang mengatakan, "Ubah jarum menit menjadi hijau", dan LLM akan memahami maksud Anda.
Jadi, cara ini sangat bagus.
Oke.
Ya.
Jadi, semoga hal ini memberi Anda gambaran tentang kemampuan Remote Compose.
Mari kita bahas sedikit dukungan developer yang kami miliki untuk Anda.
Jadi, saya sebutkan bahwa library tersebut pada dasarnya adalah library AndroidX, sehingga semua yang ada di DAC, Anda tahu di mana menemukannya.
Anda akan mendapatkan rilis terbaru, dokumentasi, dan semua hal tersebut.
Seperti biasa, kita melihat John mendemonstrasikan apa yang dapat kita lakukan di Android Studio.
Menurut saya, hal paling keren adalah pratinjau langsung yang benar-benar mempercepat waktu pengembangan.
Satu hal yang juga sedang kami kerjakan adalah spesifikasi terbuka publik yang sebenarnya untuk format tersebut, bukan?
Kami tidak mencoba menyembunyikan sesuatu sepenuhnya, semuanya ada di luar sana.
Anda dapat melihat cara kerjanya, cara pembuatannya, dan cara pengenkodeannya.
Salah satu hal umum yang Anda gunakan dalam aplikasi adalah vektor drawable animasi, dan, Anda tahu, ini jelas sangat praktis.
Ingat apa yang saya sebutkan tentang bitmap.
Kami sangat tertarik dengan pengiriman vektor, bukan bitmap, bukan?
Jadi, kami sedang membuat beberapa alat untuk membantu Anda mengambil Lottie, misalnya, mungkin format lain, dan mengonversinya menjadi komponen RemoteCompose yang dapat Anda gunakan dalam file RemoteCompose.
Sebelumnya saya menyebutkan bahwa kami juga sedang mengembangkan alat tambahan, khususnya alat yang berfungsi seperti pemeriksa dokumen secara langsung. Pasalnya, pengalaman developer dalam membuat dokumen adalah satu hal, tetapi kemampuan untuk memeriksa hasil pembuatan tersebut adalah hal lain.
Dalam kasus kita, itu adalah dokumen.
Jadi, berikut adalah sekilas pratinjau alat yang sedang kami kembangkan.
Alat ini adalah pemeriksa dokumen RemoteCompose, dan memungkinkan Anda memeriksa dokumen sesuai namanya, serta menerapkan beberapa alat dan visualisasi yang berguna ke dokumen tersebut.
Salah satu contoh yang bagus adalah Anda dapat membuka dokumen dan menjalankan berbagai operasi yang ada dalam dokumen tersebut langkah demi langkah untuk mencoba lebih memahami bagaimana semuanya saling terkait.
Namun, kami memiliki alat tambahan.
Misalnya, saya sangat menyukai fitur ini, yang langsung memvisualisasikan dokumen Anda dalam berbagai kepadatan dan ukuran, sehingga Anda dapat dengan cepat melihat apakah yang Anda buat akan beradaptasi dengan baik terhadap berbagai perubahan ukuran, misalnya.
Salah satu hal terbaru yang juga sedang kami kerjakan adalah Layout Inspector yang benar-benar lengkap, jadi, jenis kapabilitas pemeriksaan tata letak yang biasa Anda gunakan di Android Studio, tetapi di sini, diterapkan ke operasi dan dokumen, bukan?
Kita juga dapat melangkah lebih jauh dalam hal 3D.
Seperti yang saya sebutkan sebelumnya, dan semoga sekarang, saya telah meyakinkan Anda bahwa ukuran kecil adalah sebuah fitur.
Hal ini penting.
Kita benar-benar menginginkan dokumen kecil.
Hal ini membantu semua orang.
Lakukan saja.
Jadi, apa yang bisa kita lakukan untuk itu?
Mari kita ambil contoh UI yang umum, ya?
Sesuatu yang memiliki banyak baris.
Barisnya sendiri, Anda tahu, ada nama, grafik kecil, dan mungkin tombol.
Cukup umum.
Ukuran UI tersebut sudah cukup kecil.
Kita berbicara tentang sekitar 25 kB, tetapi kita memiliki berbagai fungsi di RemoteCompose untuk membantu Anda membuatnya lebih kecil lagi.
Jadi, mari kita bahas satu per satu.
Hal pertama yang kami lakukan, dan ini gratis, kami akan melakukannya untuk Anda, jika Anda mengirim string yang sama, kami akan mengetahuinya.
Kita dapat menghemat beberapa byte dengan mengarah ke string yang sama.
Namun, kami menyediakan lebih banyak hal, seperti loop.
Jadi di sini, saya menggunakan operasi loop ini untuk menggambar grafik kecil, bukan?
Dan hal itu menghemat beberapa byte lagi.
Kita juga memiliki fungsi.
Jadi, Anda dapat membuat fungsi, dan di sini, saya melakukannya lagi untuk grafik tersebut, lalu saya dapat memanggil grafik tersebut beberapa kali.
Dan sekali lagi, hal itu akan menghemat beberapa byte.
Dan untuk komponen, kita memiliki template, bukan?
Ide yang mirip dengan fungsi, tetapi lebih untuk komponen, bukan?
Jadi, saya dapat mengganti semua komponen yang berbeda, semua baris yang berbeda, hanya dengan memanggil template tersebut dengan parameter yang benar, dan hal itu menghemat banyak ruang pada dokumen.
Dan hal terakhir yang kami dukung secara langsung adalah mengompresi dokumen.
Umumnya, Anda dapat menghemat sekitar setengah ukuran dokumen dengan cara ini.
Satu hal yang menarik adalah header dokumen ini agak istimewa.
Kami tidak mengompresinya.
Hal ini sangat berguna jika Anda ingin menyaring banyak dokumen dengan sangat cepat tanpa harus mendekompresinya.
Jadi intinya, dokumen berukuran kecil, Anda tahu, secara default, tetapi Anda juga dapat membuatnya jauh lebih kecil.
Dan Anda dapat melihat, dengan contoh kecil ini, betapa mudahnya mengurangi ukuran secara signifikan, karena ukuran kecil adalah sebuah fitur.
Saya membahas widget dan khususnya widget peluncur di platform Android.
Jadi, mari kita bahas sedikit tentang apa yang kita lakukan dan apa yang sudah ada.
Jadi, hal pertama yang dapat kita lakukan adalah mereplikasi widget yang ada, seperti jam itu, murni di RemoteCompose, dan pada dasarnya akan berperilaku sama, hanya di RemoteCompose.
Tapi, kita bisa melakukan lebih banyak hal, bukan?
Jadi, jika Anda ingin membuat UI yang lebih adaptif, widget yang dapat diubah ukurannya dan dianimasikan dengan benar, kita bisa melakukannya sekarang, bukan?
Karena kita memiliki primitif yang tepat untuk melakukannya, berbeda dengan yang dapat Anda lakukan dengan tampilan jarak jauh.
Pada dasarnya, kami memberi Anda lebih banyak fleksibilitas dan kemampuan.
Dan berbicara tentang kemampuan, berikut contoh singkat hal gila yang bisa Anda lakukan, bukan?
Tindakan ini akan menampilkan game lengkap dalam widget.
Dan saya akan menunjukkan ukuran sebenarnya dari widget tersebut.
Kita membahas 4 KB.
Saya telah menyebutkan bahwa transportasi bukanlah sesuatu yang kita tangani secara langsung di Remote Compose.
Meskipun khusus untuk widget, kami menyediakan class konektor RemoteCompose Widget yang memungkinkan Anda mengambil dokumen dan mengirimkannya ke peluncur dengan sangat mudah.
Meskipun demikian, jika Anda sudah memiliki widget, sebaiknya terus gunakan Glance, karena versi terbaru Glance otomatis menyediakan backend untuk memunculkan Remote Compose di platform.
Sekarang, mari kita bahas Wear OS.
Terima kasih, Nico.
Halo, semuanya.
Saya John Zoeller.
Saya hadir di sini untuk membahas Wear OS.
Saya menulis sekitar 30 lelucon untuk presentasi ini, tetapi saya menceritakan semuanya kepada ibu saya, dan dia bilang saya akan dipecat jika menceritakan salah satunya.
Jadi, saya akan melewati bagian itu dan langsung melakukan presentasi.
Jadi, mari kita bahas Remote Compose dan beberapa keunggulannya di Wear OS.
Pertama, kita akan membahas Pelacak Latihan Wear OS yang baru.
Sekarang, kami menggunakan Remote Compose untuk membangunnya, dan kami tahu bahwa membangun pelacak olahraga berfitur lengkap dan berkualitas tinggi sangat sulit untuk Wear.
Proses ini memerlukan waktu.
Jadi, kami melakukannya untuk Anda, dan kami menyertakan beberapa fitur latihan modern baru yang sangat bagus, seperti metrik live dan kemampuan untuk mengontrol media.
Dan berkat Remote Compose, kami dapat memisahkan UI dari semua eksekusi, sehingga dapat berjalan dengan sangat efisien dan membantu menghemat baterai pengguna.
Tanpa Remote Compose, jika kita melakukannya hanya dengan Compose normal, kita tidak akan dapat memperbarui metrik live di layar setiap detik.
Sebenarnya perlu waktu satu menit, karena Anda harus mengaktifkan smartwatch dalam mode standby hanya untuk menampilkan metrik.
Jadi, ini adalah keuntungan besar.
Dan, sebenarnya, ini adalah GIF, percaya atau tidak.
Ini bukan gambar.
Saya tahu metrik ini belum berubah, dan akan berubah dalam waktu sekitar 45 detik saat kita beralih ke pembaruan metrik berikutnya.
Namun, itulah keunggulan Remote Compose.
Dan coba tebak?
Sebenarnya, Wear Workout Tracker tersedia.
Aplikasi ASICS Runkeeper membuat aplikasi baru mereka dengan fitur ini, dan Anda dapat mencobanya sekarang dengan mengikuti link ini dan bergabung dalam uji beta terbuka mereka.
Selanjutnya, ada Widget Wear OS.
Ini adalah contoh bagus lainnya dari cara kerja Remote Compose.
Library ini menggantikan library ProtoLayout Tiles lama, sehingga Anda tidak perlu lagi mendukung dua jenis framework UI yang berbeda untuk perangkat yang berbeda.
Anda dapat melakukan semuanya dengan Remote Compose.
Dan karena merupakan bagian dari Jetpack Glance, widget di Wear OS adalah bagian dari ekosistem Android terpadu.
Baiklah, dan sebagai bagian dari ekosistem ini, UI widget RemoteCompose sepenuhnya dipisahkan dari proses aplikasi tertentu, sehingga dapat diserialisasi dan dirender dengan aman di perangkat Wear OS menggunakan teknologi yang sama dengan stack Android lainnya.
Remote Compose juga menghadirkan grafis modern dan tata letak responsif ke widget, dan melakukan semua ini dengan sangat efisien dan hemat baterai.
Dan dengan Wear OS 7, produsen hardware sudah mengadopsi baki scroll vertikal.
Jadi, ini adalah Samsung Galaxy Watch, dan Anda dapat melihat cara widget di-scroll secara vertikal melalui baki di sini.
Jika ingin mempelajari lebih lanjut cara memigrasikan kartu ke widget, Anda dapat membuka link ini.
Di perangkat lama yang mengandalkan carousel horizontal untuk kartu, widget akan otomatis ditampilkan sebagai kartu layar penuh.
Selain itu, API ini juga sepenuhnya kompatibel dengan Wear OS 4.
Selain itu, link ini akan memberi tahu Anda lebih lanjut tentang kompatibilitas mundur tersebut.
Kami juga memiliki beberapa partner lain yang telah mengadopsi widget.
Anda dapat melihatnya.
Sekian dari saya.
Ya, kembali kepada Anda, Nico.
Terima kasih.
Oke.
Jadi, itulah pembahasan kita.
Kita telah meninjau beberapa kemampuan Remote Compose.
Ada beberapa hal lain yang belum kita bahas.
Framework ini sangat kaya.
Sebaiknya Anda melihat dokumentasi yang tersedia dan dokumentasi yang akan datang.
Tujuan kami adalah membangun masa depan tempat Anda dapat menggunakan Remote Compose untuk menangani semua platform jarak jauh yang berbeda tersebut.
Dan Anda telah melihat beberapa di antaranya, seperti Wear, widget.
Namun, masih banyak lagi yang akan datang.
Saya juga akan mengatakan bahwa ini adalah proyek yang berkelanjutan.
Fitur ini sedang dalam pengembangan aktif.
Kami, Anda tahu, kami mengembangkan semua itu secara terbuka.
Anda dapat melihat apa yang kami lakukan.
Namun, kami sangat ingin mendengar pendapat developer, bukan?
Kami sedang membangunnya untuk Anda.
Jadi, jika Anda memiliki ide tambahan, hal-hal yang Anda lewatkan, hubungi kami.
Kami akan dengan senang hati mendengarnya.
Saya akan mengakhiri ini dengan ini, seluruh presentasi yang baru saja Anda lihat, tentu saja, dilakukan di Remote Compose, termasuk animasi.