Starszy inżynier oprogramowania
Deweloper
Zdalne tworzenie wiadomości wprowadza nowy sposób wyświetlania ekspresyjnego i interaktywnego interfejsu na zdalnych powierzchniach, takich jak widżety. Dzięki serializacji układów w kompaktowe ładunki binarne RemoteCompose oddziela interfejs od wykonywania na hoście, co zapewnia znaczne korzyści.
Najważniejsze korzyści to interaktywność na krawędzi, która umożliwia renderowanie o wysokiej wydajności dzięki lokalnemu wykonywaniu na urządzeniu zdalnym, skalowanie płynne, które umożliwia ponowne rozmieszczanie interfejsów na różnych formatach dzięki ocenie komponentów po stronie zdalnej, oraz ujednolicony przepływ pracy dewelopera, który eliminuje potrzebę stosowania platformowych frameworków interfejsu zdalnego dzięki znanym interfejsom API Jetpack Compose.
Podczas tej sesji omówimy te korzyści i przedstawimy przykłady z produkcji, w tym nowoczesne widżety Wear OS i funkcję Wear Workout Tracker w aplikacji Runkeeper.
Transkrypcja
Cześć wszystkim.
Nazywam się Nicolas Roard i jestem kierownikiem technicznym projektu Remote Compose.
Nazywam się John Hoford.
Jestem programistą pracującym nad funkcją tworzenia wiadomości na urządzeniu zdalnym.
Nazywam się John Zoeller i zajmuję się relacjami z deweloperami w Wear OS.
Dobrze, zaczynamy.
Najpierw krótko omówię, jaki dokładnie problem próbujemy rozwiązać za pomocą funkcji Remote Compose.
Zwykle, gdy mówimy lub myślimy o interfejsie na Androidzie, myślimy o nim jako o części aplikacji i jej procesu, prawda?
Jest wiele różnych miejsc, w których czasami chcesz umieścić interfejs, spakować go i wysłać gdzie indziej, na przykład na zdalną powierzchnię.
Zdalna platforma to na przykład tarcze zegarka, widżety, a nawet Twoja własna aplikacja lub inna aplikacja.
Wszystkie te przykłady to w zasadzie zdalne interfejsy.
Więc gdzieś, gdzieś indziej, może to być Twoja aplikacja, może to być serwer, gdzieś indziej wie, co wysłać do tej zdalnej powierzchni.
I…
Co z moim głośnikiem?
Między tymi dwoma punktami jest pewna odległość.
Ta odległość może być dosłownie odległością fizyczną, ale może też być połączeniem sieciowym.
Może to być też granica procesu.
Możesz korzystać z tego samego urządzenia.
Niezależnie od tego, co to jest, wiąże się z kosztami.
Najprostszym sposobem na przesłanie tego interfejsu jest zrobienie zrzutu ekranu i wysłanie go.
Problem w tym, że nie jest to zbyt szybkie, prawda?
Zamiast tego w przypadku Remote Compose wysyłamy dokument reprezentujący ten interfejs.
Pamiętaj, że bycie małym ma wiele zalet.
To ważne.
Widzieliśmy to na pierwszym wysłanym przez Ciebie pikselu, ale dotyczy to wszystkich aktualizacji, które chcesz wprowadzić na tej powierzchni, prawda?
Udało Ci się odbyć podróż w obie strony.
Na tej zdalnej powierzchni pojawia się zdarzenie, kliknięcie lub dotknięcie.
Aby uzyskać nową wersję, musisz skontaktować się z osobą, która utworzyła dokument.
To nie jest dobre.
W dużej mierze właśnie ten problem staramy się rozwiązać za pomocą funkcji zdalnego tworzenia.
Widzieliśmy, że dokument został wysłany.
Oprócz dokumentu są jeszcze 2 bardzo ważne obszary.
Pierwszy to sposób tworzenia dokumentu.
Drugi to sposób, w jaki grasz.
Wspomniałem, że tworzymy dokument.
Nie wysyłamy kopii ekranu ani aplikacji.
Możesz utworzyć taki dokument na 3 sposoby.
Pierwszy to interfejs Compose API, drugi to proceduralny interfejs Kotlin API, KMP, a trzeci to format JSON.
Wszystkie emitują te same bajty.
Dlatego udostępniamy zestaw narzędzi do tworzenia tych dokumentów, a dzięki interfejsowi Compose API możemy korzystać z istniejących narzędzi w Android Studio.
Możesz na przykład użyć podglądu, aby zobaczyć na żywo, co tworzysz, bezpośrednio w IDE.
Pracujemy też nad nowymi, zaawansowanymi narzędziami, takimi jak inspektor dokumentów.
Przyjrzyjmy się krótko temu dokumentowi.
Zasadniczo jest to lista operacji zakodowanych w kompaktowej reprezentacji binarnej, które opisują samodzielny interfejs użytkownika, który można wysłać do tej zdalnej powierzchni.
Bardzo ważną cechą tych dokumentów jest to, że są małe.
Z naszego punktu widzenia mały rozmiar to zaleta.
Zwykle mówimy o kilku kilobajtach, prawda?
Ale nawet w przypadku bardziej złożonego interfejsu z bardzo elastycznym układem mówimy o kilku, może kilkunastu kilobajtach, prawda?
Wszystkie zasoby pakujemy do tego dokumentu.
Jeśli się nad tym zastanowić, jedyną rzeczą, która może naprawdę zajmować miejsce w dokumencie, są bitmapy.
Pamiętaj o tym.
W końcu właśnie dlatego wysyłamy dokument, a nie kopię ekranu.
Kiedy mówimy o byciu małym i ważnym, nie chodzi tylko o komunikację.
To rodzaj centralnego przypadku skrajnego filozofii, która stoi za Remote Compose.
Jak widzieliśmy, ma to oczywiście wpływ na czas potrzebny na wyświetlenie pierwszego piksela na ekranie, ale ups, przepraszam.
Oznacza to również, że możemy używać większej liczby dokumentów, zachowując przy tym wydajność.
And that's something we'll see that we take advantage of when we support widgets.
Same odtwarzacze są zwykle dość małe i mają bardzo mało zależności.
Dzięki temu, że są małe i mają niewiele zależności, możemy rozszerzyć zasięg do miejsc, w których możemy odtwarzać dokumenty Remote Compose.
Jest to szczególnie ważne w przypadku platform z ograniczeniami, jak się przekonasz.
Dużo mówiłem o transporcie i odległości, ale Remote Compose nie zajmuje się transportem.
To Twoja sprawa.
Wszystko to pakujemy w bufor bajtów, który można następnie wysłać odpowiednią metodą do zdalnej powierzchni.
W przypadku widżetów pomagamy, udostępniając oprogramowanie sprzęgające.
Ogólnie rzecz biorąc, warto pamiętać, że to Ty odpowiadasz za transport.
Gdy odtwarzacz otrzyma ten dokument, niezależnie od sposobu jego wysłania, może wyodrębnić listę operacji i przekonwertować je na polecenia rysowania, drzewa układu i wyrażenia. Wszystko to razem może zapewnić użytkownikom naprawdę bogate wrażenia.
Warto pamiętać, że dając Ci możliwość decydowania o tym, jak chcesz przenieść dokument, umożliwiamy Ci ponowne użycie funkcji zdalnego tworzenia wiadomości jako narzędzia w wielu sytuacjach, o których możemy nawet nie pomyśleć.
Po wczytaniu dokumentu przez odtwarzacz uruchamia się on samoczynnie.
I to jest właśnie cały pomysł.
Chcemy, aby dokument tworzył interfejs, który jest w pewnym stopniu autonomiczny i nie musi wracać do osoby, która go utworzyła, prawda?
Wszystkie te elementy, takie jak zmiana rozmiaru, przewijanie, zdarzenia dotknięcia, wyświetlanie lub ukrywanie komponentów, animacje, zdarzenia dotknięcia i obsługa dotknięć, mogą być obsługiwane w dokumencie bez konieczności powrotu do odtwarzacza.
Czasami, jeśli chcesz wrócić do tworzenia, możesz poprosić o działanie, mówiąc: „Proszę o nowy dokument”.
Udostępniamy 3 oficjalne odtwarzacze, głównie za pomocą bibliotek AndroidX w Remote Compose.
Jednym z nich jest odtwarzacz Compose, którego możesz używać w aplikacji Compose.
Mamy też odtwarzacz View, jeśli nadal korzystasz z tej usługi.
Mamy też implementację RemoteViews, która jest dostępna na platformie Androida od interfejsu API 36 i umożliwia tworzenie widżetów Androida działających w menu z użyciem Remote Compose.
Mamy też kilka eksperymentalnych odtwarzaczy, jeśli jesteście zainteresowani, m.in. C++ działający na Skia, TypeScript, a nawet Compose Multiplatform.
Chodzi o to, że tę samą technologię, której używasz, można zasadniczo wykorzystać do renderowania na wielu różnych platformach.
Podsumowując, odległość, o której wspomniałem/wspomniałam, nadal ma znaczenie, ale staramy się, aby miało to znaczenie tylko wtedy, gdy jest to naprawdę istotne.
Tak.
Porozmawiajmy więc trochę o możliwościach, jakie daje dokument Remote Compose.
U podstaw znajduje się Canvas, który ma wszystkie funkcje Android Canvas.
ale z kilkoma dodatkowymi interfejsami API.
Jedną z wyjątkowych cech jest to, że wszystkie liczby zmiennoprzecinkowe w Android Canvas można zastąpić wyrażeniami.
Dzięki temu możesz tworzyć animacje, dynamiczne skalowanie i elastyczne układy.
Można z nią zrobić wiele różnych rzeczy.
Więcej informacji o wyrażeniach.
Masz do dyspozycji bogaty zestaw operatorów, od zwykłej matematyki, przez trygonometrię, dostęp do tablic, po interpolację krzywych sklejanych.
Jedną z fajnych rzeczy jest to, że każdą wartość, która się zmienia, można animować, dzięki czemu można animować zmianę stanu dowolnej wartości.
Na tym rysunku każde wahadło wybiera inny rodzaj animacji, a wszystkie są dostępne w Remote Compose.
Oprócz tego mamy podstawowe komponenty, elementy Compose i inne znane Ci rzeczy.
Generuje bardzo znany interfejs API, pole, wiersz, kolumnę i inne elementy.
Oprócz tego mamy komponenty adaptacyjne.
Jedną z zalet tego rozwiązania jest to, że ponieważ nie masz wtedy kontroli nad dokumentem, mogą one obsługiwać obiekty, które znikają, pojawiają się, odchodzą, wracają z powodu zmiany rozmiaru itp., a wszystko to bez konieczności powrotu do źródła dokumentu.
Oprócz tego mamy animację komponentów.
Wszystkie zmiany można animować, więc jeśli coś znika, możesz to animować.
Możesz też tworzyć własne animacje.
W tym przypadku niektóre z nich używają cieniowania i innych funkcji.
Możemy też wchodzić w interakcje, więc nie chodzi tylko o ładne zdjęcia.
Możesz klikać elementy, korzystać ze zdarzeń dotknięcia, przewijać i wykonywać inne czynności.
Ważne są też ułatwienia dostępu, dlatego znajdziesz tam wszystkie interfejsy API ułatwień dostępu.
Jedną z rzeczy, które tu widzisz, jest to, że tworzę pełny stoper z ciekawymi interfejsami, a wszystko to dzieje się po stronie odtwarzacza.
Wszystko jest w dokumencie.
Wszystko, co widzisz, nie wymaga powrotu do serwera.
Jeśli utworzysz go w aplikacji, niebieskie części będą aplikacją, a czarne – dokumentem Remote Compose.
Możesz nawet wchodzić w interakcje między nimi.
Tutaj zwiększam wartości i widzisz, że są one odbierane przez aplikację, którą nazywamy hostem. Mogę też przesunąć suwak, co spowoduje zmianę wartości w dokumencie.
Mogę więc pójść w obu kierunkach.
Przyjrzyjmy się, jak utworzyć taki dokument.
W rzeczywistości istnieją 3 interfejsy API: Compose, Kotlin i JSON.
Interfejs Compose API jest już znany.
Ma kilka niuansów, które szczegółowo omówimy.
Interfejs API Kotlin jest bardzo proceduralny.
W dokumencie jest jedno polecenie, więc jest to relacja jeden do jednego.
JSON to składnia JSON, którą można przekonwertować na Remote Compose za pomocą konwerterów.
Jest to również przydatne, jeśli pracujesz z dużym modelem językowym, ponieważ może on odczytywać i zapisywać dokumenty.
Przejdźmy do Compose i coś utwórzmy.
W tym przypadku zobaczysz, że jest to element kompozycyjny i zdalny element kompozycyjny.
Mamy obszar roboczy, ale nie jest to zwykły obszar roboczy, tylko zdalny obszar roboczy i zdalne modyfikatory, ale same modyfikatory są takie same, jak te, które znacie i lubicie.
Teraz wszystkie polecenia wewnątrz niego generują polecenia zdalne Utwórz dokument.
W tym przypadku rysujemy okrąg, a następnie dodajemy kilka liczb zmiennoprzecinkowych i wyrażeń, które wykorzystują czas.
Gdy włączę animację, zobaczysz, że jest to podgląd na żywo z Android Studio, który będzie działać na żywo.
Widzisz te wyrażenia.
Przyjrzyjmy się temu, o co w tym chodzi i jak to działa.
Po lewej stronie zobaczysz coś, co wygląda jak arkusz kalkulacyjny.
Jest to tabela wartości w formacie liczb zmiennoprzecinkowych.
Ma też drzewo zależności, dzięki czemu wiesz, gdzie jedna rzecz łączy się z drugą.
Gdy coś się zmienia, elementy zależne są oznaczane jako nieaktualne i wymagające wyczyszczenia oraz dostosowania.
Podczas działania wyczyści wszystkie zależności i oceni tylko te, które się zmienią.
Jest to więc bardzo wydajne. Jeśli na przykład zmieni się rozmiar obiektu, zmieni się też zależność i musi to zostać odzwierciedlone.
To bardzo, bardzo wydajny sposób obliczeń, ponieważ nie przechodzisz od góry do dołu, tylko działasz bardzo efektywnie.
Rozbudujmy nieco ten zegar, aby pokazać, że możemy tworzyć prawdziwe rzeczy, a przynajmniej coś, co je przypomina.
W tym przypadku dodamy kilka znaczników na krawędziach i zobaczysz kilka pętli for, dzięki czemu możesz utworzyć pętlę for w lokalizacji i po prawej stronie.
Następnie dodajemy wskazówki godzinowe i minutowe, a potem sek-- dodajemy sekundy, a na koniec kilka różnych przycisków, aby zakończyć, i mamy działający zegar.
Właściwie to pokazuje godzinę.
Inną ciekawą rzeczą jest to, że można napisać to samo w formacie JSON. Jeśli jest to JSON, można łatwo wejść w interakcję z LLM, mówiąc: „Zmień wskazówkę minutową na zieloną”, a model zrozumie, o co chodzi.
To bardzo wygodne.
OK.
Po prawej.
Mamy nadzieję, że to daje Ci wyobrażenie o możliwościach zdalnego tworzenia wiadomości.
Let me cover a little bit the developer support we have for you, right?
Wspomniałem, że są to głównie biblioteki AndroidX, więc wszystko, co jest na DAC, wiecie, gdzie znaleźć.
Będziesz mieć dostęp do najnowszych wersji, dokumentacji i innych materiałów.
Jak zwykle John pokazał, co możemy zrobić w Android Studio.
Myślę, że najfajniejszą rzeczą jest podgląd na żywo, który naprawdę przyspiesza czas tworzenia.
Pracujemy też nad publiczną, otwartą specyfikacją formatu.
Nie staramy się ukrywać tych informacji. Są one dostępne.
Możesz zobaczyć, jak to działa, jak jest zbudowane i zakodowane.
Jedną z często używanych funkcji w aplikacjach są animowane obiekty rysowalne wektorowo. To bardzo wygodne rozwiązanie.
Pamiętaj też o tym, co mówiłem o bitmapach.
Zależy nam na tym, abyście wysyłali wektory, a nie mapy bitowe, prawda?
Dlatego tworzymy kilka narzędzi, które pomogą Ci przekonwertować na przykład plik Lottie lub inny format na komponent RemoteCompose, którego możesz użyć w pliku RemoteCompose.
Wspomniałem wcześniej, że pracujemy też nad dodatkowymi narzędziami, a konkretnie nad inspektorem dokumentów, ponieważ czym innym jest tworzenie, a czym innym możliwość sprawdzenia wyniku tego tworzenia.
W naszym przypadku jest to dokument.
Oto krótki podgląd narzędzia, nad którym pracujemy.
Jest to inspektor dokumentów RemoteCompose, który umożliwia sprawdzanie dokumentów, jak sama nazwa wskazuje, oraz stosowanie do nich kilku przydatnych narzędzi i wizualizacji.
Możesz na przykład otworzyć dokument i wykonać krok po kroku różne operacje, które są w nim opisane, aby lepiej zrozumieć, jak wszystko się ze sobą łączy.
Mamy jednak dodatkowe narzędzia.
Na przykład bardzo podoba mi się ta, która natychmiast wizualizuje dokument w różnych gęstościach i rozmiarach, dzięki czemu można bardzo szybko sprawdzić, czy to, co tworzysz, będzie się dobrze dostosowywać do różnych zmian rozmiaru.
Jedną z najnowszych rzeczy, nad którymi pracujemy, jest też rozbudowane narzędzie Layout Inspector, czyli funkcje kontroli układu, do których jesteście przyzwyczajeni w Android Studio, ale tutaj zastosowane do operacji i dokumentów.
Możemy też pójść jeszcze dalej w kwestii 3D.
Wspomniałem wcześniej, że mały rozmiar jest zaletą, i mam nadzieję, że udało mi się Was do tego przekonać.
To ważne.
Zależy nam na małych dokumentach.
To pomaga wszystkim.
Zrób to.
Co możemy z tym zrobić?
Weźmy typowy przykład interfejsu.
Może to być coś, co zawiera wiele wierszy.
Wiersze zawierają nazwę, mały wykres i być może przycisk.
Dość typowe.
Interfejs jest już dość mały.
Mówimy o około 25 kB, ale w RemoteCompose mamy różne funkcje, które pomogą Ci jeszcze bardziej zmniejszyć ten rozmiar.
Przyjrzyjmy się im po kolei.
Pierwsza rzecz, którą robimy, i to bezpłatnie, to wykrywanie, czy wysyłasz te same ciągi znaków.
Możemy zaoszczędzić kilka bajtów, wskazując ten sam ciąg znaków.
Ale udostępniamy więcej elementów, np. pętle.
W tym przypadku użyłem operacji pętli, aby narysować mały wykres.
To pozwala zaoszczędzić jeszcze kilka bajtów.
Mamy też funkcje.
Możesz więc utworzyć funkcję – tutaj robię to ponownie dla tego wykresu – a następnie po prostu wywołać ten wykres wielokrotnie.
To również pozwoli mi zaoszczędzić trochę bajtów.
A w przypadku komponentów mamy szablony, prawda?
Podobne pomysły jak w przypadku funkcji, ale bardziej dotyczące komponentu, prawda?
Dzięki temu mogę zastąpić wszystkie te różne komponenty i wiersze, po prostu wywołując ten szablon z odpowiednimi parametrami, co pozwala zaoszczędzić sporo miejsca w dokumencie.
Ostatnią rzeczą, którą obsługujemy, jest kompresowanie dokumentu.
Zwykle w ten sposób można zmniejszyć rozmiar dokumentu o około połowę.
Ciekawostką jest to, że nagłówek dokumentu jest nieco wyjątkowy.
Nie kompresujemy go.
To bardzo przydatne, jeśli chcesz szybko przejrzeć mnóstwo dokumentów bez konieczności ich dekompresowania.
Podsumowując, dokumenty są małe, ale można je jeszcze bardziej zmniejszyć.
Jak widać na tym przykładzie, łatwo jest dosłownie zmniejszyć go o rząd wielkości, ponieważ jest to niewielka funkcja.
Omówiliśmy widżety, a w szczególności widżety programu uruchamiającego na platformie Androida.
Omówmy więc krótko, co robimy i co już jest dostępne.
Pierwszą rzeczą, którą możemy zrobić, jest zreplikowanie istniejącego widżetu, takiego jak zegar, wyłącznie w RemoteCompose. Będzie on działał zasadniczo tak samo, tylko w RemoteCompose.
Ale możemy zrobić więcej, prawda?
Jeśli więc chcesz stworzyć bardziej adaptacyjny interfejs, widżety, które zmieniają rozmiar i prawidłowo się animują, możesz to zrobić.
Ponieważ mamy odpowiednie elementy podstawowe, które pozwalają to zrobić, w przeciwieństwie do tego, co można zrobić z widokami zdalnymi.
Zapewniamy Ci znacznie większą elastyczność i możliwości.
A skoro mowa o mocy, oto krótki przykład szalonych rzeczy, które można zrobić.
W widżecie wyświetla się cała gra.
Wskazałbym też rzeczywisty rozmiar tego widżetu.
Mówimy o 4 KB.
Wspomniałem, że transport nie jest czymś, czym zajmujemy się bezpośrednio w Remote Compose.
W przypadku widżetów udostępniamy klasę oprogramowania sprzęgającego RemoteCompose Widget, która pozwala łatwo pobrać dokument i wysłać go do programu uruchamiającego.
Jeśli jednak masz już widżety, zachęcamy do dalszego korzystania z Glance, ponieważ najnowsza wersja Glance automatycznie udostępnia backend do emitowania Remote Compose na platformie.
A teraz porozmawiajmy o Wear OS.
Dziękuję, Nico.
Cześć wszystkim!
Nazywam się John Zoeller.
Chcę porozmawiać o Wear OS.
Na potrzeby tej prezentacji napisałem około 30 żartów, ale gdy opowiedziałem je mamie, powiedziała, że jeśli opowiem którykolwiek z nich, zostanę zwolniony.
Pominę więc ten krok i od razu przejdę do prezentacji.
Porozmawiajmy o funkcji Remote Compose i jej zaletach na Wear OS.
Najpierw omówimy nowy moduł śledzenia treningów na Wear OS.
Do stworzenia tej aplikacji użyliśmy Remote Compose. Wiemy, że stworzenie w pełni funkcjonalnego, wysokiej jakości trackera treningowego na Wear jest naprawdę trudne.
Może to trochę potrwać.
Zrobiliśmy to za Ciebie i dodaliśmy kilka naprawdę fajnych, nowoczesnych funkcji treningowych, takich jak wskaźniki na żywo i możliwość sterowania multimediami.
Dzięki Remote Compose udało nam się oddzielić interfejs od wszystkich procesów, dzięki czemu aplikacja działa bardzo wydajnie i nie rozładowuje baterii użytkowników.
Bez funkcji Remote Compose, gdybyśmy robili to za pomocą zwykłego Compose, nie moglibyśmy odświeżać wskaźników na żywo na ekranie co sekundę.
W rzeczywistości zajęłoby to minutę, ponieważ trzeba by było wybudzić zegarek z trybu nieaktywnego, aby wyświetlić wskaźnik.
To duża zaleta.
Wierzcie lub nie, ale to jest GIF.
To nie jest zdjęcie.
Wiem, że jeszcze się nie zmieniła, ale zmieni się za około 45 sekund, gdy nastąpi kolejna aktualizacja danych.
Ale to jest właśnie zaleta zdalnego tworzenia wiadomości.
Nie zgadniesz!
Jest dostępna, Wear Workout Tracker.
Aplikacja ASICS Runkeeper została utworzona za pomocą tego narzędzia. Możesz ją wypróbować już dziś, klikając ten link i dołączając do otwartych testów beta.
Kolejną nowością są widżety na Wear OS.
To kolejny świetny przykład działania funkcji zdalnego tworzenia wiadomości.
Zastępują one starą bibliotekę ProtoLayout Tiles, więc nie musisz już obsługiwać 2 różnych typów platform UI na różnych urządzeniach.
Wszystko to możesz zrobić dzięki funkcji zdalnego tworzenia wiadomości.
A ponieważ widżety na Wear OS są częścią Jetpack Glance, należą do ujednoliconego ekosystemu Androida.
W ramach tego ekosystemu interfejs widżetów RemoteCompose jest całkowicie oddzielony od konkretnego procesu aplikacji, dzięki czemu można go bezpiecznie serializować i renderować na urządzeniach z Wear OS przy użyciu tej samej technologii co w przypadku reszty stosu Androida.
Remote Compose zapewnia też nowoczesną grafikę i responsywne układy widżetów, a przy tym jest bardzo wydajny i nie obciąża baterii.
W Wear OS 7 producenci sprzętu już wdrażają pionowo przewijane panele.
To jest Samsung Galaxy Watch. Możesz zobaczyć, jak widżety przewijają się pionowo w zasobnikach.
Jeśli chcesz dowiedzieć się więcej o migracji kafelka do widżetu, kliknij ten link.
Na starszych urządzeniach, które korzystają z poziomych karuzel kafelków, widżety będą automatycznie wyświetlane jako kafelki pełnoekranowe.
Są też w pełni zgodne wstecznie z Wear OS 4.
Ten link zawiera więcej informacji o zgodności wstecznej.
Mamy też kilku innych partnerów, którzy już wdrożyli widżety.
Możesz to sprawdzić.
To wszystko z mojej strony.
Tak, oddaję głos Nico.
Dziękujemy.
OK.
To wszystko, co chcieliśmy omówić.
Omówiliśmy niektóre możliwości funkcji zdalnego tworzenia wiadomości.
Jest jeszcze kilka, o których nie wspomnieliśmy.
To bardzo rozbudowana platforma.
Zachęcam do zapoznania się z dostępną i nadchodzącą dokumentacją.
Naszym celem jest stworzenie przyszłości, w której będzie można używać funkcji Remote Compose do obsługi wszystkich tych różnych zdalnych interfejsów.
Widzieliście już niektóre z nich, np. Wear, widżety.
Ale to nie wszystko.
To jest projekt, który cały czas trwa.
Jest ona aktywnie rozwijana.
Wszystko to rozwijamy w otwarty sposób.
Możesz zobaczyć, co robimy.
Chcemy jednak poznać opinie deweloperów.
Pracujemy nad tym.
Jeśli masz dodatkowe pomysły lub czegoś Ci brakuje, skontaktuj się z nami.
Bardzo nas to cieszy.
Na koniec chciałbym dodać, że cała prezentacja, którą właśnie zobaczyliście, została przygotowana w Remote Compose, łącznie z animacjami.