Co sprawdza się w przypadku miniaplikacji
W tym rozdziale omawiam wnioski z badań nad miniaplikacjami z perspektywy web developera i odpowiadam na pytanie, czym jest tworzenie miniaplikacji.
Komponenty
Zamiast wymyślać koło i zmuszać deweloperów do tworzenia kolejnej implementacji typowych interfejsów, takich jak karty, uruchamiane w oknie odnośniki czy karuzele, miniaplikacje dostarczane są z domyślnym zestawem komponentów, który można rozszerzyć w razie potrzeby. W internecie też jest wiele opcji, niektóre z nich wymieniam w rozdziale o komponentach miniaplikacji. W idealnym świecie biblioteki komponentów w internecie byłyby tworzone w taki sposób, aby można je było dowolnie łączyć. W praktyce zbyt często występuje pewien rodzaj blokady dotyczącej systemu projektowania, który musisz kupić, aby używać komponentu, lub biblioteka komponentów jest rozpowszechniana w taki sposób, że albo wszystko, albo nic, ale poszczególne komponenty nie mogą być łatwo dodawane do projektu. Istnieją jednak komponenty atomowe, których można używać oddzielnie, oraz biblioteki, takie jak generic-components, które są celowo pozbawione stylizacji. Wygląda na to, że znalezienie i używanie tych narzędzi jest dobrym pomysłem.
Model-view-viewmodel
Model–widok–widżet (MVVM) to wzór architektoniczny, który ułatwia oddzielenie tworzenia graficznego interfejsu użytkownika (widoku) za pomocą języka znaczników od tworzenia logiki back-endu (modelu). Oznacza to, że widok nie jest zależny od żadnej konkretnej platformy modelowej. Chociaż istnieją pewne udokumentowane niedogodności związane z tym wzorcem, ogólnie sprawdza się on bardzo dobrze w przypadku aplikacji o złożoności miniaplikacji. Jest on szczególnie przydatny w przypadku bogatych bibliotek szablonów (patrz następny rozdział).
Myślenie na poziomie strony
Debugowanie miniaplikacji pokazuje, że są one w istocie aplikacjami wielostronicowymi (MPA). Ma to wiele zalet, np. pozwala na proste przekierowywanie i stylizację stron bez konfliktów. Architektury MPA zostały z powodzeniem zastosowane w progresywnych aplikacjach internetowych. Myślenie w kategoriach stron ułatwia też zarządzanie zasobami, takimi jak pliki CSS i JavaScript każdej strony, oraz innymi komponentami, np. obrazami i filmami. Co najważniejsze, tworzenie w ten sposób oznacza, że masz bezpłatnie podział kodu na podstawie trasy, jeśli nie wczytujesz niczego innego. W takim przypadku każda strona wczytuje tylko to, czego potrzebuje do działania.
Proces kompilacji
Miniaplikacje nie mają widocznego procesu kompilacji. W internecie nowoczesne narzędzia do kompilacji, takie jak Snowpack, korzystają z wbudowanego w JavaScript systemu modułów (ESM), aby uniknąć niepotrzebnej pracy i zachować szybkość niezależnie od tego, jak duży jest projekt. Chociaż technologie takie jak pakiety internetowe są jeszcze w początkowej fazie rozwoju, można je łatwo dodać do procesu kompilacji.
Zaawansowane funkcje
Platforma internetowa zyskała ostatnio wiele nowych funkcji. Teraz możesz uzyskać dostęp do urządzeń przez Bluetooth, USB, HID, port szeregowy i NFC. Miniaplikacje działają w komponencie WebView i zależą od mostu JavaScript w internecie. Te zaawansowane funkcje są dostępne bezpośrednio, więc nie musisz programować interfejsu API udostępnianego przez most JavaScript, ale interfejs API przeglądarki bez pośrednika.
Podziękowania
Ten artykuł został sprawdzony przez Joe Medley, Kayce Basques, Milica Mihajlija, Alan Kent i Keitha Gu.