Czym są miniaplikacje?

Miniaplikacje to małe (zwykle 2–4 MB), które do działania wymagają superaplikacji. Wspólną cechą, niezależnie od superaplikacji, jest to, że są tworzone przy użyciu („dialektów”) technologii internetowych HTML, CSS i JavaScript. Środowisko wykonawcze miniaplikacji to WebView w superaplikacji, a nie bazowy system operacyjny, który sprawia, że miniaplikacje są na różnych platformach. Ta sama miniaplikacja może działać w tej samej superaplikacji niezależnie od tego, czy działa ona na Androidzie, iOS czy w innym systemie operacyjnym. Jednak nie wszystkie miniaplikacje mogą działać we wszystkich superaplikacjach – więcej informacji znajdziesz później.

Kampanie Discovery

Miniaplikacje są często wykrywane doraźnie za pomocą markowych kodów kreskowych 2D, które stanowią rozwiązanie ważnego wyzwania związanego z nawiązywaniem kontaktów offline w internecie, np. przechodzenie z fizycznego menu restauracji do miniaplikacji do płatności lub z fizycznego e-hulajnogi do miniaplikacji do wypożyczenia. Na poniższym obrazie widać przykładowy kod kreskowy 2D z marką w aplikacji WeChat uruchamia się superaplikacja WeChat z kodem demonstracyjnym. Inne superaplikacje zazwyczaj nie rozpoznają kodu kreskowego.

Kod kreskowy 2D marki WeChat.
Skanowanie tego kodu kreskowego za pomocą aplikacji WeChat uruchamia wersję demonstracyjną miniaplikacji.

Miniaplikacje można też odkrywać, wyszukując je w superaplikacji, udostępniać w wiadomościach na czacie lub być częścią elementu z wiadomościami w kanale wiadomości. W przypadku niektórych superaplikacji w profilach użytkowników mogą znajdować się miniaplikacje. Miniaplikacje można podświetlać, gdy znajdują się w pobliżu geograficznie. Może to być miniaplikacja firmy, przed którą stoi użytkownik, lub wirtualnie blisko, np. gdy użytkownik wyświetla trasę dojazdu na mapie wyświetlanej w superaplikacji. Najczęściej używane miniaplikacje są dostępne w panelu aplikacji, do którego można uzyskać dostęp, przesuwając palcem w dół lub przez specjalną sekcję menu superaplikacji.

Wygoda użytkowników

Wszystkie superaplikacje mają mniej więcej taki sam interfejs miniaplikacji. Motyw górny pasek z nazwą miniaplikacji i w prawym górnym rogu ekranu z przyciskiem zamykania po prawej stronie menu czynności. Zapewnia on dostęp do typowych funkcji, takich jak udostępnianie aplikacji, dodawanie jej do listy ulubionych lub na ekranie głównym, zgłaszanie aplikacji wprowadzających w błąd, przesyłanie opinii i ustawień. Zrzut ekranu poniżej pokazuje miniaplikację produktową działającą w kontekście aplikacji Super Alipay z otwartym menu czynności.

Superaplikacja Alipay z aplikacją produktową z podświetlonym górnym paskiem, przyciskiem menu czynności i przyciskiem zamykania. Menu czynności jest otwarte.
Otwarto menu czynności dla miniaplikacji zakupowej uruchomionej w superaplikacji Alipay.

Wzorzec interfejsu użytkownika

Zwykle dolny pasek kart służy do głównego nawigacji w miniaplikacji. Większość dostawców superaplikacji oferuje komponenty, które pomagają deweloperom w szybkim implementowaniu popularnych paradygmatów interfejsu, takich jak karuzele, akordeony, paski postępu, wskaźniki postępu, przełączniki, mapy itd. Pomaga to również zadbać o spójność wrażeń użytkowników między różnymi miniaplikacjami. Zachęcają do tego wytyczne dotyczące tworzenia miniprogramów WeChat. Jest to podobne do tego, do czego zachęca Apple w swoich wytycznych Apple Human Interface (w języku angielskim) oraz w rekomendacjach projektowania na Androida.

