Thomas Kruse trion development GmbH

Sicherlich haben hybride Webanwendungen ihre Anwendungsfälle – hier ist der Anteil der Wiederverwendung noch größer, dafür werden andere Einschränkungen in Kauf genommen. Geht es jedoch um ein ausgefeiltes und plattformnahes Erlebnis bei der Nutzung der Anwendung, kommt man um native UI-Elemente nicht herum.

Karsten Sitterberg Freiberufler

Durch die nahtlose Integration mit den nativen APIs ist weder eine Cross-Kompilierung noch die Erstellung von Wrapper-Klassen nötig. Wenn von einem Hersteller neue APIs zur Verfügung stehen, können diese von NativeScript unmittelbar genutzt werden.

Dieser Beitrag erforscht die vielversprechenden Möglichkeiten zur Entwicklung von nativen mobilen Anwendungen, die sich durch NativeScript ergeben. Auch wenn JavaScript dabei eine entscheidende Rolle spielt: Wir wollen keine Web- oder Hybridanwendung entwickeln, sondern eine „echte“ native Anwendung. Welche Vorteile – und auch Zugeständnisse – wir dabei erhalten, werden wir eingehend betrachten.

Die Bedeutung von mobilen Anwendungen ist kaum zu überschätzen. Nicht erst seit Pokémon Go ist klar, dass mobile Anwendungen ein Milliardenmarkt mit erheblich mehr Nutzern als auf dem klassischen Desktop sind. Dank des Vertriebsmodells der verschiedenen App Stores erreicht ein Anbieter auf einfache Weise zahlungsbereite Kunden. Ginge es nur darum, auf den verschiedenen mobilen Geräten und App Stores präsent zu sein, so gäbe es zahlreiche Lösungen: Von App-Baukästen zum Zusammenklicken bis hin zu hybriden Modellen, die eine Webanwendung passend verpacken.

Bei beiden Modellen geht Flexibilität verloren: Auch wenn viele Geschäftsanwendungen keine besonders hohen Anforderungen bezüglich zur Verfügung stehender Komponenten und Styling stellen und daher mit diesbezüglichen Einschränkungen leben können, gibt es zahlreiche Szenarien, denen diese Ansätze nicht genügen. Ein häufig genanntes Argument sind Einschränkungen bezüglich des Look-and-feel: Webanwendungen wirken oft „fremd“, da das plattformspezifische Look-and-feel mit HTML und CSS nachgebaut wird. Fehlen dabei Komponenten oder auch die Anbindung von nativen Sensoren, so bleibt nur die Eigenentwicklung mit entsprechendem Aufwand und Risiko in der Wartung. Visuelle Merkmale wie Animationen beim Übergang von einer Ansicht zur nächsten fallen bei hybriden Anwendungen meist weg, oder diese ruckeln. Wird vom Hersteller der Plattform ein Update vorgenommen, das die Darstellung ändert, wirkt sich dies auf die webbasierten Anwendungen nicht aus: Sie stechen deutlich als fremd oder veraltet hervor. Im Ergebnis leidet der professionelle Eindruck, was sich negativ auf die Nutzerakzeptanz auswirkt.

Dazu kommen die Einschränkungen bei der Funktionalität: Reichhaltige Anwendungen oder gar Spiele wird man nur unter großen Zugeständnissen und mit hohem Entwicklungsaufwand als hybride Anwendung entwickeln können. Die Entscheidung für eine native Anwendung fällt somit häufiger als man zuerst denkt.

Bausteine von NativeScript

NativeScript-Anwendungen verwenden JavaScript als Laufzeitsprache. Das bedeutet, dass zur Anwendungsentwicklung alle Sprachen verwendet werden können, die zu JavaScript übersetzbar sind. Die NativeScript-Umgebung stellt eine Bridge zur Verfügung, die Aufrufe von JavaScript auf native Aufrufe der Zielplattform übersetzt. Für den Entwickler transparent werden dabei auch die verwendeten Datentypen konvertiert. Die damit erreichte nahtlose Integration führt dazu, dass praktisch kein Unterschied zwischen „echtem“ nativen Code und der NativeScript-Anwendung für den Entwickler spürbar sind. Entsprechend reduziert sich die kognitive Last, da kein ständiges Umdenken erforderlich ist.

Den vollständigen Artikel lesen Sie in der Ausgabe:

PHP Magazin 1.17 - "Angular 2"

Alle Infos zum Heft
301136NativeScript: das Beste aus allen Welten
X
- Gib Deinen Standort ein -
- or -