Reagiere Native Init gegen Expo

Bild


In der offiziellen Dokumentation zu React Native im Abschnitt Erste Schritte erfahren Sie, dass Sie eine mobile Anwendung auf zwei Arten starten können: expo und Native-Cli-Reaktion. Windows- und Linux-Benutzer, und die meisten von ihnen, sollten die Informationen in der folgenden Tabelle vor der Installation von Expo lesen und speichern, indem sie zur Registerkarte "Projekte mit nativem Code erstellen" wechseln und "Zielbetriebssystem: iOS" auswählen Mein Kopf stammt nicht nur von den Handschellen, die ich erhalten habe:


Namereaktions-native InitExpo
Sie können Ihre eigenen Module hinzufügen, die in Java / Objective-C geschrieben wurdenJaNein
Gewicht der Standardanwendung von Hello World5 mb25 mb
Erfordert Android Studio und Xcode, um Projekte auszuführenJaNein
Schriften müssen manuell in Xcode importiert werdenJaNein
Wenn Sie die Anwendung (über einen QR-Code oder einen Link) freigeben, müssen Sie nicht die gesamte APK- oder IPA-Datei sendenHärterEinfacher
Wenn Sie diese Anwendung freigeben möchten, müssen Sie die gesamte APK / IPA-Datei sendenJaNein
Stellt sofort verfügbare JS-APIs bereit, z. B. Push-Benachrichtigungen und Asset ManagerNeinJa
Wenn Sie sich immer noch für die Expo entschieden haben, ist es eine Frage der Zeit, ob Sie an ihre Grenzen stoßen und native Module verwenden möchten. Dazu müssen Sie die Verbindung trennen. Aus eigener Erfahrung und vielen meiner Kollegen weiß ich, dass das Lösen schief geht, was bedeutet, dass Sie eine Reihe von Fehlern umgestalten müssen.

Für mich ist Live Reloading im Simulator ein echter Freund geworden, aber in Expo bricht es ständig und es muss ständig neu gestartet werden, was den Entwicklungsprozess schmerzhaft macht.

Expo ist voll von Abhängigkeiten, die Sie persönlich nicht für das Projekt benötigen. Sie müssen jedoch auf zusätzliche Zeit warten, bis Ihr JS-Paket mit überschüssigem Müll eingesammelt ist. Dieser Müll wird dann von Expo zu Ihrer Version .apk und .ipa auf Ihren Mobilgeräten hinzugefügt Kunden, wodurch sich die Startzeit der Anwendung und damit die Zeit für die Entwicklung der Anwendung erhöht, da JS-Bundles sehr häufig abgeholt werden müssen.

Wenn Expo-Komponenten auch mit reaktionsgebundenen Clients funktionieren würden, gäbe es keine Probleme. Ich beobachte daher eine Lücke in der Kompatibilität von Startern und das Traurigste ist, dass Expo beginnt, Ihnen zusätzliche Fehler in Bezug auf die Infrastruktur anzuzeigen.

Natürlich hat nicht jeder die Möglichkeit, einen Mac zu kaufen, aber das Benchmarking von zwei Startern und meine 2,5-jährige Erfahrung bei beiden zeigt, dass die Entwicklung einer Anwendung mit reaktionsnativem CLI, auch nur unter Windows auf Android, eine bessere Investition in eine professionellere Lösung darstellt , da React-Native für iOS und Android dieselbe Codebasis verwendet.

Ich hoffe auf Ihr Feedback, dank dem die Informationen im Artikel angepasst und ergänzt werden.

Wenn Sie sich für diesen Artikel interessieren, beginnen Sie höchstwahrscheinlich gerade mit dem Erlernen von React Native. Dies bedeutet, dass Sie sich für meinen Videokurs in Russisch zu den Grundlagen von React Native (react-native-village.imtqy.com) interessieren, den Sie belegen können mit jedem starter.

Source: https://habr.com/ru/post/de480258/


All Articles