Elementy składowe i zgodność
Miniaplikacje to małe aplikacje (zwykle 2–4 MB), które wymagają superaplikacji. Co mają wspólnego, niezależnie od superaplikacji, to to, że są tworzone za pomocą („dialektów”) technologii internetowych HTML, CSS i JavaScript. Środowisko wykonawcze miniaplikacji to WebView w superaplikacji, a nie podstawowy system operacyjny, co sprawia, że miniaplikacje są dostępne na różnych platformach. Ta sama miniaplikacja może działać w tej samej superaplikacji niezależnie od tego, czy superaplikacja działa na Androida, iOS czy innym systemie operacyjnym. Nie wszystkie miniaplikacje mogą jednak działać we wszystkich superaplikacjach. Więcej informacji na ten temat znajdziesz później.
Odkrywanie
Miniaplikacje są często uruchamiane ad hoc za pomocą firmowych kodów kreskowych 2D, co rozwiązuje ważne problemy związane z przenoszeniem danych z offline do online. Przykładem może być przejście z menu restauracji do płatności w miniaplikacji lub z fizycznego skutera elektrycznego do aplikacji do wynajmu. Na poniższym obrazku widać przykład takiego firmowego kodu kreskowego 2D dla demonstracyjnej miniaplikacji WeChat. Gdy kod zostanie zeskanowany za pomocą superaplikacji WeChat, miniaplikacja uruchomi się bezpośrednio. Inne superaplikacje zwykle nie są w stanie rozpoznać kodu kreskowego.

Miniaplikacje można też odkryć w ramach zwykłego wyszukiwania w superaplikacji, udostępnić w wiadomościach na czacie lub znaleźć w postach na karcie Aktualności. Niektóre superaplikacje mają zweryfikowane konta, które mogą zawierać na swoich profilach miniaplikacje. Miniaplikacje mogą być wyróżnione, gdy są fizycznie blisko, np. miniaplikacja firmy, przed którą stoi użytkownik, lub wirtualnie blisko, np. gdy użytkownik otrzymuje wskazówki na mapie wyświetlanej w superaplikacji. Często używane miniaplikacje są dostępne w schowku aplikacji, do którego w wielu superaplikacjach można uzyskać dostęp przez gest przesunięcia w dół lub w specjalnej sekcji menu superaplikacji.
Wrażenia użytkownika
Wszystkie superaplikacje mają mniej więcej ten sam interfejs dla miniaplikacji. Górny pasek z możliwością zmiany motywu i nazwą miniaplikacji oraz w górnym rogu ekranu przycisk zamykania po prawej stronie poprzedzony menu akcji, które zapewnia dostęp do typowych funkcji, takich jak udostępnianie aplikacji, dodawanie jej do listy ulubionych lub do ekranu głównego, zgłaszanie aplikacji naruszających zasady oraz przesyłanie opinii i ustawienia. Poniższy zrzut ekranu pokazuje mini aplikację do zakupów działającą w kontekście super aplikacji Alipay z otwartym menu czynności.

Paradygmaty interfejsu
Zazwyczaj na dole znajduje się pasek kart z główną nawigacją miniaplikacji. Większość dostawców superaplikacji oferuje komponente, które pomagają deweloperom szybko wdrażać typowe paradygmaty interfejsu użytkownika, takie jak karuzele, harmonijki, paski postępu, spinnery, przełączniki, mapy itp. Dzięki temu użytkownicy mogą korzystać z różnych miniaplikacji w sposób spójny, co jest zachęcane w wytycznych WeChat dotyczących projektowania miniprogramów. Jest to podobne do tego, co Apple promuje w wytycznych Apple dotyczących interfejsu użytkownika, a Google w zaleceniach Design for Android.

Obsługa
Zamiast serwowania osobno jako oddzielnych zasobów, miniaplikacje są serwowane jako zaszyfrowane aplikacje pakietowe, czyli jako archiwa zawierające wszystkie zasoby w jednym pliku. W odróżnieniu od zwykłych aplikacji internetowych nie są one udostępniane z konkretnego źródła twórcy miniaplikacji, ale bezpośrednio przez dostawcę superaplikacji. Nadal mogą uzyskiwać dostęp do interfejsów API z serwerów twórcy miniaplikacji, ale podstawowe zasoby (zwane też powłoką aplikacji) muszą być dostarczane przez dostawcę superaplikacji. Miniaplikacje muszą deklarować źródła, z których żądają dodatkowych danych.
Buforowanie, aktualizacje i precyzyjne linki
Miniaplikacje są przechowywane w pamięci podręcznej superaplikacji, więc gdy użytkownik następnym razem uruchomi zapisane w niej miniaplikacje, wczytanie nastąpi niemal natychmiast. Jeśli jest dostępna aktualizacja, wczytuje się nowy pakiet aplikacji. Numer wersji może być częścią identyfikatora URI uruchamiania (patrz Discovery), dzięki czemu superaplikacja od razu wie, czy lokalna wersja w pamięci podręcznej jest nadal aktualna. Identyfikator URI uruchamiania zawiera też opcjonalnie wybraną stronę miniaplikacji, dzięki czemu można tworzyć precyzyjne linki do określonych stron miniaplikacji. Za pomocą mapy witryny miniaplikacje mogą określać, które z ich stron mają być indeksowane przez robota indeksującego miniaplikacji dostawcy superaplikacji.