Miniaplikacja Douyin z suwakiem Douyin (karuzelą) z przełącznikami automatycznego przechodzenia, wskaźnikami kropek itp.
Komponent suwaka Douyina (karuzela) z różnymi opcjami.

Aktywna

Zamiast udostępniać je pojedynczo jako zasoby, miniaplikacje są obsługiwane jako zaszyfrowane aplikacje w pakietach, czyli archiwa, które zawierają wszystkie zasoby w jednym pliku. W przeciwieństwie do zwykłych aplikacji internetowych nie są one też wyświetlane z konkretnego źródła miniaplikacji, lecz bezpośrednio od dostawcy superaplikacji. Nadal mają dostęp do interfejsów API z serwerów minitwórcy aplikacji, ale podstawowe zasoby (nazywane potocznie powłoką aplikacji) muszą być udostępniane przez superdostawcę aplikacji. Miniaplikacje muszą zadeklarować źródło, z którego żądają dodatkowych danych.

Buforowanie, aktualizacje i precyzyjne linki

Miniaplikacje są przechowywane w pamięci podręcznej superaplikacji, więc gdy użytkownik uruchomi ją w pamięci podręcznej, wczytuje się ona niemal natychmiast. Jeśli aktualizacja jest dostępna, wczytuje się nowy pakiet aplikacji. Numer wersji może być częścią identyfikatora URI uruchamiania (patrz Wykrywalność), dzięki czemu superaplikacja dowiaduje się z wyprzedzeniem, czy wersja z lokalnej pamięci podręcznej jest wciąż aktualna. Identyfikator URI uruchamiania opcjonalnie zawiera też żądaną stronę miniaplikacji, więc możliwe jest tworzenie precyzyjnych linków do wybranych stron miniaplikacji. W mapie witryny miniaplikacje mogą zadeklarować, które strony powinny być indeksowane przez minirobot superaplikacji, z których korzysta.

Finder w systemie macOS przedstawiający folder zawierający pliki miniaplikacji WeChat przechowywanej w pamięci podręcznej.wxapkg.
Miniaplikacje są przechowywane w pamięci podręcznej jako zaszyfrowane aplikacje w pakietach.

Zabezpieczenia i uprawnienia

Małe aplikacje są sprawdzane przez superdostawcę aplikacji, co oznacza, że użytkownicy postrzegają je jako bezpieczniejsze niż aplikacje internetowe. Muszą najpierw zadeklarować potencjalnie wymagane uprawnienia w pliku manifestu lub minipliku konfiguracyjnym aplikacji. W przypadku niektórych dostawców konieczne jest też wyjaśnienie, dlaczego określone uprawnienia są potrzebne. Miniaplikacje mogą oczywiście kłamać, ale trudno byłoby im uzasadnić, dlaczego tak jest – na przykład próbują uzyskać dostęp do czujników ruchu bez podania powodu dla użytkownika. Zachęcanie użytkowników do „odcisku palca” jest znacznie mniej niż w internecie, ponieważ użytkownik zwykle i tak jest już zalogowany w superaplikacji (patrz Tożsamość, płatności i wykres społecznościowy).

Za każdym razem, gdy miniaplikacja wykonuje operację, która wymaga specjalnych uprawnień, użytkownikowi wyświetla się prośba, która (jeśli wyegzekwowana przez platformę) zawiera też uzasadnienie użycia określone przez dewelopera. Zrzut ekranu poniżej pokazuje miniaturową aplikację Douyin, w której pojawia się prośba o pozwolenie na udostępnienie lokalizacji. W niektórych superaplikacjach dostępny jest też interfejs API, którego miniaplikacje mogą używać do wysyłania próśb o przyznanie uprawnień bez natychmiastowego korzystania z nich lub tylko do sprawdzania stanu uprawnień. Może to nawet zawierać interfejs API umożliwiający otwieranie głównych ustawień uprawnień superaplikacji, które są zgodne z ustawieniami witryn Chrome. Miniaplikacje muszą też wcześniej zadeklarować pochodzenie wszystkich serwerów, z których mogą żądać danych.

Prezentacja miniaplikacji Douyin z prośbą o geolokalizację z 2 opcjami: „Niedozwolony” i „Dozwolony”.
Prezentacja miniaplikacji Douyin z prośbą o uprawnienia do geolokalizacji.

