Programowanie miniaplikacji

W tym rozdziale chcę cofnąć się o wnioski, analizując miniaplikacje z perspektywy dewelopera stron internetowych, lub odpowiedzieć na pytanie, co oznacza opracowanie miniaplikacji.

Zamiast jednak zmuszać programistów do tworzenia kolejnej implementacji popularnych paradygmatów interfejsu, takich jak karty, akordeony, karuzele itp., miniaplikacje są po prostu wyposażone w domyślny zestaw komponentów, które można rozszerzyć w razie potrzeby. W internecie podobnie jest wiele opcji. Niektóre z nich wymienię w rozdziale o mini komponentach aplikacji. W idealnym świecie biblioteki komponentów w internecie były tworzone w taki sposób, że można je swobodnie łączyć. W praktyce zbyt często występuje pewna blokada, która polega na tym, że podczas korzystania z danego komponentu należy się uzależnić od jego systemu lub gdy biblioteka komponentów jest rozpowszechniana w taki sposób, że staje się ona całością albo niczym, ale nie da się łatwo dodać do projektu poszczególnych komponentów. Istnieją jednak elementy niepodzielne, których możesz używać oddzielnie, lub biblioteki, takie jak komponenty ogólne, których styl nie jest celowo zmieniany. Wydaje mi się, że dobrym pomysłem będzie ich wykorzystanie.

Model-widok danych

Wzorzec architektoniczny model-widok-widoki (MVVM) ułatwia oddzielenie tworzenia interfejsu graficznego (widoku) za pomocą języka znaczników od rozwoju logiki backendu (modelu) – oznacza to, że widok nie jest zależny od żadnej konkretnej platformy modelu. Chociaż ten wzorzec ma pewne wady, ogólnie sprawdza się on w przypadku złożonych miniaplikacji. Świetnie sprawdza się zwłaszcza w przypadku rozbudowanych bibliotek szablonów (patrz następny rozdział).

Optymalizacja pod kątem stron

Debugowanie miniaplikacji wskazuje, że są to właściwie aplikacje wielostronicowe (MPA). Ma to wiele zalet, np. pozwala na proste kierowanie i unikanie konfliktów w stylu poszczególnych stron. W przypadku progresywnych aplikacji internetowych użytkownicy z powodzeniem zastosowali architektury MPA. Takie podejście pomaga też zarządzać zasobami, takimi jak pliki CSS i JavaScript każdej z stron, a także innymi zasobami, np. obrazami i filmami. Co najważniejsze, budowanie w ten sposób oznacza bezpłatne podział kodu na podstawie trasy, jeśli nie wczytasz niczego innego. W takim przypadku każda strona z definicji ściśle wczytuje tylko to, co jest potrzebne do działania.

Proces kompilacji

Miniaplikacje nie mają widocznego procesu kompilacji. W internecie nowoczesne narzędzia do tworzenia, takie jak Snowpack, wykorzystują wbudowany system modułów JavaScript (nazywany ESM), aby uniknąć niepotrzebnej pracy i utrzymać szybkość niezależnie od wielkości projektu. Chociaż technologie takie jak pakiety Web Bundle dopiero się rozpoczęły, można je łatwo dodać do procesu kompilacji.

Zaawansowane możliwości

Ostatnio platforma internetowa zyskała wiele nowych funkcji. Dostęp do urządzeń przez Bluetooth, USB, HID, serial i NFC jest teraz możliwy. W sytuacjach, gdy miniaplikacje działają w komponencie WebView i korzystają z mostu JavaScript, w internecie te zaawansowane funkcje są dostępne bezpośrednio. Dzięki temu nie musisz korzystać z interfejsu API udostępnianego przez most JavaScript, ale tylko do interfejsu API przeglądarki bez udziału pośrednika.

Podziękowania

Ten artykuł napisali Joe Medley, Kayce Basques, Milica Mihajlija, Alan Kent oraz Keith Gu.