Skip to content
A framework for building native Windows apps with React.
C++ C# JavaScript TypeScript Assembly PowerShell Other
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.ado Playground solution failed to build first time (#2946) Aug 17, 2019
.github Update CODEOWNERS (#2788) Jul 18, 2019
.vscode Start tracking API changes, and generating API documentation (#2932) Aug 15, 2019
apps Rename platform uwp->windows (#2922) Aug 12, 2019
blog Updating parity of NetInfo module (#2816) Jul 24, 2019
current Run clang-format on cpp/h files across the repo (#2927) Aug 14, 2019
packages applying package updates ***NO_CI*** Aug 20, 2019
vnext applying package updates ***NO_CI*** Aug 20, 2019
.clang-format clang-format: add rule for pch.h and generated files (#2767) Jul 15, 2019
.editorconfig feat(EditorConfig) - closes Issue #468 (#471) Jun 13, 2016
.gitattributes Hook up some basic formatting configuration for vscode (#2655) Jul 1, 2019
.gitignore Start tracking API changes, and generating API documentation (#2932) Aug 15, 2019
.gitmodules unicode.h uses stdexcept but doesn't include it (#2476) May 15, 2019
.prettierrc Hook up some basic formatting configuration for vscode (#2655) Jul 1, 2019
LICENSE fix(LICENSE): Remove FacebookLicense folder, all local source code no… Mar 6, 2018
README.md Fresh PR for blogs (#2809) Jul 19, 2019
lerna.json Move playground package to c++ (#2837) Jul 28, 2019
logo.png 🎨 Add Hero and Logo (#457) Jun 3, 2016
package.json Start tracking API changes, and generating API documentation (#2932) Aug 15, 2019
yarn.lock Fixed versions of rn, rnw in package.json (#2945) Aug 16, 2019

README.md

React Native for Windows

Build native Windows apps with React.

React Native for Windows is released under the MIT license. Current Appveyor build status. Current npm package version. PRs welcome!

Hero Image with Logo

React Native 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. Facebook uses React Native in multiple production apps and will continue investing in React Native.

This repository adds support for the Windows 10 SDK, which allows you to build apps for all devices supported by Windows 10 including PCs, tablets, 2-in-1s, Xbox, Mixed reality devices etc.

Status and roadmap

We are in the process of re-implementing react-native-windows in C++, for better performance, and to better align with the shared C++ react-native core as it evolves. Please see the Roadmap 2019 blog for details on this effort and investment roadmap for the upcoming months.

Latest updates

Last updated: July 2019

Both the current and vnext implementations of react-native-windows have been upgraded to support React Native version 0.59. Please see the July 2019 Updates Blog for all the latest updates!

Quick Links

Introduction

See the official React Native website for an introduction to React Native.

System Requirements

  • You can run React Native Windows UWP apps only on Windows 10 devices
    • React Native Windows -current supports Windows 10 SDK >= 14393 and Windows 8.1
    • React Native Windows -vnext currently supports Windows 10 SDK >= 15063
  • You can run React Native Windows WPF apps using the current implementation on Windows 7-10 so long as .NET 4.6 is installed on the end user's machine
  • Download Visual Studio 2017 Community or Greater. (Visual Studio 2015 support has been deprecated.)
    • You will need to start Visual Studio after it is installed to do some final setup before it can be used to build or run your React Native Windows application

Note: Development on React Native Windows itself currently requires Visual Studio 2017 or higher. It is not currently supported with VS Code, but work is ongoing as tracked here.

Getting Started

Want to develop a React Native Windows app? Head over to our Getting Started Guide - current.

You can also begin to prototype or try out the vnext version under development by checking out the Getting Started Guide - vnext

Getting Help

  • Chat with us on Reactiflux in #react-native-platforms
  • If it turns out that you may have found a bug, please open an issue

Documentation

React Native already has great documentation, and we're working to ensure the React Native Windows is part of that documentation story. Check out the React documentation for further details about the React API in general.

For information on parity status with Android and iOS, including details on implemented and missing components and modules, along with related issues for missing features from partial implementations, go here for the current react-native-windows implementation and here for vnext.

Extending React Native

  • Looking for a component? JS.coach
  • Fellow developers write and publish React Native modules to npm and open source them on GitHub.
  • Third party modules may be missing Windows support, so reach out to the project owners directly.
  • Making modules helps grow the React Native ecosystem and community. We recommend writing modules for your use cases and sharing them on npm.
  • You should almost never need to modify or fork React Native Windows itself (the ReactNative and ReactNative.Shared project/sources) to create custom controls. The extension points should already exist to do just about anything!
  • Read the guides on Native Modules for Windows and Native UI Components for Windows if you are interested in extending native functionality. Note: Guides for vnext coming soon.

Opening Issues

If you encounter a bug with the React Native Windows plugin, we would like to hear about it. Search the existing issues and try to make sure your problem doesn’t already exist before opening a new issue. It’s helpful if you include the version of Windows, React Native, React Native Windows plugin, and device family (i.e., mobile, desktop, Xbox, etc.) you’re using. Please include a stack trace and reduced repro case when appropriate, too.

Please use the appropriate template to file your issues.

The GitHub issues are intended for bug reports and feature requests. For help and questions with using the React Native Windows plugin please make use of the resources listed in the Getting Help section.

Contributing

Make sure to install the system requirements. If you just want to get started with developing your own app, read Getting Started with App Development. You only need to interact with npm to use for your app development.

For more information about contributing PRs, see :

Good First Task and help wanted are great starting points for PRs.

Examples

  • Using the CLI in the Getting Started sections will set you up with a sample React-Native-Windows app that you can begin editing.
  • If you're looking for sample code, just browse the RNTester folder in the GitHub web UI

License

The React Native Windows plugin, including modifications to the original Facebook source code, and all newly contributed code is provided under the MIT License. Portions of the React Native Windows plugin derived from React Native are copyright Facebook.

Code of Conduct

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.

You can’t perform that action at this time.