Progressive Web Apps - inovex GmbH

15.06.2016 - 19. Darstellung der Web App. - Ansicht “Standalone”. - Adressleiste nicht sichtbar. - Ähnlichkeit zu nativer App ...
826KB Größe 10 Downloads 382 Ansichten
Progressive Web Apps

Jonas Moosmann

15. Juni 2016

Jonas Moosmann Softwareentwickler (M.Sc.) @JonasMoosmann

Web

Mobile

.NET 2

Mobiles Umfeld: heute ● Nativ ○ ○ ○

Viele Schritte bis zur Verwendung der App nötig 1,6 Millionen im Play Store [Statista, Juli 2015] 1,5 Millionen im App Store [Statista, Juli 2015]

● Web ○ ○ ○

App direkt nutzbar Funktionsumfang geringer (!?) Bedienbarkeit schlechter

3

Lösungen im Web: heute ● Bestehende Technologien ○

App Cache und Co. sind problembehaftet

● Frameworks ○

limitiert durch Browser

● Proprietäre Ansätze ○

hoher Aufwand und plattformabhängig

4

‘Progressive Web Apps take advantage of new technologies to bring the best of mobile sites and native apps to users.’

Quelle: Google Developers 5

Überblick ● ● ● ●

Service Workers Wieso nicht App Cache? Web App Manifest Push API

6

Service Workers ● Hintergrundprozess im Browser ○ ○ ○

Aktivität immer möglich Fungiert als Interceptor Verschiedene Zustände

● Nur unter HTTPS möglich ● Verwendung ○ ○

Caching Offlinefähigkeit

7

Service Workers - Beispiel

8

“Application Cache is a Douchebag.”

Quelle: Jake Archibald - A List Apart 9

Wieso nicht einfach App Cache? ● Manifest legt Cache fest ● wenig flexibel ○

keine eigene Logik möglich

● einige “Besonderheiten” ○ ○ ○ ○

bedient immer aus dem Cache Updates nur bei Änderung des Manifests Caching des Manifests möglich (!!!) Untergeordnete Ressourcen müssen referenziert werden

10

Web App Manifest ● ● ● ●

Zentraler Ort für Metadaten JSON-Format Löst proprietäre Ansätze ab “Installierbarkeit”

● Metadaten, z.B. ○ ○ ○

Name Kurzname Icons 11

Web App Manifest - Beispiel

12

Push API ● Push-Nachrichten in Web Apps ● Ermöglicht durch Service Worker ○ ○

HTTPS Handling des Push-Events

● Berechtigung nötig ● Push Service wird benötigt ○

Interaktion nicht spezifiziert

13

Push API - Beispiel

14

Kompatibilität

Web App Manifest Service Workers Push API 15

Demo ● ●

App zum Empfang von Push-Nachrichten Technologien ○ ○ ○



Service Worker Push-API Web App Manifest

Ausgeführt unter Android/Chrome

16

Hinzufügen zum Startbildschirm - Adressleiste sichtbar - Shortname aus Manifest - “Installieren” der Web App - Teilweise nicht aus Spezifikation

17

Öffnen der Web App - Kein Splashscreen im Manifest - Generierter Splashscreen - Titel aus Manifest - Teilweise nicht aus Spezifikation

18

Darstellung der Web App - Ansicht “Standalone” - Adressleiste nicht sichtbar - Ähnlichkeit zu nativer App

19

Empfang einer Push-Nachricht - Ansicht Lockscreen - Gewöhnliche Push-Nachricht

20

Fazit ● Progressive Web Apps eröffnen neue Möglichkeiten ○ ○ ○

Caching (komplexe Strategien) Push-Nachrichten Metainformationen

● Einsetzbarkeit ○ ○ ○

Android → ja Windows Phone → bald!? iOS → nein

● Weitere Spezifikationen notwendig 21

Ausblick ● Chrome & Firefox ○

Bereits einsetzbar

● Edge ○

In Arbeit

● Safari ○

positive Signale ➝ 5-year plan

● Weitere Technologien ○

Web Background Sync 22

Vielen Dank Jonas Moosmann Softwareentwickler inovex GmbH Ludwig-Erhard-Allee 6 76131 Karlsruhe [email protected]