That's what I did as well, tried react-native-macos but that didn't work. I also have an Electron version using react-native-web, which works great.
Now, with Apple Catalyst, things got really interesting. Try it on your project and let me know how it goes, specially the performance. I haven't tried react-native-windows yet but that's on my radar. I don't think we have a high quality alternative for Linux.
This is a react-native app that has nested scrolling and swipe gestures using react-native-gesture-handler. Both of this worked great when running on macOS, which is amazing.
What didn't work for me:
- Development mode (only Release mode, because of the failing WebSocket module)
- Firebase
- Deep linking
Overall impression:
- Amazing to be able to reuse the same code across iOS, Android, Web, macOS and Windows
- 99% of the layout looks correct, noticed only one small part breaking
- Some performance are great and some are worse than the iPad version, need to investigate
- Bundle size: 9,1MB (compare this to the Electron version: 181,1MB)
Steps:
- Upgrade your macOS to Catalina
- Upgrade Xcode to v11.1+
- Upgrade your app to react-native 0.61.2+
- On Xcode, at the General tab, enable the "Mac" device target
- Build
- You will get some build errors. Go to the Pods project, search for the failing Target, tap Build Phases > Compile Sources and choose only "iOS" instead of "macOS + iOS" (temporary fix)
We added more changes on master, now it creates tsconfig automatically, checks if the required dependencies are installed and other nice ux improvements.
Now, with Apple Catalyst, things got really interesting. Try it on your project and let me know how it goes, specially the performance. I haven't tried react-native-windows yet but that's on my radar. I don't think we have a high quality alternative for Linux.