Zabezpieczenia i uprawnienia
Miniaplikacje są sprawdzane przez dostawcę superaplikacji, co oznacza, że użytkownicy postrzegają je jako bardziej bezpieczne niż aplikacje internetowe. W tym celu muszą wcześniej zadeklarować wymagane uprawnienia w pliku pliku manifestu lub pliku konfiguracji miniaplikacji, który w przypadku niektórych dostawców wymaga również wyjaśnienia, dlaczego dane uprawnienie jest potrzebne. Miniaplikacje mogą oczywiście nadal kłamać, ale trudno im będzie uzasadnić, dlaczego na przykład próbują uzyskać dostęp do czujników ruchu bez wyraźnego powodu dla użytkownika. Motywacja do tworzenia odcisków palców użytkowników jest znacznie mniejsza niż w przypadku przeglądarki, ponieważ użytkownik jest zwykle już zalogowany w superaplikacji (patrz tożsamość, płatności i graf społeczny).
Za każdym razem, gdy miniaplikacja wykonuje działanie wymagające specjalnego uprawnienia, wyświetla się użytkownikowi komunikat, który w przypadku wymuszenia przez platformę zawiera również uzasadnienie użycia podane przez dewelopera. Zrzut ekranu poniżej pokazuje demo mini aplikacji Douyin, która prosi użytkownika o zezwolenie na udostępnienie lokalizacji. W niektórych superaplikacjach jest też interfejs imperatywnego API, którego miniaplikacje mogą używać do żądania uprawnień bez ich natychmiastowego użycia lub tylko do sprawdzania stanu uprawnień. Może to obejmować nawet interfejs API do otwierania ustawień uprawnień centralnej superaplikacji, które odpowiadają ustawieniam witryny w Chrome. Miniaplikacje muszą też wcześniej zadeklarować pochodzenie wszystkich serwerów, z których mogą żądać danych.

Dostęp do zaawansowanych funkcji
Superaplikacja hostująca zapewnia dostęp do potężnych interfejsów API za pomocą mostu JavaScript, który jest wstrzykiwany do komponentu WebView oferowanego przez superaplikację (patrz Elementy składowe i kompatybilność). Ten most JavaScript zapewnia dostęp do interfejsów API systemu operacyjnego. Na przykład funkcja JavaScripta miniaplikacji, np. getConnectedWifi()
, która umożliwia uzyskanie nazwy aktywnej sieci Wi-Fi, jest obsługiwana przez interfejs API Androida getConnectionInfo()
lub iOS CNCopyCurrentNetworkInfo()
. Inne przykłady interfejsów API urządzeń udostępnianych 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, kontrola jasności ekranu, dostęp do systemu plików, wibracje sprzętowe do fizycznej informacji zwrotnej, 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.

Dostęp do usług w chmurze
Wiele superaplikacji zapewnia też dostęp „bez serwera” do usług w chmurze dostawcy superaplikacji, które oprócz przetwarzania i przechowywania danych w chmurze często obejmują też zadania na wyższym poziomie, takie jak tłumaczenie tekstu, wykrywanie obiektów lub klasyfikacja treści w obrazach, rozpoznawanie mowy czy inne zadania związane z systemami uczącymi się. Na miniaplikacji można zarabiać na reklamach, które są często udostępniane przez dostawców superaplikacji. Platformy superaplikacji zwykle udostępniają też dane analityczne z chmury, dzięki czemu deweloperzy miniaplikacji mogą lepiej zrozumieć, jak użytkownicy korzystają z ich aplikacji.
tożsamość, płatności, wykres społecznościowy;
Bardzo ważną funkcją miniaplikacji jest tożsamość i informacje o grafach społecznościowych udostępniane przez superaplikację. Superaplikacje takie jak Douyin czy WeChat zaczęły jako serwisy społecznościowe w najszerszym tego słowa znaczeniu, w których użytkownicy mają tożsamość (czasem nawet zweryfikowaną przez rząd), sieć znajomych lub obserwujących, a często także dane do płatności. Na przykład miniaplikacja do zakupów może (a czasem nawet musi) przetwarzać płatności bezpośrednio za pomocą interfejsów płatności superaplikacji. Po uzyskaniu zgody użytkownika może pobierać dane użytkownika, takie jak adres dostawy, numer telefonu i imię i nazwisko, bez konieczności zmuszania użytkownika do wypełniania żmudnych formularzy. Poniżej możesz zobaczyć mini aplikację Walmart w WeChat, która została otwarta po raz pierwszy i wita mnie znajomą twarzą.

Miniaplikacje mogą stać się bardzo popularne, ponieważ pozwalają użytkownikom udostępniać swoje osiągnięcia, np. wysokie wyniki w grze, oraz rzucać wyzwania kontaktom za pomocą aktualizacji stanu. Miniaplikacja jest wtedy dostępna jednym kliknięciem, dzięki czemu użytkownicy mogą bezproblemowo dołączyć do konkursu, a miniaplikacja zwiększa swój zasięg.
Podziękowania
Ten artykuł został sprawdzony przez Joe Medley, Kayce Basques, Milica Mihajlija, Alan Kent i Keitha Gu.