Progressive Web Apps

Einen Ausblick auf zukünftige Web-Applikationen gab es bei der Entwicklerkonferenz Google I/O 2016 zu sehen. Die Konferenz ist natürlich zentriert auf Technologien, die bei Google entwickelt werden, wobei es aber auch um grundlegende Entwicklungsmuster geht, die auch mit anderen Frameworks umzusetzen sind.

Das grundlegende Problem vieler Web-Applikationen ist ihre schlechte Performance, sie brauchen zu lange beim Laden oder beim Interagieren. Das ist vor allem auf mobilen Geräten hinderlich, die keine gute Bandbreite haben. Eine perfekte Applikation würde initial schnell laden, dann im Hintergrund weitere Resourcen holen, damit bei weiteren Interaktionen schnelle Reaktionszeiten möglich sind, sie würde sich verhalten wie eine native Applikation.

In dieser Präsentation stellt Kevin Schaaf die Grundzüge von progressiven Web-Applikationen vor. Technologisch basiert das auf HTML Custom Elements, HTML Imports, HTTP/2 und Service Workers. Leider werden diese nur zum Teil von den heute im Umlauf befindlichen Browsern unterstützt. Aber alle Browser-Hersteller arbeiten daran, so dass man in ein-zwei Jahren auf eine breitere Unterstützung bauen kann. In der Zwischenzeit kann man aber einige Ideen mit Polyfills oder anderen Frameworks umsetzen.

Jedenfalls würde damit ein großes Problem der meisten aktuellen Webseiten gelöst, die beim ersten Laden alle benötigten CSS-Stile und JavaScript-Framework-Dateien laden müssen. Bei mwellner.de sind das immerhin 2 MB JavaScript und 600 kB CSS. Und davon wird ganz sicher nicht alle benötigt, um die Startseite darzustellen. Mit einer wirklich gut gelösten Komponentenstruktur würden anfangs nur die Resourcen geladen, die für die Darstellung unbedingt gebraucht werden. Und eines Tages wird dann auch diese Homepage deutlich schneller werden und in ungeahnte Ranking-Höhen aufsteigen.