#frontend #angebot

Welche Browser sollte eine E-Commerce-Plattform unterstützen?

Welche Browser sollte eine moderne E-Commerce-Plattform unterstützen?

Bei der Entwicklung einer E-Commerce-Plattform für den internationalen Einsatz stellen sich verschiedene architektonische Herausforderungen. Um diese Herausforderungen zu meistern, müssen in einem Projekt frühzeitig einige Entscheidungen treffen, auf denen dann die Plattform aufgebaut wird.

Eine dieser Entscheidungen betrifft die Frage, welche Browser unterstützt werden sollen. Es ist wichtig, ein Verständnis für die Auswirkungen zu entwickeln, die diese Entscheidung auf den technischen Aufbau der Plattform hat.

In diesem Beitrag beleuchten wir verschiedene Aspekte auf dem Weg zur Entscheidung. Wir enden mit einer Liste der Browser, für die wir uns in unserem Projekt entschieden haben.

Kurzfassung

Im Folgenden werden eine Reihe von Argumenten aufgeführt, die auf diese Entscheidung hinauslaufen: Für eine zukunftsfähige Plattform sollten selbstaktualisierende "evergreen"-Browser unterstützt werden. Auf die Unterstützung veralteter Browser (im spezifischen den IE11) kann man verzichten.

Die Daten

Beim Blick auf die Browser-Nutzungsdaten haben wir das Hauptaugenmerk auf die Vereinigten Staaten gelegt, da dort der erste Zielmarkt der zu bauenden Plattform liegen wird. Einen ersten Überblick über die Daten hier.

In der alltäglichen Nutzung – und auch als Maßgabe für die Plattform – steht die mobile Nutzung im Vordergrund. Daher müssen wir insbesondere die Nutzung mobiler Browser in Betracht ziehen. Die passenden Daten gibt es hier.

Safari und Chrome stehen als Standard-Browser für iOS/Android mit Abstand an der Spitze. Der Samsung-Internet-Browser ist der einzige weitere relevante Browser innerhalb der Erhebung. Er hat in den USA einen Nutzeranteil von etwa 6 %.

Alle anderen Mobil-Browser haben einen Nutzeranteil von unter 1 %. Aus wirtschaftlicher Sicht ergibt es daher wenig Sinn, Zeit und Ressourcen in die Unterstützung dieser Browser zu investieren. Durch automatisierte Code-Anpassungen lässt sich bis zu einem gewissen Grad die Unterstützung dieser Browser gewährleisten. Darüber hinaus sind sie jedoch zu vernachlässigen.

Geht man von Mobilgeräten über zur gesamten Palette der Endgeräte, sind Google Chrome und Safari (iOS) die dominierenden Browser. Etwa 80 % der Nutzer in den USA verwenden diese Browser. In den restlichen 20 % sind verschiedene kleinere Browser mit geringeren Anteilen enthalten. Hier werden Microsoft Edge und Internet Explorer 11 von beinahe 5 % aller Nutzer eingesetzt.

Weltweit sehen die Zahlen ähnlich aus – Chrome und Safari (für iOS) dominieren den Markt. Im Bereich unter 5% finden sich zahlreiche weitere selbstaktualisierende Browser. Der Internet Explorer wird von ca. 2% der Nutzer verwendet.

Technische Lösungen

Funktionen und Möglichkeiten können sich bei den einzelnen Browsern erheblich unterscheiden. Die Grundlagen unserer Frontend-Technologie berücksichtigen einige dieser Unterschiede. Tools wie Babel verwandeln moderne Browser-Funktionen in Code, der auch in älteren Browsern funktioniert.

Auf diese Weise erhalten ältere Browser Code, den sie interpretieren können. Neuere Browser erhalten jedoch ebenfalls diesen Code, der für die älteren Browser optimiert wurde. Damit können die Vorteile neuer Browser-Funktionen nicht genutzt werden, was zu suboptimaler Performance führt. Bildlich gesprochen passt sich das Tempo der "Browser-Herde" dem ältesten, funktionsarmsten Mitglied an.

Leider funktioniert diese automatisierte Lösung nicht für alle neuen Funktionen, die wir beim Bau der Plattform nutzen könnten. Deshalb müssten wir unter Umständen auf bestimmte Möglichkeiten neuer Browser verzichten, die von alten Browsern nicht unterstützt werden.

