NativeScript und React Native ermöglichen die Erstellung plattformübergreifender mobiler Apps. Welches soll man wählen? Wenn Ihr Team bereits eine Web-App erstellt hat, hängt die Wahl von Ihrem Tech-Stack ab. Wenn Sie bei Null anfangen, sticht einer von ihnen hervor.
A QUICK SUMMARY – FOR THE BUSY ONES
TABLE OF CONTENTS
Es ist kein Geheimnis, dass eine starke mobile Präsenz nicht mehr optional ist.
Weltweit sind mobile Geräte der Desktop-Nutzung entwachsen, und der Trend zum mobilen Computing verändert die Art und Weise, wie Unternehmen mit ihren Kunden kommunizieren, ihre Ideen präsentieren und ihre Geschäftsziele erreichen.
Die einfache Entscheidung, eine mobile Präsenz aufzubauen, ist jedoch nur der erste Schritt, da es mehrere Möglichkeiten gibt, mobile Nutzer zu erreichen.
In diesem Artikel werfen wir einen genaueren Blick auf die Entwicklung von JavaScript-Mobilgeräten.
Konkret vergleichen wir Natives Skript mit Reagieren Sie nativ um zu sehen, welcher der beiden Frameworks für die Entwicklung mobiler Apps zum Schreiben von nativ gerenderten mobilen Anwendungen für iOS und Android hat mehr zu bieten.
Für eine lange Zeit native mobile Apps herrschte über digitale Vertriebsplattformen und Marktplätze.
Entwickelt in einer plattformspezifischen Programmiersprache wie:
Plattformspezifische Tools bieten nahtlosen Zugriff auf native Plattform-APIs und deren optimierte Leistung sorgt für die bestmögliche Benutzererfahrung.
Native mobile Apps sind jedoch nicht ohne Nachteile.
Ihr größter Nachteil ist, dass es es ist nicht möglich, denselben Code bereitzustellen auf verschiedenen Plattformen.
Nehmen wir an, ein Unternehmen entscheidet sich für die Entwicklung einer iOS-App und stellt Softwareentwickler, UI-Spezialisten und andere Fachkräfte ein oder lagert sie aus. Um dieselbe App Android-Nutzern zur Verfügung zu stellen, müsste das Unternehmen ein neues Team einstellen, das die App auf Android portiert.
Es ist nicht nur teuer um mehrere Plattformen mit nativer Entwicklung ins Visier zu nehmen, aber es kann auch sehr zeitaufwändig sein.
<span class="colorbox1" fs-test-element="box1"><p>Tipp: Wenn die App endlich sowohl im Google Play Store als auch im Apple App Store verfügbar ist, gibt es möglicherweise bereits viele konkurrierende Apps mit großartigen Bewertungen, was es für die neu veröffentlichte App schwierig macht, an Bedeutung zu gewinnen.</p></span>
Natürlich ist die Bereitstellung der App nur der Anfang einer neuen Phase, die durch kontinuierliche Wartung und Funktionsupgrades gekennzeichnet ist, und es versteht sich von selbst, dass es weitaus kostengünstiger ist, eine einzige Codebasis zu verwalten als zwei.
Aus diesen und anderen Gründen mobile Web-Apps haben in den letzten Jahren an Popularität gewonnen.
Es handelt sich im Wesentlichen um ansprechende Web-Apps, die mit den drei wichtigsten Webtechnologien entwickelt wurden:HTML, CSS und JavaScript—und eingewickelt in einer nativen Anwendungsshell, ohne dass Änderungen an der zugrunde liegenden Anwendung erforderlich sind.
Die einheitliche Entwicklung ist bei weitem der wichtigste Vorteil von mobilen Web-Apps, aber nicht der einzige.
Mobile Web-Apps sind in der Regel ebenfalls sehr umfangreich einfacher zu aktualisieren als native mobile Apps, weil sie eine einzige Codebasis teilen, sodass es ausreicht, Änderungen einmal vorzunehmen. Da es sich bei HTML, CSS und JavaScript um branchenübliche Frontend-Technologien handelt, ist es einfach, qualifizierte Entwickler zu finden, die in der Lage sind, jede Idee in eine großartige Benutzererfahrung umzusetzen.
Aber auch hier sind mobile Web-Apps nicht ohne Nachteile.
Während ihre inhärenten Leistungseinschränkungen heutzutage ziemlich leicht zu übersehen sind, schränkt die Tatsache, dass sie keinen Zugriff auf native Komponenten bieten, stark ein, was mit ihnen erreicht werden kann.
Um sicherzustellen, dass eine mobile JavaScript-App erfolgreich ist, müssen Geschäftsinhaber sorgfältig Anbieter auswählen Top-Unternehmen für die Entwicklung mobiler Apps.
<span class="colorbox1" fs-test-element="box1"><p>Tipp: Benutzer erwarten inzwischen native Funktionen wie Spracheingabe, Push-Benachrichtigungen und GPS, und sie werden mobile Apps, die diese nicht unterstützen, aktiv meiden.</p></span>
Dort entstehen Technologien wie Natives Skript und Reagieren Sie nativ komm rein.
Diese beiden JavaScript-Frameworks für die mobile Entwicklung zum Schreiben nativ gerenderter mobiler Anwendungen für iOS und Android ermöglichen den Zugriff auf native Funktionen mithilfe von JavaScript. Kombination der Vorteile von nativen mobilen Apps mit den Vorteilen von Web-Apps.
NativeScript wurde erstmals 2014 von der Progress Software Corporation veröffentlicht. Auf seiner Website beschreibt sich NativeScript selbst als:
<blockquote><p>„quelloffenes Framework für die Entwicklung wirklich nativer mobiler Apps mit Angular, Vue.js, TypeScript oder JavaScript.</p></blockquote>“
Mit NativeScript ist es möglich, native mobile Anwendungen für Android und iOS von einem aus zu entwickeln einzelne Codebasis und genieße das Aufführung wie von der Muttersprache mit 100% direktem Zugriff auf alle iOS- und Android-APIs.
Das Erstellen ansprechender, zugänglicher und plattformnativer Benutzeroberflächen ohne WebViews ist einfach und kann mit JavaScript, CSS und nativem UI-Markup erreicht werden.
Zu den beliebtesten Apps, die mit NativeScript erstellt wurden, gehören:
Stephen Fluin, Developer Advocate für Angular bei Google, sagt:
<blockquote><p>„Wir lieben es, mit dem NativeScript-Team zusammenzuarbeiten, weil es Webentwicklern die Möglichkeit gibt, ihre Fähigkeiten zu nutzen, um native Erlebnisse auf Mobilgeräten zu entwickeln.“</p></blockquote>
Sogar Payne, Senior Frontend Software Engineer bei Netcentric, teilt das gleiche Gefühl:
<blockquote><p>„Durch den Einsatz einer Technologie wie NativeScript haben wir unseren Netcentric-Frontend-Teams die Möglichkeit gegeben, fantastische native mobile Apps zu entwickeln. Dadurch können wir auf Mobilgeräten mehr tun, als wir je zuvor tun könnten</p></blockquote>.“
Erstmals veröffentlicht im Jahr 2015, Reagieren Sie nativ ist ein Jahr jünger als NativeScript. Dieses JavaScript-Framework für die mobile Entwicklung war erstellt von Facebook nachdem das Unternehmen feststellte, dass seine mobilen Anwendungen zu sehr auf HTML beruhten.
Mark Zuckerberg sagte bekanntermaßen in einem Interview bei TechCrunch Disrupt:
<blockquote><p>„Der größte Fehler, den wir als Unternehmen gemacht haben, war, zu viel auf HTML5 statt auf natives zu setzen.“</p></blockquote>
Genau wie NativeScript kann React Native verwendet werden, um native mobile Apps für Android und iOS zu erstellen.
Es kombiniert die besten Teile von native Entwicklung mit React, eine erstklassige JavaScript-Bibliothek für die Erstellung von Benutzeroberflächen.
React Native-Apps rendern native Komponenten und verwenden dieselben nativen Plattform-APIs wie echte native Apps.
Tausende von Apps verwenden React Native, darunter einige der am häufigsten heruntergeladenen und beliebtesten Apps im Google Play Store und im Apple App Store, wie z. B.:
Fanghao (Robin) Chen, Mobile Lead bei Discord, sagte einmal:
<blockquote><p>„Rückblickend auf die letzten drei Jahre hat sich React Native bei Discord als äußerst erfolgreich erwiesen und dazu beigetragen, die Akzeptanz unserer iOS-Nutzer von Null auf Millionen zu steigern!“</p> </blockquote><p>„Insbesondere React Native hat es uns ermöglicht, die Vorteile der schnellen Nutzung von wiederverwendbarem Code plattformübergreifend zu nutzen und ein kleines und mächtiges Team aufzubauen.“</p>
Nachdem wir sowohl NativeScript als auch React Native eingeführt haben, ist es an der Zeit, einige der wichtigsten Unterschiede und Gemeinsamkeiten zwischen ihnen genauer zu betrachten.
Da sowohl NativeScript als auch React Native JavaScript-Frameworks für die mobile Entwicklung sind, sollte jeder Entwickler, der zumindest etwas Erfahrung mit JavaScript hat, in der Lage sein im Handumdrehen mit ihnen loslegen.
<span class="colorbox1" fs-test-element="box1"><p>Tipp: Entwickler, die bereits mit Angular vertraut sind, werden es einfacher finden, NativeScript zu verwenden, da es tief in die Angular-CLI integriert ist, Router-Unterstützung, Codegenerierung und mehr bietet. Ebenso können Entwickler, die bereits mit React vertraut sind, problemlos auf React Native umsteigen</p></span>.
Sowohl NativeScript als auch React Native ermöglichen es Entwicklern, mit folgenden Methoden zu schreiben:
Wenn Sie jedoch ein neues Projekt in React Native erstellen, werden Sie feststellen, dass es standardmäßig Flow verwendet, während NativeScript TypeScript verwendet. Natürlich können Sie das ändern, wenn Sie möchten.
NativeScript stützt sich auf beides eckig oder Vue.js für die Erstellung ansprechender Benutzeroberflächen, die sich aufgrund ihres geringen Gewichts hervorragend für die mobile Entwicklung eignen.
Vue.js für das Web und NativeScript-VUE sind sich sehr ähnlich und beginnen mit der Verwendung Natives Script-VUE ist eine Frage des Wechsels des Plugins, das Sie zu Beginn hinzufügen, Ihre App-Instanziierungsparameter zu ändern und Ihre Frontend-Vorlagen so zu schreiben, dass sie NativeScript-Module verwenden.
React Native-Entwickler spezifizieren das Layout mit Flexbox, was in React Native genauso funktioniert wie in CSS im Web, mit ein paar kleineren Ausnahmen. Der größte Unterschied besteht darin, dass Stile mithilfe von JavaScript-Objekten und -Eigenschaften deklariert werden, die auf ihren CSS-Ursprung zurückübertragen werden.
<span class="colorbox1" fs-test-element="box1"><p>Tipp: Sowohl NativeScript als auch React Native können mit den Chrome Developer Tools, auch bekannt als Chrome DevTools, debuggt</p></span> werden.
React Native-Benutzer können auch React Native Debugger und Reactotron nutzen, während NativeScript-Benutzer manchmal die Visual Studio Code NativeScript-Erweiterung verwenden.
Es ist auch möglich, XCode zum Debuggen generierter Ansichten von Apps zu verwenden, die mit beiden der genannten Technologien entwickelt wurden.
Wir haben bereits erklärt, dass sowohl NativeScript als auch React Native mithilfe von JavaScript problemlos auf native Android- und iOS-APIs zugreifen können.
Wenn es um NativeScript geht, können Sie direkt auf alle iOS- und Android-APIs zugreifen, ohne Zeit damit zu verschwenden, Boilerplate-Wrapper zu schreiben.
<span class="colorbox1" fs-test-element="box1"><p>Tipp: Wenn Sie nicht direkt gegen iOS- und Android-APIs schreiben möchten, können Sie aus einer großen Auswahl an vorgefertigten Open-Source-NativeScript-Plugins wählen, die auf dem NativeScript Marketplace verfügbar sind</p></span>.
React Native hat keinen speziellen Marktplatz für Plugins, aber es ist einfach, die eingebauten Komponenten zu erweitern, indem Sie die npm-Registry nach Paketen durchsuchen, in denen React-Native erwähnt wird.
Mithilfe nativer Module können Entwickler echten nativen Code schreiben und haben Zugriff auf die volle Leistung der Zielplattform. Dies ist jedoch selten erforderlich, da React Native sofort einsatzbereit ist.
NativeScript verwendet ein Single-Thread-Modell, da es schnellen Zugriff auf die nativen APIs bietet, während React Native eine Multithread-Architektur verwendet, bei der JavaScript und die Benutzeroberfläche auf separaten Threads laufen.
Der größte Vorteil des Die Multithread-Architektur von React Native ist, dass die JavaScript-Verarbeitung das UI-Rendering nicht beeinträchtigt.
Auf der anderen Seite ist die Benutzeroberfläche eines Die NativeScript-App kann stecken bleiben wenn prozessorintensiver JavaScript-Code ausgeführt wird.
NativeScript hat jedoch einen Trick im Ärmel: Es verwendet Googles V8 auf Android. React Native verwendet dagegen Apples JavaScriptCore auf iOS und Hermes auf Android. Dank Googles V8 weisen NativeScript-Apps tendenziell eine deutlich bessere Startleistung auf als React Native-Apps.
Insgesamt ist die Leistung dieser beiden JavaScript-Frameworks für die mobile Entwicklung mehr oder weniger vergleichbar, abgesehen von Randfällen.
Zum Zeitpunkt des Schreibens dieses Artikels ist React Native weitaus beliebter als NativeScript.
Laut den npm-Statistiken dieser Woche:
Wenn es um GitHub-Stars geht:
Das Unternehmen hinter NativeScript, Progress, hat gute Arbeit geleistet, wenn es darum geht, NativeScript als Technologie zu verbessern, aber sie geben nicht viel Geld für Marketing aus.
React Native steht auf den Schultern von Facebook, Daher sind selbst sehr große Unternehmen zuversichtlich, es als das bevorzugte JavaScript-Entwicklungsframework für Mobilgeräte zu verwenden.
Für diejenigen, die haben bereits gebaut eine Web-App mit Angular, Vue.js oder React, die Wahl zwischen NativeScript und React Native liegt auf der Hand:
Diejenigen, die eine plattformübergreifende mobile App erstellen von Grund auf kann beide Wege wählen, ohne einen Fehler zu machen, aber es gibt mehrere zwingende Gründe dafür Lernen Sie React Native zu.
Our promise
Every year, Brainhub helps 750,000+ founders, leaders and software engineers make smart tech decisions. We earn that trust by openly sharing our insights based on practical software engineering experience.
Authors
Read next
Popular this month