Dostęp do zaawansowanych funkcji

Hostująca superaplikacja zapewnia dostęp do zaawansowanych interfejsów API za pomocą mostka JavaScript, który jest wstrzykiwany do komponentu WebView oferowanego przez superaplikację (patrz Elementy składowe i zgodność). Ten most JavaScript łączy się z interfejsami API systemu operacyjnego. Na przykład funkcja miniaplikacji w języku JavaScript taka jak getConnectedWifi() – możliwość uzyskania przez miniaplikacji nazwy obecnie aktywnej sieci Wi-Fi – jest realizowana przez interfejs getConnectionInfo() API na Androida lub interfejs CNCopyCurrentNetworkInfo() API na iOS. Inne przykłady zaawansowanych interfejsów API urządzeń, które są dostępne w popularnych superaplikacjach to Bluetooth, NFC, iBeacon, GPS, schowek systemowy, czujniki orientacji, informacje o baterii, dostęp do kalendarza, dostęp do książki telefonicznej, sterowanie jasnością ekranu, dostęp do systemu plików, sprzęt wibracyjny do fizycznego przekazywania opinii, dostęp do aparatu i mikrofonu, nagrywanie ekranu i tworzenie zrzutów ekranu, stan sieci, gniazda UDP, skanowanie kodów kreskowych, informacje o pamięci urządzenia i inne.

Prezentacja miniaplikacji WeChat z przesuwanym suwakiem jasności ekranu urządzenia.
Prezentacja miniaplikacji WeChat ustawiająca maksymalną jasność ekranu urządzenia.

Dostęp do usług w chmurze

Wiele superaplikacji zapewnia również „bezserwerowy” dostęp do usług w chmurze dostawcy superaplikacji, które – oprócz surowych usług w chmurze i miejsca w chmurze – często obejmują również zadania wyższego poziomu, takie jak tłumaczenie tekstu, wykrywanie obiektów lub klasyfikacja treści na obrazach, rozpoznawanie mowy i inne zadania systemów uczących się. W miniaturach aplikacji można zarabiać dzięki reklamom, które są powszechnie udostępniane przez dostawców superaplikacji. Superplatformy aplikacji zwykle dostarczają też danych analitycznych w chmurze, więc deweloperzy miniaplikacji mogą lepiej zrozumieć, jak użytkownicy korzystają z ich aplikacji.

Tożsamość, płatność, wykres społecznościowy

Bardzo ważną cechą miniaplikacji są informacje o tożsamości i wykresy społecznościowe, które są udostępniane z superaplikacji. Superaplikacje, takie jak Douyin czy WeChat, na początku były to serwisy społecznościowe (w najogólniejszym sensie), gdzie użytkownicy mają tożsamość (niekiedy nawet weryfikowaną przez władze państwowe), sieć znajomych lub obserwujących, a często także zapisane dane o płatnościach. Na przykład miniaplikacja zakupowa może (a czasem nawet musi) przetwarzać płatności bezpośrednio przez interfejsy płatności w superaplikacji i za zgodą użytkownika uzyskiwać dane użytkownika, takie jak adres dostawy, numer telefonu oraz imię i nazwisko, bez konieczności zmuszania użytkownika do niewypełniania formularzy. Poniżej widać miniaplikację Walmart uruchomioną po raz pierwszy w WeChat i przywitając mnie znajomą twarz.

Miniaplikacja Walmart z twarzą i imieniem autora na karcie „Ja”.
Miniaplikacja Walmart ze spersonalizowanym widokiem „Ja” przy pierwszej wizycie.

Miniaplikacje cieszą się dużą popularnością, ponieważ umożliwiają użytkownikom dzielenie się osiągnięciami, np. najlepszymi wynikami w grze, i rzucanie wyzwań dzięki aktualizacjom statusu. Od miniaplikacji dzieli Cię tylko kliknięcie, użytkownicy mogą bez problemów dołączyć do rywalizacji, a w ten sposób zwiększyć jej zasięg.

Podziękowania

Ten artykuł zrecenzowali Joe Medley, Kayce Basques, Milica Mihajlija, Alan Kent i Keith Gu.