App-Design

In diesem Kapitel geht es um einige kritische Aspekte beim Rendern von Inhalten außerhalb des Browsertabs.

Das Fenster

Verschiedene Betriebssysteme haben unterschiedliche Vorstellungen davon, was ein Anwendungsfenster ist. Auf iPhones belegt eine App beispielsweise immer 100% des Bildschirms. Auf Android-Geräten und iPads werden Anwendungen normalerweise im Vollbildmodus ausgeführt. Es ist jedoch möglich, den Bildschirm zwischen zwei Apps zu teilen. Allerdings ist immer nur eine App-Instanz geöffnet. Auf einem Desktop-Gerät können dagegen bei einer Anwendung mehrere Instanzen gleichzeitig geöffnet sein. Dabei wird der verfügbare Platz auf dem Bildschirm mit allen anderen offenen Anwendungen geteilt. Jede Anwendungsinstanz kann an beliebiger Stelle auf dem Bildschirm angepasst und sogar an anderer Stelle überlappen.

Das Symbol

Wir erkennen Apps an ihrem Symbol. Dieses Symbol wird angezeigt, wenn Sie nach Apps suchen, in den Einstellungen, überall dort, wo Sie Apps starten, und wo Sie laufende Apps sehen.

Dazu gehören:

  • Startbildschirm (iOS, iPadOS, Android)
  • App Launcher (macOS, Android)
  • Startmenü oder App-Menü (Windows, ChromeOS, Linux)
  • Steuerfelder für das Dock, die Taskleiste oder für Multi-Tasks (alle Betriebssysteme).

Beim Erstellen des Symbols für Ihre progressive Web-App Achten Sie darauf, dass das Symbol plattformunabhängig ist, da jedes Betriebssystem Symbole rendern und verschiedene Formmasken darauf anwenden kann, wie in der Abbildung unten dargestellt.

PWA-Symbole in verschiedenen Formen für unterschiedliche Plattformen.

App-Design erstellen

Es gibt mehrere Möglichkeiten, den App-Stil in Ihren PWAs anzupassen:

  • Designfarbe: Definiert die Farbe der Titelleiste des Fensters auf dem Desktop und die Farbe der Statusleiste auf Mobilgeräten. Mit einem Meta-Tag können Sie Optionen für verschiedene Schemas haben, z. B. den dunklen oder hellen Modus. Diese werden je nach den Einstellungen des Nutzers verwendet.
  • Hintergrundfarbe: definiert die Farbe des Fensters, bevor die App und ihr CSS geladen werden.
  • Akzentfarbe: Definiert die Farbe von integrierten Browserkomponenten, z. B. Formularsteuerelementen.
<ph type="x-smartling-placeholder">
</ph> Eine Desktop-PWA mit Design- und Akzentfarben und ein Android-PWA-Ladebildschirm mit Design- und Hintergrundfarben.
Eine Desktop-PWA mit Design- und Akzentfarben und ein Android-PWA-Ladebildschirm mit Design- und Hintergrundfarben.

Anzeigemodi

Sie können die Fenstererfahrung für Ihre progressive Web-App definieren. Sie können zwischen drei Optionen wählen:

  • Vollbild
  • Eigenständig
  • Minimalistische Benutzeroberfläche

Vollbildmodus

Der Vollbildmodus eignet sich für immersive Inhalte wie Spiele, VR- und AR-Erlebnisse. Sie ist derzeit nur auf Android-Geräten verfügbar. Die Statusleiste und die Navigationsleiste werden ausgeblendet, sodass Ihre PWA 100% des Bildschirms für Ihre Inhalte erhalten.

Auf Computern und iPadOS werden Vollbild-PWAs nicht unterstützt. Sie können jedoch die Fullscreen API in Ihrer PWA verwenden, um Ihre App auf Anfrage eines Nutzers im Vollbildmodus anzuzeigen.

Eigenständiges Erlebnis

Der eigenständige Modus ist die häufigste Option für progressive Web-Apps. Im eigenständigen Modus wird die PWA in einem Standardfenster des Betriebssystems und ohne Browser-UI angezeigt. Das Fenster kann auch ein über den Browser gesteuertes Menü enthalten, über das der Nutzer Folgendes tun kann:

  • Kopieren Sie die aktuelle URL.
  • Browsererweiterungen aufrufen, anwenden oder deaktivieren.
  • Berechtigungen aufrufen und ändern
  • Prüfen Sie den aktuellen Ursprung und das SSL-Zertifikat.

