React Native for macOS is an experimental fork for writing desktop apps using Cocoa
JavaScript Java Objective-C C++ Objective-C++ C Other
Latest commit fa5ae6b Dec 8, 2017
ptmt committed Dec 8, 2017 Merge pull request #184 from forwarder/master
Fix require for images by using correct path
Failed to load latest commit information.
.github Update Apr 7, 2017
ContainerShip Container Testing Updates Apr 12, 2017
Examples Ignore deallocation in weak module tests Jun 9, 2017
IntegrationTests Unit test are passing on local machine Jun 4, 2017
JSCLegacyProfiler Sync with facebook/react-native@0.19 Jan 27, 2016
Libraries Fix #165, #171: Update onChange and onKeyPress Aug 5, 2017
React Fix #162: use the right timestamp for RTCFrameUpdate Jul 3, 2017
ReactAndroid Merge into merge-0.44.0 May 13, 2017
ReactCommon Make it compiling May 16, 2017
babel-preset Update babel-preset, filter path by identifiers. Nov 23, 2016
blog ListItem JSX tag is not closed when used in SectionList Apr 18, 2017
bots Merge into merge-0.44.0 May 13, 2017
docs Merge into merge-0.44.0 May 13, 2017
flow Unify source map types Apr 28, 2017
gradle/wrapper Android - Update Gradle to 2.2.3 Jan 31, 2017
jest Add request/cancelAnimationFrame to jest setup May 5, 2017
keystores Apply auto-formatter for BUCK files in fbandroid. Feb 27, 2017
lib Reorganize core JS files Oct 11, 2016
local-cli Update HelloWorld: macOS app doesn't require iOS environment Jun 30, 2017
packager Resolve images in bundler Dec 8, 2017
react-native-git-upgrade Fix react-native-git-upgrade cache busting Feb 19, 2017
react-native-macos-cli Publish new react-native-cli package May 30, 2017
scripts Add show method declaration to DevMenu for tests Jun 9, 2017
third-party-podspecs BREAKING - Update podspecs to support and default to the C++ bridge May 3, 2017
website Merge into merge-0.44.0 May 13, 2017
.buckconfig Allow building UIExplorer with Buck Apr 12, 2016
.editorconfig Fix indent of .gradle files Oct 19, 2016
.eslintignore packager: fork local version of worker-farm May 3, 2017
.eslintrc XHR: support typed arrays for request payloads Jan 21, 2017
.flowconfig Fix Flow complaints Jun 8, 2017
.gitattributes Added a .gitattributes file, ensuring that Bash script source files (… Oct 14, 2015
.gitignore Update e2e tests by fixing pathes Jun 5, 2017
.npmignore Update .npmignore to include generated bundle file Feb 3, 2017
.travis.yml Ignore cocoapod processing Jun 9, 2017 Shorten template instructions. Mar 16, 2017 Docker Testing Environment for Android & JS Feb 24, 2017
Jenkinsfile Container Testing Updates Apr 12, 2017
LICENSE Update license Mar 23, 2015
LICENSE-docs More licenses Mar 25, 2015
LICENSE-examples More licenses Mar 25, 2015
PATENTS Update Patent Grant Apr 10, 2015 Button onClick prop updated. Oct 20, 2017
React.podspec Merge into merge-0.44.0 May 13, 2017 Support the --remote option in bump-oss-version.js script Feb 6, 2017
Windows Fix tutorial link in Jun 14, 2016 DOCS ONLY: Update breaking changes location in m… Feb 3, 2017
build.gradle Update gradle-download-task from 2.0.0 to 3.1.2 to fix boost zip down… Dec 8, 2016
circle.yml disable Circle e2e tests Apr 21, 2017
cli.js packager: centralize babelRegisterOnly callsites Jan 6, 2017
gradlew Update gradle wrapper binary and scripts Sep 9, 2016
gradlew.bat Update gradle wrapper binary and scripts Sep 9, 2016
jest-preset.json Fix jest tests and update tests for template project Jun 8, 2017
package.json Add module resolver for aliasing react-native Jun 5, 2017
react.gradle Add ability to customize CLI path Apr 10, 2017
rn-cli.config.js Add a local packager config, so that react can find react-native when… Jul 5, 2016 Add suggested ‘view size’ powers to -[RCTShadowView setFrame:] Mar 1, 2016
settings.gradle Android: TicTacToe Example Project Aug 9, 2016
setupBabel.js Remove `react-packager` indirection. Feb 2, 2017

React Native macOS (ex react-native-desktop)

Build macOS desktop applications using React Native.

Build Status npm version discord #react-native-platforms

  <Button onPress={() => alert('clicked!')} />

Getting Started

Node 4.x+, OS X 10.11+ required.

Previous React Native experience is highly recommended.

$ npm install react-native-macos-cli -g
$ react-native-macos init MyProject
$ cd MyProject
$ react-native-macos run-macos

If you want to add macOS target to the existing iOS/Android/Windows project, make the steps above, merge this new folder into your current React Native project, then put rn-cli.config.js in the root.


Since React Native macOS is just a fork, you can follow the same instructions on the React Native Documentation.


React Native macOS is a fork of React Native for iOS. The project is still a fairly new so proceed at your own risk.

Community Help

Please use these community resources for getting help. We use the GitHub issues for tracking bugs and feature requests and have limited bandwidth to address them.

  • Ask a question on StackOverflow and tag it with react-native-macos
  • Chat with us on Reactiflux in #react-native-platforms (mentioning @ptmt)
  • DM @ptmt on twitter



UIExplorer includes a set of component examples that illustrate their functionality. It also allows you to load external JavaScript bundle files through HTTP. Simply copy and paste a URL into the Search Field.

Download UIExplorer

screenshot 2016-03-31 21 06 33

screenshot 2016-03-31 21 00 30

screenshot 2015-10-24 16 40 36


See license for React is BSD licensed. Facebook also provide an additional patent grant.