Was ist der Hauptunterschied zwischen React, ReactdOM und React Native?


Antwort 1:

Sowohl React Native als auch ReactDOM sind benutzerdefinierte Renderer (ReactDOM für das Web, React Native für iOS und Android). React ist eine Ebene über diesen Renderern, mit der Sie deklarative, zusammensetzbare Komponenten schreiben können.

React Native verwendet React, um Javascript und JSX so zu transformieren, dass sie sowohl auf iOS als auch auf Android funktionieren. Es ist schnell aufzubauen, hat regelmäßige Updates, eine riesige Community und großartige Unterstützung (dank seiner Beziehung zu Facebook). Darüber hinaus bietet es eine hervorragende Entwicklererfahrung, bei der Sie von einem Hot-Reload profitieren können (Änderungen werden während der Änderung des Benutzeroberflächencodes live angezeigt). Appetit auf mehr Wissen über React Native? Lesen Sie den Artikel von Netguru über die Vor- und Nachteile von React Native.

ReactDOM wird bei der Arbeit mit React nicht häufig verwendet. Es ist jedoch wichtig zu beachten, dass diese Abstraktion enorme Vorteile für die Renderoptimierung bietet. React und React Native sind beide sehr konservativ in Bezug darauf, wann ein tatsächliches Rendering im DOM (oder in der nativen Ansichtshierarchie) erfolgen soll. Dies wird dank VirtualDOM erreicht, das ein React-Reconciler bei jeder Statusänderung überprüft, um Snapshots zu vergleichen und zu entscheiden, ob ein neues Rendering erforderlich ist. Dies scheint nicht viel zu sein, ermöglicht jedoch die Deklarativität von JSX und bietet signifikante Leistungsoptimierungen.


Antwort 2:

React ist ein Framework / eine Engine zum Manipulieren von Dom-Objekten.

ReactDOM ist eine Implementierung der Browser-DOM-Abstraktion für React.

React Native ist ein Framework, das ReactJS und die systemeigene DOM-Implementierung für React verwendet. Es kompiliert auch den gesamten Code in systemeigenen Binärcode.


Antwort 3:

Um React Native umfassend zu überprüfen, muss es der Native Development gegenübergestellt werden.

Um eine App für Ihr Unternehmen zu erstellen, müssen Sie die Entwicklung von React Native vs Native in Betracht ziehen, um eine Auswahl treffen zu können.

Die Wahl muss zwischen Apps mit hervorragender Benutzeroberfläche und UX und solchen mit plattformübergreifendem Charakter getroffen werden.

Da der Schwerpunkt Ihrer Frage bei React Native liegt, möchte ich einige Vor- und Nachteile nennen, die ich im Laufe der Jahre erkannt habe.

Vorteile der Entwicklung von React Native:

1. Einzelne Codebasis

Mit React Native kann eine einzige Codebasis für Android und iOS verwendet werden. Dies erleichtert Entwicklern das Leben, da sie nicht verschiedene Sprachen lernen oder verschiedene Plattformen verstehen müssen.

2. Geringe Entwicklungszeit

Da ein Entwickler nur einen Code schreiben muss, spart dies dem Entwicklerteam viel Zeit und Mühe.

3. Einfacher Übergang für Webentwickler

Eine React Native App-Entwicklung basiert auf dem JavaScript-Framework. Dies erleichtert den Übergang vom Webentwickler zum mobilen Entwickler erheblich.

4. Open Source

Da React Native Open Source ist, kann der Code eingesehen werden. Daher kann das Framework durch Beheben von Fehlern und Aktualisieren von Funktionen verbessert werden.

5. Heißes Nachladen

Eine der interessanten Funktionen von React Native ist das Hot-Reloading. Ein reaktionsfähiger nativer Entwickler kann neuere Versionen von Dateien, die er bearbeitet, einfügen, während die App ausgeführt wird. Auf diese Weise erhalten Entwickler schnelles Feedback zu den vorgenommenen Änderungen.

Nachteile von React Native Development

1. Unterstützen Sie nicht alle APIs

Obwohl einige beliebte native APIs von React Native unterstützt werden, werden andere wichtige APIs und Funktionen nicht unterstützt. Um auf diese Funktionen zuzugreifen, werden native Module verwendet.

2. Eingeschränkte Bibliotheken von Drittanbietern

Im Vergleich zu nativen Plattformen hat React Native eine kleinere Community, weshalb Bibliotheken von Drittanbietern fehlen.

3. Interaktion mit nativen Elementen

Dies ist wahrscheinlich der größte Nachteil der Entwicklung von React Native, da hier keinerlei Möglichkeiten zur Verwendung der nativen Elemente eines Geräts wie Kamera oder Voice Recorder bestehen.