NativeScript - NativeScript

NativeScript
NativeScript-Logo.png
Originalautor(en) Telerik von Progress.
Entwickler Fortschritt und Gemeinschaft
Erstveröffentlichung 2014 ( 2014 )
Stabile Version
8.0.8 / 15. Juni 2021 ; vor 3 Monaten ( 2021-06-15 )
Repository
Geschrieben in JavaScript , TypeScript
Plattform Plattformübergreifend
Lizenz Apache-Lizenz 2.0
Webseite www .nativescript .org

NativeScript ist ein Open-Source- Framework zur Entwicklung mobiler Apps auf den Plattformen Apple iOS und Android . Es wurde ursprünglich von Progress konzipiert und entwickelt. Ende 2019 übernahm der langjährige Progress-Partner nStudio die Verantwortung für das NativeScript-Projekt. Im Dezember 2020 überwachte nStudio auch die Einführung von NativeScript in die OpenJS Foundation als Inkubationsprojekt. NativeScript-Apps werden mit JavaScript oder einer beliebigen Programmiersprache erstellt , die in JavaScript transpiliert , z. B. TypeScript . NativeScript unterstützt die JavaScript-Frameworks Angular und Vue . Mit NativeScript erstellte mobile Anwendungen führen zu vollständig nativen Apps, die dieselben APIs verwenden, als ob sie in Xcode oder Android Studio entwickelt wurden . Darüber hinaus können Softwareentwickler Drittanbieter-Bibliotheken von CocoaPods , Maven und npm.js in ihren mobilen Anwendungen wiederverwenden , ohne dass Wrapper erforderlich sind.

Entwicklung

NativeScript wurde erstmals im März 2015 öffentlich veröffentlicht. Version 1.0.0 folgte zwei Monate später. Das Framework gewann schnell an Popularität und erreichte kurz nach der öffentlichen Veröffentlichung 3000 Github-Stars und über 1500 Follower auf Twitter. Mittlerweile stehen über 700 Plugins zur Verfügung, die entweder offiziell von Progress unterstützt werden oder aus der Open Source Community stammen. Die Verwendung von Angular ist ein optionaler Entwicklungsansatz, der die gemeinsame Nutzung von Anwendungsquellcode zwischen der Webplattform und der mobilen Plattform ermöglicht.

Struktur

NativeScript und alle benötigten Plugins werden mit dem Paketmanager npm installiert . Projekte werden über die Befehlszeile oder ein GUI-Tool namens NativeScript Sidekick erstellt, konfiguriert und kompiliert. Plattformunabhängige Benutzeroberflächen werden über XML- Dateien definiert . NativeScript verwendet dann die in den XML-Dateien beschriebenen Abstraktionen, um native UI-Elemente jeder Plattform aufzurufen. In Angular und TypeScript entwickelte Anwendungslogik kann auch unabhängig von der Zielplattform entwickelt werden. Eine mobile NativeScript-Anwendung wird mithilfe der node.js-Laufzeit und -Tools erstellt. Progress strebt ein Verhältnis von 90 % des gemeinsamen Codes zwischen den iOS- und Android-Plattformen an.

Direkter Zugriff auf native Plattform-APIs und -Steuerelemente

Plattformunabhängige Benutzeroberflächen werden über XML- Dateien definiert . NativeScript verwendet die XML-Datenstrukturen, die die plattformübergreifende Abstraktion darstellen, um plattformspezifischen Code auszulösen, der direkt mit den nativen Elementen des Zielbetriebssystems interagiert. Dies bedeutet, dass ein Aufruf der NativeScript Button-API eine UI-Abstraktion für Button bereitstellt, die UIButton auf iOS oder com.android.widget.Button auf Android direkt aufruft.

Der Anwendungsquellcode wird zwar in JavaScript, TypeScript, Angular oder Vue.js geschrieben, der Quellcode wird jedoch nicht kompiliert oder anderweitig mutiert. Der Quellcode läuft so wie er ist direkt auf dem Gerät. Diese Architekturwahl macht Cross-Compiling oder Transpiling überflüssig. Während der Anwendungsquellcode in Sprachen geschrieben ist, die häufig in einem Browser (oder in einer WebView-enthaltenen mobilen Anwendung) vorkommen, werden NativeScript-Anwendungen außerdem direkt auf dem nativen Gerät ausgeführt. Es gibt keine DOM-Manipulation oder eine obligatorische Browserinteraktion.

Bemerkenswerte Funktionen

Native API-Reflektion

Eine weitere bemerkenswerte Funktion ist die Verwendung von Reflektion, um native API-Endpunkte zu verarbeiten. Anstatt separate Bindungsschichten zwischen NativeScript und jeder mobilen Plattform-API zu erfordern, verwendet NativeScript Reflektion, um Informationen und Metadaten über die nativen Plattform-APIs zu erhalten. Neue Funktionen, die jeder nativen Plattform-API hinzugefügt werden, sind sofort verfügbar.

Eine andere Möglichkeit, die Reflexionsfunktion zu verwenden, ist die Arbeit mit Bibliotheken von Drittanbietern. Da JavaScript (oder TypeScript/Angular) direkt mit nativem Code kommunizieren kann, müssen keine Bindungsschichten in Objective-C, Swift, Java oder Kotlin geschrieben werden.

Winkelintegration

Mit der Einführung von NativeScript 2.0 ist es möglich, mit Angular plattformübergreifende mobile Anwendungen zu erstellen. Wenn Sie Angular mit NativeScript verwenden, haben Sie außerdem die Möglichkeit, große Codeblöcke zwischen Ihren Web- und mobilen Apps zu teilen.

Vue.js-Integration

Das Vue.js-Framework wird in NativeScript über das nativescript-vue-Plugin unterstützt.

Unterstützende Tools und Dienste

  • NativeScript Sidekick ist eine grafische Benutzeroberfläche , die auf den Fähigkeiten der NativeScript-CLI aufbaut. Mit Sidekick kann ein Entwickler App-Vorlagen, Cloud-basierte Builds für iOS und Android nutzen und Apps in den öffentlichen App-Stores veröffentlichen.
  • Mit NativeScript Playground können Entwickler mit NativeScript in einer webbasierten Umgebung experimentieren und Apps auf physischen Geräten in der Vorschau anzeigen.
  • NativeScript Marketplace ist eine kuratierte Quelle für NativeScript-Plugins, vorgefertigte App-Vorlagen und ausführbare Beispiel-Apps.

Verweise

Externe Links