Choosing between RNW Paper and RNW Fabric for a new project #14219
Replies: 1 comment
-
I can chime in as someone who has been porting a RNW Paper app to Fabric. IMO you should start on Fabric. I think a lot of the issues you'd run into starting on Fabric now, you'd still run into when Fabric is "more ready". Those issues mostly revolve around lack of 3rd party module support. You'll have to write some C++ and basically port what you need yourself, but it's not too bad. Most of the existing RNW 3rd party modules aren't really actively updated, so my guess is even when RNW new arch is promoted as ready, support for those modules will still lag behind. Even if you were to start with Paper, the module ecosystem is pretty sparse compared to mobile, so you'd probably need to write some custom C++ anyways, then need to migrate that to Fabric eventually (that's what has taken the most time for me - rewriting the custom UWP code I had for Win32). The new architecture on Windows is pretty fantastic. On mobile, old arch -> new arch isn't that big of a leap, but on Windows the performance seems to be significantly better, and not being restricted by UWP is a huge improvement. Outside of 3rd party modules, there are some funky workarounds I've had to do for GestureHandler, custom fonts, etc... but they're not too bad. With that said, since it sounds like you can wait a few months before starting, it might be worth waiting. I'd guess the module ecosystem won't change by then, but I imagine there will be better docs and more of the kinks will be worked out :) To try to answer your questions:
I think the team has done a really great job with the new architecture. It's a lot more than just TurboModules and Fabric - it's migrating from UWP to composition-based Win32, which is a huge change for the better. |
Beta Was this translation helpful? Give feedback.
-
Hi !
Our team is currently considering porting one of our React Native application from Android and iOS to Windows and Mac OS, and we would like to use React Native Windows to achieve that.
Our application is a communication application, which relies on a constant UDP socket, which, if I understand correctly is not really possible to keep in background with the current RNW Paper architecture, due to the UWP application lifecycle.
I understand from the documentation that the new RNW Fabric architecture is based on Windows App SDK, which doesn't have the same background processing limitations as UWP. Which seems more appropriate for our use case, as well as the ability to deploy the application without the Microsoft Store. But that this new architecture is still in an early stage.
We are currently waging our options between the following options :
In order to make up our mind we have a few questions :
I'm sorry for the wall of questions, I'm new to this project and to the Windows ecosystem.
Thank you all for your work on the project !
Beta Was this translation helpful? Give feedback.
All reactions