Häufig gestellte Fragen

Welche Plattformen unterstützt ReactXP?

ReactXP unterstützt derzeit die folgenden Plattformen

  • iOS (React Native)
  • Android (React Native)
  • Web (React)
  • Windows 10 – UWP (React Native) - in Arbeit

Andere Plattformen wie Windows 7 & 8, MacOS und Linux können mit einer Web-Wrapper-Lösung wie Electron angesprochen werden.

Welche Browser unterstützt ReactXP?

Wir haben ReactXP mit neueren Versionen der folgenden Browser getestet

  • Chrome (Windows und Mac)
  • Internet Explorer (9 und neuer)
  • Edge
  • Firefox

Andere HTML5-Browser sollten theoretisch ebenfalls funktionieren.

Kann ich ReactXP ohne TypeScript verwenden?

Ja, Sie können den Code Ihrer Anwendung in JavaScript oder einer beliebigen Sprache schreiben, die zu JavaScript kompiliert (TypeScript, Flow usw.). ReactXP ist in TypeScript implementiert, und die Distribution enthält TypeScript-Typdefinitionen für die ReactXP-Schnittstelle.

Wie verhält sich ReactXP zu React Native?

ReactXP baut auf React Native auf. Die Komponenten und APIs von ReactXP sind von React Native inspiriert – und in den meisten Fällen identisch mit React Native. ReactXP stellt im Allgemeinen APIs, Props, Style-Attribute und Animationsschnittstellen bereit, die für die React Native-Implementierungen unter iOS und Android (sowie die entstehende Implementierung unter Windows) gemeinsam sind. Es implementiert auch dieselben APIs, Props, Style-Attribute und Animationsschnittstellen im Web.

ReactXP ist weder eine echte Teilmenge noch eine echte Obermenge von React Native. Es stellt nicht jede von React Native bereitgestellte Komponente zur Verfügung. Insbesondere stellt es keine plattformspezifischen Komponenten (wie PickerIOS oder MapView) bereit. Es stellt auch einige Komponenten und APIs bereit, die in React Native nicht implementiert sind, wie GestureView und UserPresence.

Apps, die ReactXP verwenden, können direkt auf React Native-Komponenten und APIs zugreifen. Sie können auch direkt auf React DOM-Elemente im Web zugreifen. Solcher Code muss jedoch Build-Zeit- oder Laufzeit-Bedingungen enthalten, um die Verwendung dieser Komponenten oder APIs auf Plattformen zu vermeiden, auf denen sie nicht zutreffen.

Alle über ReactXP bereitgestellten Komponenten und APIs sind für alle unterstützten Plattformen implementiert. In einigen Fällen sind API-Aufrufe No-Ops, aber sie sind garantiert implementiert. Zum Beispiel ist Input.backButtonEvent unter iOS und im Web ein No-Op, und StatusBar-APIs sind im Web No-Ops. Apps, die nur ReactXP-Abstraktionen verwenden, können plattformspezifische bedingte Prüfungen im Allgemeinen vermeiden.

Wie unterscheidet sich ReactXP von React Native for Web?

React Native for Web ist eine Open-Source-Bibliothek, die von Ingenieuren bei Twitter entwickelt wurde. Wir haben mit der Implementierung von ReactXP begonnen, bevor React Native for Web verfügbar war.

Die Ziele hinter diesen beiden Bemühungen sind ähnlich, aber die Ansätze unterscheiden sich. ReactXP ist eine Schicht, die auf React Native und React aufsitzt, während React Native for Web eine parallele Implementierung von React Native ist – ein Geschwister zu React Native für iOS und Android.

ReactXP stellt im Allgemeinen nur die Props, Style-Attribute und APIs bereit, die auf allen Plattformen verfügbar sind. Wenn Sie mit der Abstraktion von ReactXP schreiben, können Sie mit hoher Sicherheit davon ausgehen, dass sie auf allen unterstützten Plattformen auf dieselbe Weise ausgeführt wird. Dasselbe kann mit React Native for Web/iOS/Android erreicht werden, aber Sie müssen vorsichtiger sein, welche Komponenten, Props und APIs Sie verwenden.

Eines unserer Ziele beim Schreiben von ReactXP war es, Entwicklern zu ermöglichen, Code in der Plattformumgebung zu schreiben und zu debuggen, in der sie sich am wohlsten fühlen, und gleichzeitig sicherzustellen, dass der resultierende Code auf anderen Plattformen gleich funktioniert.

Wie unterscheidet sich ReactXP von Xamarin?

Xamarin ist eine plattformübergreifende Lösung, die es Entwicklern ermöglicht, Apps für iOS, Android und Windows Phone mit einer einzigen Codebasis zu erstellen. Xamarin-Apps werden in C# und XAML geschrieben, sodass .NET-Entwickler ihre Fähigkeiten und Erfahrungen nutzen können. Xamarin-Apps können effizienter sein als React Native-Apps, die durch die JavaScript-Leistung und den Overhead der React Native-Brücke eingeschränkt sind. Xamarin wurde Anfang 2016 von Microsoft übernommen und wird von einem engagierten Ingenieurteam unterstützt. Es bietet eine umfassende Entwicklungslösung, einschließlich Tools für Codierung, Debugging, Leistungsanalyse, Builds, automatisierte Tests und Verteilung.

ReactXP bietet im Gegensatz zu Xamarin eine Möglichkeit, mobile Apps *und* Web-Apps mit derselben Quellbasis zu erstellen. ReactXP (wie React und React Native) ermöglicht erfahrenen Webentwicklern, ihre vorhandenen Fähigkeiten und Kenntnisse zu nutzen. ReactXP wurde vom Skype-Team bei Microsoft zur Unterstützung ihrer Entwicklungsanforderungen entwickelt. ReactXP baut auf der Arbeit von Facebook und der breiteren React Open-Source-Community auf.

Sowohl Xamarin als auch ReactXP sind großartige Lösungen, aber sie lösen etwas unterschiedliche Probleme.