Skip to content

Make vNext the default

Updated Dec 10, 2019

Breaking out into a project board from this item:

Community Modules Support

Updated Dec 5, 2019

Tracks community modules that need react-native-windows support

E2E Testing

Updated Dec 3, 2019

No description

Finish implementation of the RNTester test runner for Universal to be able to run existing JavaScript/UI-driven integration tests bundled with ReactNative.

This project tracks the workstream for enabling react native for Windows vnext for Win32 apps.

This project is meant to track work to optimize performance of the React Native for Windows vnext implementation

This project tracks any work that may be needed in React Native Windows to ensure the accessibility of components and modules meet the standards for Windows. This includes keyboarding, navigation, working with narrator etc.,

Core Feature Parity

Updated Nov 25, 2019

This project will track feature parity with other React Native platforms, including iOS, Android, and the current react-native-windows implementation.

React Native has two primary interfaces for native extensions:

  1. View managers, which are effectively singletons in a React Native instance that implement lifecycle functionality for native components (i.e., create, remove, update props, etc.)
  2. Native modules, which are also singletons in a React Native instance that expose native methods to the JavaScript runtime.

We need to make sure there is an documented way to release implementations of these native extensions as standalone libraries, so the OSS community can easily create and share custom native extensions.

Another aspect of this project is ensuring that third-party native extensions are easily consumable from the perspective of a React Native developer. The React Native CLI has a command called link, which automates the process of updating your native solution to take a dependency on third-party native modules.

There is another open source tool called react-native-create-library, which has started templates for link-able, shareable libraries containing native extensions for React Native on iOS, Android, and the C# implementation for UWP.

React Native has a community managed CLI project, which has a number of useful commands for creating, running, and debugging React Native projects.

There are 3 main scenarios we'll want to cover with this project:

  1. A developer with an existing React Native app for another platform wants to add a project for UWP.
  2. A developer with an existing UWP app wants to add a React Native component to their app.
  3. A developer wants to create a greenfield React Native app for UWP.

The current implementation of react-native-windows has a command for generating C# projects, but we'll need to update this command to also be able to generate C++ projects.

While we're refactoring this tool, it may make sense to update the approach to installing React Native platform extensions (like react-native-windows). For example, we may be able to remove the rnpm-plugin-windows package dependency in favor of an platform command on the global CLI.

There is some work to be done to prepare for React Native Windows releases for the ongoing work to replace the core of React Native Windows with C++. We need to decide whether to ship source code or compiled binaries or both, if shipping compiled binaries how these should be installed (e.g., NuGet, vcpkg, both?), what integration tests need to be run, automated scripts for updating versioning information and publishing releases, how release notes are managed, how JavaScript dependencies are versioned, etc.

You can’t perform that action at this time.