Die meisten der heutzutage verwendeten Browser sind selbstaktualisierende Browser. Sobald die Anbieter eine neue Version veröffentlichen, wird der Browser beim Neustart aktualisiert. Das gilt für Google Chrome, Firefox, Opera, Microsoft Edge sowie einige kleinere Browser. Safari-Updates werden mit System-Updates von Apple mitgeliefert. Damit ist Safari beinahe ein selbstaktualisierender Browser. Für diese Browser stehen immer wieder neue Funktionen zur Verfügung.

Bei besonders alten Browser-Versionen sowie beim Internet Explorer müssen die Nutzer Updates aktiv eigenständig vornehmen oder einen neuen Browser installieren. Ansonsten erhalten sie nicht die Funktionen, die andere Browser bereits seit Jahren besitzen. Ältere Versionen selbstaktualisierender Browser verschwinden innerhalb recht kurzer Zeit. Nicht selbstaktualisierende Browser werden eingesetzt, bis der Nutzer beispielsweise auf eine neue Betriebssystem-Version umsteigt oder einen modernen Browser installiert.

Wirtschaftliche Erwägungen

Die Liste unterstützter Browser bestimmt den Aufwand, der für den Aufbau jeder Webseite benötigt wird.

  • Wir testen die Website in allen unterstützten Browsern.
  • Wir schreiben Code, der in diesen Browsern funktioniert.
  • Wir beheben Fehler, die in diesen Browsern eventuell auftreten.

Der Aufwand für die Unterstützung der Browser und die Fehlerbeseitigung sollte im Verhältnis zum Anteil der Nutzer stehen. Unserer Erfahrung nach ist es jedoch meist umgekehrt. Je älter und/oder weniger verbreitet ein Browser ist, desto mehr Zeit ist für Unterstützung und Fehlerbeseitigung erforderlich.

Das lohnt sich nur, wenn die Nutzer eines Browsers innerhalb der jeweiligen Plattform genügend Erträge erwirtschaften, um die Entwicklungszeit zu rechtfertigen. Das tun sie normalerweise nicht.

Die Unterstützung älterer Browser hat darüber hinaus Auswirkungen auf die künftige Entwicklung. Die Optimierung von Code, damit er in älteren Browsern funktioniert, beeinträchtigt die Weiterentwicklung der Plattform. Neue Browser-Funktionen gibt es nicht ohne Grund: Alles soll leichter und schneller funktionieren.

Damit eröffnen sich neue Wege zur Strukturierung eines Projekts und seiner Basis-Architektur. Natürlich kann man diese Architektur moderner gestalten, sobald ältere Browser nicht mehr unterstützt werden müssen. Allerdings müssen dafür weite Teile der Plattform neu geschrieben werden. Und das bedeutet Zeit und Geld für die Aktualisierung statt für die Entwicklung neuer Funktionen.

Risiko

Natürlich birgt eine auf moderne Browser beschränkte Unterstützung auch geschäftliche Risiken. Zum einen werden Nutzer älterer Browser Probleme haben, die Plattform zu nutzen. Falls die Plattform nachträglich für veraltete Browser nutzbar gemacht werden muss, lassen sich die rudimentären Funktionalitäten nachrüsten – sofern wirtschaftlich sinnvoll.

Zudem gilt es natürlich, gesetzliche Vorgaben einzuhalten. Dieser Punkt betrifft vor allem Themen wie Accessibility, die wir ohnehin beim Aufbau einer Plattform in Betracht ziehen.

Fazit

Unter Berücksichtigung der oben genannten Punkte haben wir uns erstmals entschieden, lediglich selbstaktualisierende Browser zu unterstützen. Wir werden eine zukunftssichere Mobile-First-Plattform entwickeln, die fast ausschließlich zur Mobil-Nutzung angedacht ist. Daher sollten wir in der Lage sein, neue technische Entwicklungen ohne Weiteres in unsere Plattform zu integrieren. Und wir sollten keine Zeit für veraltete Browser verbringen, welche die Effektivität neuerer Browser behindern.

Aktuell werden demnach im Projekt unterstützt:

  • Chrome for Android 75
  • iOS Safari 12 - 9
  • Samsung Internet 9.2
  • Chrome 75 & 74
  • Edge 18 & 17
  • Firefox 67
  • Safari 12.1

Hier eine beständig aktualisierte Liste.