microsoft / react-native-windows-samples

A repository showcasing React Native samples and templates for Windows, macOS, and Surface Duo.
https://microsoft.github.io/react-native-windows/
MIT License
485 stars 199 forks source link

Create guide for adding macOS support to an existing community module #159

Open chrisglein opened 4 years ago

chrisglein commented 4 years ago

Typically the engineering here is lower than say a Windows module because the iOS code can be leveraged. The higher cost is knowing what to do, and going through the PR process. We should document that to help external contributors to help out here.

Of note we need this for Windows too... I know there was some discussion/issue on that, but I couldn't find it.

chrisglein commented 4 years ago

@tom-un You've mentioned that you've done a few of these and have pointed people to PRs for those as reference. Can you link the PRs or whatever you've linked before here as a starter? Any additional amount you can seed some documentation would help, then hopefully we can share some of the effort to build out docs for this for Windows and macOS.

Speaking of the Windows side, @stmoy I'm thinking of this: https://microsoft.github.io/react-native-windows/docs/native-modules-setup#Adding-Windows-support-to-an-existing-library I'm not sure that's discoverable enough - took me some clicking and scrolling to find it. What do you think?

tom-un commented 4 years ago

@chrisglein Here are the PR's I've done to contribute macOS implementations to existing react-native-community repos: react-native-webview: https://github.com/react-native-community/react-native-webview/pull/1164 async-storage: https://github.com/react-native-community/async-storage/pull/296 react-native-netinfo: https://github.com/react-native-community/react-native-netinfo/pull/312

chrisglein commented 4 years ago

FYI @amgleitman we have the issue tracking need for an article on adding macOS support to existing native modules here (on the samples repo where the website is built from, not the macOS repo). If you can put together some content we can help you walk through the website parts. Some documentation here