Cross-Plattform-Entwicklung: NativeScript 7 poliert JavaScript-Anbindung auf
Das Framework zur plattformübergreifenden Entwicklung zielt künftig auf ES2017+ statt dem bisherigen gemeinsamen Nenner ES5.
Die Progress-Tochter Telerik hat NativeScript 7.0 veröffentlicht. Das Cross-Plattform-Framework zielt im aktuellen Release vor allem auf eine bessere Integration mit aktuellen JavaScript-Standards und eine einheitlichere Konfiguration. Außerdem setzt es neuerdings auch unter iOS auf die V8-Engine.
Von 2009 nach 2017 und darüber hinaus
Bisher hatte NativeScript ECMAScript 5 (ES5) im Fokus, den letzten JavaScript-Standard ohne Jahreszahl, der bereits 2009 verabschiedet wurde. Neuere Features ließen sich mit NativeScript zwar über TypeScript-Projekte umsetzen, aber NativeScript hat den Source letztlich stets in ES5-Code konvertiert. Version 7 erstellt nun ES2017-Code und ermöglicht die Anbindung an neuere JavaScript-Standards, sofern die jeweiligen JavaScript-Engines für Android und iOS sie unterstützen.
Direkt betroffen sind unter anderem Projekte, die auf async
-await
-Konstrukte zur nebenläufigen Programmierung setzen. Auch JavaScript-Klassen lassen sich direkt verwenden, ohne die entsprechenden class
-Blöcke zu transpilieren.
Für TypeScript-Projekte führt NativeScript den @NativeClass()
Decorator ein, der erweiterte native Klassen von iOS beziehungsweise Android kennzeichnet. Da er in den @nativescript/core
Globals definiert ist, ist kein expliziter Import notwendig.
iOS mit V8
Während die NativeScript-Laufzeitumgebung unter Android bereits seit geraumer Zeit auf die V8-Engine setzt, hat sie bisher unter iOS das JavaScriptCore-Framework verwendet. Das hat zum einen den Vorteil, dass sich die neueren JavaScript-Standards einheitlich verwenden lassen, zum anderen soll es die Verwaltung der beiden Runtimes unter Android und iOS vereinfachen.
Wer für Apples mobiles Betriebssystem weiterhin JavaScriptCore nutzen möchte oder mit V8 auf Probleme stößt, kann die tns-ios
Runtime unter iOS nutzen.
Zentrale Konfigurationsdatei
Nennenswert ist zudem, dass alle Konfigurationsparameter nun in der Datei "nativescript.config.ts" stehen. Die bisherige "nsconfig.json" entfällt damit ebenso wie die Notwendigkeit, weitere Konfigurationen in der "package.json"-Datei im Root der Anwendung und einer zusätzlichen solchen Datei im "src"-Verzeichnis des Projekts anzulegen.
Weitere Neuerungen in NativeScript 7 lassen sich dem Blogbeitrag des Technical Steering Committee (TSC) entnehmen. Im Befehlsfenster kennt das Framework neben dem neuen Standardbefehl ns
weiterhin nsc
für diejenigen, "die nicht aufhören können an javac zu denken" und es als Native Script Compiler sehen. Aus historischen Gründen funktioniert zudem tns
als dritter Alias.
(rme)