webentwicklung-frage-antwort-db.com.de

Reagieren Sie nativ vs. erstellen Sie reagieren native App

Ich möchte mit der nativen App-Entwicklung beginnen und brauche Hilfe, um zu entscheiden, welchen Weg ich gehen soll.

Die Hauptfrage ist: sollte ich mit native reagieren oder reaktive App erstellen?

Soweit ich verstehe, reagiert CRNA wirklich nativ mit dem Expo-Client und den Tools mit einer komfortableren Nutzung (kein Dev-Konto erforderlich usw.).

Ich kann die Vorteile der Verwendung von CRNA über native Reaktoren erkennen (keine Notwendigkeit, Abhängigkeiten festzulegen, schnellere Entwicklungszeit, kein iPhone-Entwickler-Konto oder xcode + Android-Kombi usw.).

Da jedoch nicht alle nativen Bibliotheken enthalten sind, sehe ich mich ohnehin gezwungen, meine App zu einem späteren Zeitpunkt zu exportieren, und arbeite weiterhin mit Xcode und Android Studio wie zuvor.

Wenn CRNA also nur ein guter Weg ist, um mit allem zu beginnen, würde ich sofort Vanilla reagieren lassen, da ich in einer temporären Lösung überhaupt keinen Sinn sehe.

Und vielleicht können Sie mich auch korrigieren. Mir gefällt nicht die Idee, nur einen weiteren Wrapper auf meiner App zu haben, es sei denn, es gibt einige entscheidende Vorteile, die ich übersehen habe.

Könnten Sie bitte Ihre Meinung dazu teilen? Wenn Sie in der Vergangenheit Apps mit Reactative entwickelt haben, welchen Weg sind Sie gegangen und welchen Weg werden Sie in der Zukunft gehen? Reagieren Sie native, CRNA oder reagieren Sie native und Expo-Umgebung?

Danke im Voraus.

29
CoffeeCups

Hallo, ich werde auch einige meiner Erfahrungen zu diesem Thema teilen.

Da ich ein Frontend-Hintergrund habe und mit XCode oder Android Studio nicht vertraut war, habe ich mich entschlossen, meine native App-Entwicklung von CRNA aus zu starten. 

Mit nur einem Texteditor, mit reinem Javascript und mit integrierten Expo-SDK-Komponenten konnte ich schnell implementieren und in Play Store eine recht einfache Anwendung veröffentlichen. Das finde ich wirklich erstaunlich :)

Nach der Veröffentlichung der App wurde mir jedoch klar, dass es einige Fallstricke gibt, die es nicht mit vergleichbaren Java-Apps aufnehmen können:

Die größte IMO ist die Größe der mit exp Generierten APK. Für die App mit nur 3 Bildschirmen und nicht viel Geschäftslogik ist 25 MB und ca. 60 MB nach der Installation wirklich viel. Laut expo devs komplexere Apps werden in etwa gleich groß oder nur geringfügig größer sein, da der Großteil der Größe die nativen Abhängigkeiten und nicht die eigentliche Javascript-Seite ist ist ein großes Problem und ich werde wahrscheinlich sowieso eject die App brauchen, um die Buildgröße zu optimieren

Im Allgemeinen ist CRNA eine großartige und schnelle Methode, um etwas zu starten und etwas zum Laufen zu bringen. Bevor Sie die App jedoch für die Benutzer veröffentlichen, müssen Sie Ihr benutzerdefiniertes Build und alle Abhängigkeiten wie Android Studio nicht ändern

18
tomekz

Ich denke, Create-React-Native-App ist eine gute Möglichkeit, damit Sie sich auf den React-Teil von React Native konzentrieren können, insbesondere wenn Sie mit React nicht vertraut sind. Und wenn Sie bereit sind, Dinge mit native zu erledigen, können Sie sie einfach mit npm run eject auswerfen.

Als ich Ende letzten Jahres ein neues Projekt mit respons native startete, gab es keine Create-React-native-App, und ich habe zuerst expo bewertet. Es hat mir nicht gefallen, da es keine einfache native Integration gab, es sei denn, Sie werden ausgeworfen, wenn ich sicher bin, dass wir native Integration benötigen. Deshalb ging ich mit Vanilla native reagieren. Ich hatte auch schon Erfahrung mit React im Web und der nativen Entwicklung von iOS und Android. 

8
hyb175

TLDR

wenn Sie ein Projekt mitcreate_react_native_app myproject erstellen

dann enthält es expo (nicht empfohlen)

wenn Sie ein Projekt mitreact-native myproject erstellen

dann ist es einfach zu reagieren (empfohlen für kleine, mittlere, große Projekte)

Note: Befehl react-native im Terminal verwenden diesen Link verwenden

0
vijay

Ich möchte meine Erfahrungen mit der App-Entwicklung teilen. Da ich neu mit reagieren war, habe ich mit CRNA angefangen und es lief reibungslos. Expo bietet viele Funktionen wie Push-Benachrichtigungen, Animationen (empfohlen von Lottie von Airbnb) und die Gewissheit, dass Sie Ihre App jederzeit auswerfen können, wenn Sie native Bibliotheken mit der App verwenden möchten. Das Beste daran ist, dass Sie keinen Code neu schreiben müssen, und alle exklusiven Funktionen von Expo werden ebenfalls funktionieren. Daher ist CRNA (verwenden Sie so viel wie möglich) + Eject (wenn Sie native Bibliotheken benötigen) = Sweet Spot.

0
ASHISH BHARDWAJ