Wenn die PWA im Tab gerendert wird, werden in der Titelleiste möglicherweise auch Berechtigungen und Hardwarenutzung angezeigt. Ersetzt die Omnibox oder URL-Leiste.

<ph type="x-smartling-placeholder">
</ph> Eine PWA, die mit Microsoft Edge auf dem Computer installiert ist und das Menü zeigt. Eine PWA, die mit Google Chrome auf dem Computer installiert wurde, mit dem Drop-down-Menü und dem Plug-in-Symbol.
Die Bilder oben zeigen, wie eine PWA im eigenständigen Modus auf dem Desktop in Microsoft Edge und in Chrome angezeigt wird.

Auf Mobilgeräten wird durch eine eigenständige PWA ein Standardbildschirm erstellt, auf dem die Statusleiste sichtbar bleibt. So können Nutzer weiterhin Benachrichtigungen, die Uhrzeit und den Akkustand sehen. Sie verfügt häufig nicht über ein browsergesteuertes Menü, wie dies bei eigenständigen Desktop-Anwendungen der Fall sein könnte.

Ein iOS-Gerät, das eine eigenständige App rendert

Einige Browser unter Android erstellen eine feste und lautlose Benachrichtigung, während die PWA im Vordergrund ausgeführt wird, sodass der Nutzer die aktuelle URL oder andere Optionen kopieren kann.

Eine von Chrome gerenderte Android-Benachrichtigung mit einigen Aktionen über die aktuell aktive PWA.

Minimalistische Benutzeroberfläche

Dieser Modus ist für progressive Web-Apps unter Android und für Desktop-Betriebssysteme verfügbar. In diesem Fall zeigt der Browser, der Ihre PWA rendert, eine minimale Benutzeroberfläche, die dem Nutzer die Navigation innerhalb der Anwendung erleichtert.

Unter Android wird eine Titelleiste angezeigt, die das aktuelle <title>-Element und den Ursprung über ein kleines Drop-down-Menü rendert. Auf dem Desktop gibt es eine Reihe von Schaltflächen in der Titelleiste, die Sie bei der Navigation unterstützen. Dazu gehören eine Schaltfläche „Zurück“ und ein Steuerelement, das je nach aktuellem Ladestatus zwischen einer Stopp- und einer Neuladeaktion wechselt.

<ph type="x-smartling-placeholder">
</ph> Eine minimalistische Desktop-Benutzeroberfläche in Microsoft Edge mit den Schaltflächen „Zurück“ und „Aktualisieren“
<ph type="x-smartling-placeholder">
</ph> Unter Android wird in Browsern eine schreibgeschützte Navigationsleiste für eine minimale Benutzeroberfläche verwendet, hier Firefox und Chrome.

Design für Desktop optimieren

Wenn Sie eine progressive Web-App für einen Desktop entwerfen, müssen Sie über die endlosen Möglichkeiten in Bezug auf die Fenstergröße nachdenken, verglichen mit der Ansicht im Browser-Tab oder als App in einem mobilen Betriebssystem.

In Kapitel 3 haben wir den Minimodus erwähnt: Eine Desktop-App kann nur 200 x 100 Pixel groß sein. Für dieses Fenster wird der Inhalt des <title>-Elements im HTML-Code als Fenstertitel verwendet. Diese Inhalte werden auch gerendert, wenn Sie zwischen Apps und an anderen Stellen mit der Alt-Taste die Tabulatortaste drücken.

Achten Sie auf das <title>-Element Ihres HTML-Codes und überdenken Sie seine Verwendung. Das <title>-Objekt eignet sich nicht nur für SEO oder zum Rendern nur der ersten Zeichen auf einem Browsertab. wird es Teil der User Experience Ihres eigenständigen Desktop-Fensters sein.

Best Practices für Preisvergleichsportale

Ihre gesamte Erfahrung mit CSS-Layout, -Design und -Animation funktioniert, wenn Ihre Inhalte im eigenständigen Modus gerendert werden. Es gibt jedoch einige Tipps und Tricks, wie Sie diese Funktion für ein eigenständiges Fenster verbessern können.

Medienabfragen

