Mini bewerbung Muster

In beiden Fällen rendern wir eine MicroFrontend-Komponente. Abgesehen vom History-Objekt (das später wichtig wird), geben wir den eindeutigen Namen der Anwendung und den Host an, von dem sein Bundle heruntergeladen werden kann. Diese konfigurationsgesteuerte URL ist so etwas wie localhost:3001, wenn sie lokal ausgeführt wird, oder browse.demo.microfrontends.com in der Produktion. Es gibt einige Bewährte Methoden, die unabhängig davon gelten, welche Werbemuster Sie auf Ihrer Website verwenden. Diese Mini-Laravel-Anwendung hilft Ihnen, die Verwendung des Composite Design Pattern zu üben. Die Anwendungsshellarchitektur ist für Apps und Websites, die dynamisch sind, am sinnvollsten. Wenn Ihre Site klein und statisch ist, benötigen Sie wahrscheinlich keine Anwendungsshell und können die gesamte Site einfach in einem Dienstarbeiter-Installationsschritt zwischenspeichern. Verwenden Sie den Ansatz, der für Ihr Projekt am sinnvollsten ist. Eine Reihe von JavaScript-Frameworks wird bereits dazu ermutigt, Ihre Anwendungslogik vom Inhalt zu trennen, wodurch dieses Muster geradliniger angewendet wird.

Einer der einfachsten Ansätze, um Anwendungen gemeinsam im Browser zu komponieren, ist der bescheidene iframe. Iframes machen es naturgemäß einfach, eine Seite aus unabhängigen Unterseiten zu erstellen. Sie bieten auch ein gutes Maß an Isolation in Bezug auf Styling und globale Variablen, die sich nicht gegenseitig stören. Die offensichtlichsten Kandidaten für die Freigabe sind “dumme” visuelle Primitive wie Symbole, Beschriftungen und Schaltflächen. Wir können auch komplexere Komponenten freigeben, die möglicherweise eine erhebliche Menge an UI-Logik enthalten, z. B. ein automatisches Vervollständigungs- und Dropdown-Suchfeld. Oder eine sortierbare, filterbare, paginierte Tabelle. Achten Sie jedoch darauf, dass Die freigegebenen Komponenten nur UI-Logik und keine Geschäfts- oder Domänenlogik enthalten. Wenn Domänenlogik in eine freigegebene Bibliothek eingefügt wird, wird ein hohes Maß an Kopplung zwischen Anwendungen erzeugt und die Änderungsschwierigkeit erhöht. So sollten Sie z. B.

in der Regel nicht versuchen, eine ProductTable freizugeben, die alle möglichen Annahmen darüber enthalten würde, was genau ein “Produkt” ist und wie man sich verhalten sollte. Eine solche Domänenmodellierung und Geschäftslogik gehört nicht in eine freigegebene Bibliothek, sondern in den Anwendungscode der Micro-Frontends. Anwendungsshellarchitekturen haben mehrere Vorteile, sind aber nur für einige Klassen von Anwendungen sinnvoll. Das Modell ist noch jung und es wird sich lohnen, den Aufwand und den Gesamtleistungsnutzen dieser Architektur zu bewerten. Anwendungs-UI-Werbemuster können für fast jede Art von PWA verwendet werden und in der Anwendungsbenutzeroberfläche angezeigt werden, z. B. Websitenavigation und Banner. Wie bei jeder anderen Art von Werbemuster ist es wichtig, sich des Kontexts des Benutzers bewusst zu sein, um Unterbrechungen der Reise des Benutzers zu minimieren. Der Artikel progressive Web Apps von Alex Russell beschreibt, wie sich eine Web-App schrittweise ändern kann, indem sie sich durch die Verwendung und die Zustimmung des Benutzers ändert, um eine nativere App-ähnliche Erfahrung mit Offline-Unterstützung, Push-Benachrichtigungen und der Möglichkeit, dem Startbildschirm hinzugefügt zu werden, bereitzustellen. Es hängt sehr stark von der Funktionalität und Leistungsvorteile von Service-Worker und ihre Caching-Fähigkeiten. Auf diese Weise können Sie sich auf die Geschwindigkeit konzentrieren und Ihren Web-Apps das gleiche sofortige Laden und regelmäßige Updates ermöglichen, die Sie gewohnt sind, in nativen Anwendungen zu sehen.

Und das ist das Ende der Container-Anwendung! Es ist ziemlich rudimentär, aber dies gibt uns eine Shell, die dynamisch unsere Mikro-Frontends zur Laufzeit herunterladen kann, und sie zu etwas Kohäsives auf einer einzigen Seite zusammenkleben kann. Diese Micro-Frontends können unabhängig bis zur Produktion eingesetzt werden, ohne jemals an einem anderen Micro-Frontend oder am Container selbst zu wechseln. Abbildung 8: Die Zielseite “durchsuchen” der vollständigen Micro-Frontends-Demoanwendung Mit sw-precache zum Zwischenspeichern der Anwendungsshell sollten die Probleme rund um Dateirevisionen, die Installations-/Aktivierungsfragen und das Abrufszenario für die App-Shell behandelt werden.