React Native for macOS
React Native for macOS is an extension of React Native, a popular framework used to develop cross-platform applications using JavaScript. This specific npm package allows developers to create compelling and performant applications for macOS, leveraging their existing React skills. With react-native-macos, you can develop native macOS applications that not only perform well but also look and feel like part of the ecosystem. This means smoother animations, native menu bar integration, and support for macOS-specific features like Dark Mode, all using the familiar and powerful React component model.
To get started with building macOS applications, developers can simply run the command "npm install react-native-macos" in their development environment. This command installs all necessary dependencies required to begin crafting a native macOS application using React components. The ease of setup provided by react-native-macos significantly lowers the entry barrier for web developers looking to expand into desktop software. Furthermore, this package is supported by Microsoft, ensuring regular updates and professional management of the project, which helps in maintaining high standards of quality and security for your applications.
The react-native-macos package is also an excellent choice for teams looking to maintain cross-platform consistency without sacrificing the native capabilities of each platform. By using this package, developers can share a significant portion of their codebase between iOS, Android, and macOS applications, which drastically reduces development time and costs. Additionally, React Native for macOS supports a wide array of React Native libraries and plugins, enhancing the functionality of macOS apps without requiring additional native code. This interoperability makes react-native-macos a versatile tool in a developer’s toolkit, encouraging more innovative and integrated app ecosystems.
Core dependencies of this npm package and its dev dependencies.
@babel/core, @babel/eslint-parser, @babel/generator, @babel/plugin-transform-regenerator, @babel/preset-env, @babel/preset-flow, @definitelytyped/dtslint, @jest/create-cache-key-function, @pkgjs/parseargs, @react-native/metro-babel-transformer, @react-native/metro-config, @tsconfig/node18, @types/react, @typescript-eslint/parser, ansi-styles, async, babel-plugin-minify-dead-code-elimination, babel-plugin-transform-define, babel-plugin-transform-flow-enums, babel-preset-fbjs, chalk, clang-format, connect, eslint, eslint-config-prettier, eslint-plugin-babel, eslint-plugin-eslint-comments, eslint-plugin-ft-flow, eslint-plugin-jest, eslint-plugin-jsx-a11y, eslint-plugin-lint, eslint-plugin-prettier, eslint-plugin-react, eslint-plugin-react-hooks, eslint-plugin-react-native, eslint-plugin-redundant-undefined, eslint-plugin-relay, flow-api-translator, flow-bin, glob, hermes-eslint, inquirer, jest, jest-junit, jscodeshift, metro-babel-register, metro-memory-fs, micromatch, mkdirp, mock-fs, nullthrows, prettier, prettier-plugin-hermes-parser, react, react-test-renderer, rimraf, shelljs, signedsource, supports-color, typescript, ws
A README file for the react-native-macos code repository. View Code
Build native macOS apps with React.
See the official React Native website for an introduction to React Native.
React Native is a framework developed by Facebook that enables you to build world-class application experiences on native platforms using a consistent developer experience based on JavaScript and React. The focus of React Native is on developer efficiency across all the platforms you care about - learn once, write anywhere.
React Native is developed and supported by many companies and individual core contributors. Find out more in our ecosystem overview.
This repository is a working fork of facebook/react-native that adds support for the official React Native for macOS implementation from Microsoft.
You can read more about the macOS implementation in our website - React Native for Windows + macOS. You can read about how we manage this fork in our docs folder.
React Native apps may target iOS 13.4 and Android 5.0 (API 21) or newer. You may use Windows, macOS, or Linux as your development operating system, though building and running iOS apps is limited to macOS. Tools like Expo can be used to work around this.
Follow the Getting Started guide. The recommended way to install React Native depends on your project. Here you can find short guides for the most common scenarios:
You can run React Native for macOS apps on Mac devices with versions Catalina (10.15) or newer.
For a full and detailed list of the system requirements and how to set up your development platform, see our System Requirements documentation on our website.
See the Getting Started Guide on our React Native for Windows + macOS website to build your first React Native for macOS app.
Search the existing issues and try to make sure your problem doesn’t already exist before opening a new issue. If your issue doesn't exist yet, try to make sure you provide as much information as possible to us so we can help you sooner. It’s helpful if you include information like:
See Contributing guidelines for how to set up your fork of the repo and start a PR to contribute to React Native for macOS.
Good First Issue and help wanted are great starting points for PRs.
The full documentation for React Native can be found on the documentation website. The React Native documentation discusses components, APIs, and topics that are specific to React Native. For further documentation on the React API that is shared between React Native and React DOM, refer to the React documentation.
The source for the React Native documentation and website is hosted on a separate repo, @facebook/react-native-website.
React Native for Windows + macOS has its own separate documentation site where Windows and macOS specific information, like API docs and blog updates live. We are still working on the documentation for macOS, contributions are welcome!
If you're looking for sample code, just browse the RNTester folder for examples
For more details on how this fork handles keeping up with upstream, and how the general git flow works, check out this dedicated document.
The React Native for macOS extension, including modifications to the original Facebook source code, and all newly contributed code is provided under the MIT License. Portions of the React Native for macOS extension derived from React Native are copyright Facebook.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
Upgrading to new versions of React Native may give you access to more APIs, views, developer tools, and other goodies. See the Upgrading Guide for instructions.
React Native releases are discussed in this discussion repo.
The main purpose of this repository is to continue evolving React Native core. We want to make contributing to this project as easy and transparent as possible, and we are grateful to the community for contributing bug fixes and improvements. Read below to learn how you can take part in improving React Native.
Facebook has adopted a Code of Conduct that we expect project participants to adhere to. Please read the full text so that you can understand what actions will and will not be tolerated.
Read our Contributing Guide to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to React Native.
You can learn more about our vision for React Native in the Roadmap.
We have a list of good first issues that contain bugs which have a relatively limited scope. This is a great place to get started, gain experience, and get familiar with our contribution process.
Larger discussions and proposals are discussed in @react-native-community/discussions-and-proposals.
React Native is MIT licensed, as found in the LICENSE file.
React Native documentation is Creative Commons licensed, as found in the LICENSE-docs file.