Die erste Medienabfrage, die Sie in Ihrer PWA verwenden können, ist die display-mode-Eigenschaft, die die Werte browser, standalone, minimal-ui oder fullscreen akzeptiert.

Mit dieser Medienabfrage werden auf jeden Modus unterschiedliche Stile angewendet. So können Sie beispielsweise eine Einladung zur Installation nur im Browsermodus oder eine bestimmte Information nur dann rendern, wenn der Nutzer Ihre App über das Systemsymbol verwendet. Sie können beispielsweise eine Schaltfläche „Zurück“ hinzufügen, die beim Starten Ihrer App im eigenständigen Modus verwendet werden soll.

/* It targets only the app used within the browser */
@media (display-mode: browser) {
}
/* It targets only the app used with a system icon in standalone mode */
@media (display-mode: standalone) {
}
/* It targets only the app used with a system icon in all mode */
@media (display-mode: standalone), (display-mode: fullscreen), (display-mode: minimal-ui) {
}

Das App-Erlebnis

Wenn Nutzer eine installierte PWA verwenden, erwarten sie, dass eine App funktioniert. Die Bedeutung lässt sich zwar nicht einfach definieren, allerdings ist das Standardverhalten im Web in manchen Situationen nicht optimal.

Nutzerauswahl

Inhalte können in der Regel mit der Maus, dem Zeiger oder durch Gedrückthalten und Gedrückthalten ausgewählt werden. Das ist zwar hilfreich für Inhalte, bietet aber nicht die optimale Nutzung für Navigationsmenüs, Menüs und Schaltflächen in Ihrer PWA.

Eine Rechner-PWA, in der Sie jede interaktive Schaltfläche auswählen können, z. B. die Zahlen.

Daher ist es ratsam, die Nutzerauswahl für diese Elemente mit user-select: none und der Präfixversion -webkit- zu deaktivieren:

.unselectable {
   user-select: none;
}

Accent color

In Ihrer PWA können Sie mit der Property accent-color in HTML-Formularsteuerelementen eine Farbe definieren, die zu Ihrer Marke passt.

Systemschriftarten

Wenn Sie möchten, dass ein Element wie Dialogfelder oder Nachrichten der Standardschriftart der Plattform des Nutzers entspricht, können Sie die folgende Schriftfamilie verwenden:

selector {
  font-family: -apple-system, BlinkMacSystemFont,
    "Segoe UI", system-ui, Roboto, Oxygen-Sans, Ubuntu, Cantarell,
    "Helvetica Neue", sans-serif;
}

Zum Aktualisieren nach unten ziehen

Moderne mobile Browser wie Google Chrome und Safari verfügen über eine Funktion, mit der die Seite beim Herunterziehen aktualisiert wird. In einigen Browsern, z. B. in Chrome unter Android, ist dieses Verhalten auch bei eigenständigen PWAs aktiviert.

Sie sollten diese Aktion deaktivieren. Das ist beispielsweise der Fall, wenn Sie Ihre eigene Gestenverwaltung oder Aktualisierungsaktion anbieten oder wenn der Nutzer die Aktion unbeabsichtigt auslösen kann.

Es ist möglich, dieses Verhalten mithilfe von overscroll-behavior-y: contain zu deaktivieren.

  body {
    overscroll-behavior-y: contain;
  }

Sichere Bereiche

Einige Geräte haben keine unverdeckten rechteckigen Displays. Stattdessen kann das Display eine andere Form haben, z. B. ein Kreis, oder Teile des Displays haben, die nicht verwendet werden können, z. B. die Kerbe des iPhone 13. In diesen Fällen stellen einige Browser Umgebungsvariablen mit sicheren Bereichen zur Verfügung, in denen Inhalte angezeigt werden können.

Oben ein Notch-Gerät im Querformat mit einem Standarddarstellungsbereich, der an den Seiten nicht gerenderte Bereiche zeigt unten ein Gerät mit Zugriff auf den vollständigen Darstellungsbereich dank „viewport-fit=cover“.

Wenn Sie zum Rendern der Farbe oder des Bildes vollen Zugriff auf den Bildschirm haben möchten, auch den unsichtbaren Bereich, fügen Sie viewport-fit=cover in den Inhalt des <meta name="viewport">-Tags ein. Verwenden Sie dann die safe-area-inset-*-Umgebungsvariablen, um Ihren Content sicher auf diese Bereiche auszudehnen.

Ressourcen