2016-06-30 5 views
1

Was ist der technologische Unterschied zwischen "React-Native" und "Apache Cordova"?Technologischer Unterschied zwischen reaktionsnativen und Cordova

Ich arbeite seit einiger Zeit mit cordova und es funktioniert so, es erstellt ein Webview (ein kopfloser Browser) und führt die Anwendung darin mit verschiedenen API-Zugriffen aus. Ich habe mich gefragt, ob das gleiche für "React-Native" gilt. Erstellt "Ract-Native" auch eine Webansicht? oder es wandelt Javascript-Codes in native Codes um?

Wenn es eine "Webansicht" wie Cordova erstellt, was ist dann der Unterschied zwischen einer "Cordova + React" -App und einer "React-Native" -App (mit Ausnahme der nativen Komponenten, die von nativen Reagieren bereitgestellt werden)?

Ich weiß, es gibt bereits eine Antwort auf diese Art von Frage hier: Phone gap vs React Native. Aber meine Frage ist ein bisschen anders. Vielen Dank.

Antwort

3

Erstellt "Ract-Native" auch eine Webansicht?

Nein. Reactive Native ist eine Abstraktion, um native UIs für Android und iOS zu schreiben. Ihr JS-Code wird in einer JS-Laufzeitumgebung auf dem Betriebssystem ausgeführt, die Benutzeroberfläche wird jedoch als native Komponenten gerendert. Dies unterscheidet es sehr von Cordova/PhoneGap.

auf dem React Native webpage erwähnt Dies wird:

native Komponenten

mit nativem Reaktion, können Sie die Standardplattform Komponenten wie UITabBar auf iOS und Schublade auf Android verwenden. Dies gibt Ihre App ein einheitliches Aussehen und Gefühl mit dem Rest der Plattform Ökosystem, und hält die Qualität bar hoch. Diese Komponenten sind leicht in Ihre App integriert mit ihren Gegenstücken Komponente, wie TabBarIOS und DrawerLayoutAndroid.

Und näher erläutert in this blog post:

Da Komponenten reagieren nur rein sind, nebenwirkungsfreie Funktionen, die Rückkehr , was unsere Ansichten wie in der Zeit an jedem Punkt schauen wir nie brauchen zu lesen Sie von unserer zugrunde liegenden gerenderten Ansicht Implementierung um schreiben Sie an es. In der Browserumgebung ist React nicht blockierend mit bezüglich des DOM, aber das Schöne an React ist, dass es abstrakt und nicht eng an das DOM gekoppelt ist. Reagieren kann jede imperative Ansicht System, wie UIKit auf iOS, zum Beispiel umhüllen.

Das bedeutet also mit ein bisschen Arbeit, können wir es so genau machen Reagieren, das auf GitHub ist wirklich native mobile Anwendungen zu betreiben. Die einzige Unterschied in der mobilen Umgebung ist, dass statt Reagieren im Browser und Rendering zu divs und spans, wir es in einer eingebetteten Instanz von JavaScriptCore in unseren Apps laufen lassen und übergeordnete plattformspezifische Komponenten rendern.

+0

Vielen Dank ... jetzt verstehe ich. Das bedeutet auch, dass die Leistung besser ist als die von cordova apps in reaction native, oder? –

+0

Ja, vor allem mit Dingen wie Animation. – Aaron

+0

@ProvashShoumma Bitte Antwort als akzeptiert markieren :) – Aaron

Verwandte Themen