Wenn man ehrlich ist, fühlen sich Webseiten, die für mobile Geräte angepasst wurden, nicht besonders gut an. Und wer möchte für jede Kleinigkeit eine App aus dem Play Store laden und installieren – nur für ein besseres Gefühl? Android Instant Apps könnten die Lösung sein.
Nach kurzer Zeit hast du unzählige Apps auf deinem Gerät rumfliegen, die du nur einmal benutzt hast und dann nie wieder. Und für genau diesen Fall möchte Google mit den Android Instant Apps Abhilfe schaffen.
Was diese Apps drauf haben und ob sich der Aufwand, eine Instant App zu entwickeln, überhaupt lohnt, verrate ich euch gerne.
Mit AndroidInstant Apps ist es möglich, eine native App so einfach und schnell zu öffnen, wie eine Webseite – und das sogar über einen einfachen Webseitenlink:
Klickt ein User auf einen beliebigen Link, wird mit Hilfe des Google Play Stores überprüft, ob eine Android Instant App vorhanden ist. Wird eine Instant App gefunden, wird diese heruntergeladen und geöffnet. Ist keine Instant App vorhanden, öffnet sich wie üblich die normale Webseite.
Instant App der ShoppingSeite “Wish”
Um einen schnellen Download und die reibungslose Ausführung zu gewährleisten, sollte eine Instant App nicht größer als 4 MB sein. Da sich die Android Instant Apps gerade in einer offenen Beta-Phase befinden, werden bisher nur Versionen ab Android 6.0 Marshmallow unterstützt. Google plant allerdings eine Abwärtskompatibilität bis hin zu Android 5.0 Lollipop.
Es ist möglich, sowohl neue, eigenständige Instant Apps zu bauen als auch aus einer bestehenden App eine Instant App zu erzeugen. Beim zweiten Ansatz wird das Projekt in mehrere Module aufgeteilt: app, instantapp, base und mehrere features. Dem Entwickler ist es jederzeit möglich, zwischen App und Instant App zu wechseln. Derselbe Code kann für die App und die Instant App benutzt werden und muss nicht doppelt geschrieben werden.
Die Module app und instantapp enthalten jeweils extra Anpassungen für die normale und die Instant App. Das base-Modul ist der Schnittpunkt zwischen den beiden Apps. Hier wird der Kern abgebildet, aus dem sich die beiden Apps zusammensetzen.
Die normale App besteht aus dem base-Modul und allen feature-Modulen, die Instant App hingegen aus dem base-Module und nur einem feature-Module. Dadurch ist es möglich, mehrere Instant Apps für verschiedene features zu erzeugen.
Wie aufwändig es ist eine Android Instant App in Module zu konvertieren, hängt von Größe und Komplexität sowie der gewählten Architektur der App ab. Die gängigen Architekturen wie MVVM, MVC oder MVP sollten vergleichsweise einfach zu konvertieren sein. Neue Projekte können und sollten auf dieser Modulbasis aufgebaut werden, um ein späteres Refactoring zu vermeiden. Android Studio 3.0 bietet zudem in neueren Canary-Versionen die Möglichkeit, ein neues Projekt für Apps mit Instants Apps zu erzeugen.
Google hat vor der zur Zeit laufenden Live-Beta einigen ausgewählten App-Entwicklern Zugang zum Instant App SDK gegeben. Daher sind schon jetzt einige Instant Apps im Umlauf. Die folgenden Beispiele öffnen auf Android direkt die Instant App, nicht die normale mobile Website :
Ob eine Instant App sinnvoll ist oder nicht, hängt natürlich immer vom Use Case ab. Die Entwicklung ist definitiv ratsam, wenn der Nutzer/Kunde davon einen klaren Mehrwert hat und ihm Prozesse vereinfacht werden. Für neue Apps bietet es sich an, direkt eine Instant App mit zu entwickeln. Bestehende Apps sind nicht aufwändig zu konvertieren, wenn vorher eine vernünftige Architektur gewählt wurde.
Instant Apps können außerdem dafür genutzt werden um den Nutzer eine Kostprobe einer App zu geben. Verlinkungen auf die App im Play Store sind in einer Instant App von Google gewünscht. Google selbst baut auf ihre Instant Apps und ich bin mir sicher, wir werden in der Zukunft vermehrt auf Instant Apps stoßen.