Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions docs/app-publishing.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ id: app-publishing
title: Publishing a React Native Windows App to the Microsoft Store
---

![Architecture](https://img.shields.io/badge/architecture-needs_review-red)

> **Architecture Review Needed:** This documentation was written to support development against React Native's "Old" or "Legacy" Architecture. It *may or may not* be directly applicable to New Architecture development and needs to be reviewed and potentially updated. For information on React Native architectures in React Native Windows, see [New vs. Old Architecture](new-architecture.md).

## Steps to Publish a React Native Windows App to the Microsoft Store
These are the steps to follow if you are looking to publish a React Native Windows app as a third party to the Microsoft Store. Since React Native Windows apps are Universal Windows Platform (UWP) apps, you can also see [Publish Windows apps - UWP applications | Microsoft Docs](https://docs.microsoft.com/windows/uwp/publish/) for all kinds of documentation on the UWP app publishing process.

Expand Down
2 changes: 2 additions & 0 deletions docs/autolink-windows-cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ id: autolink-windows-cli
title: react-native autolink-windows
---

![Architecture](https://img.shields.io/badge/architecture-new_&_old-green)

This guide will give you more information on the `autolink-windows` command of the React Native Windows CLI.

## `autolink-windows`
Expand Down
2 changes: 2 additions & 0 deletions docs/codegen-windows-cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ id: codegen-windows-cli
title: react-native codegen-windows
---

![Architecture](https://img.shields.io/badge/architecture-new_&_old-green)

This guide will give you more information on the `codegen-windows` command of the React Native Windows CLI.

## `codegen-windows`
Expand Down
4 changes: 4 additions & 0 deletions docs/config.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ id: config
title: React Native Config Schema
---

![Architecture](https://img.shields.io/badge/architecture-needs_review-red)

> **Architecture Review Needed:** This documentation was written to support development against React Native's "Old" or "Legacy" Architecture. It *may or may not* be directly applicable to New Architecture development and needs to be reviewed and potentially updated. For information on React Native architectures in React Native Windows, see [New vs. Old Architecture](new-architecture.md).

The CLI command [`npx react-native config`](https://github.com/react-native-community/cli/blob/master/docs/commands.md#config) outputs project and dependencies configuration in JSON format to `stdout`.

The following describes the schema for projects and dependencies provided by React Native for Windows.
Expand Down
4 changes: 4 additions & 0 deletions docs/customizing-SDK-versions.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ id: customizing-sdk-versions
title: Customizing SDK versions
---

![Architecture](https://img.shields.io/badge/architecture-needs_review-red)

> **Architecture Review Needed:** This documentation was written to support development against React Native's "Old" or "Legacy" Architecture. It *may or may not* be directly applicable to New Architecture development and needs to be reviewed and potentially updated. For information on React Native architectures in React Native Windows, see [New vs. Old Architecture](new-architecture.md).

It is easy for an app to customize which versions of the Windows SDK and WinUI 2.x to use.

### Details
Expand Down
4 changes: 4 additions & 0 deletions docs/debugging-javascript.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ id: debugging-javascript
title: JavaScript Debugging
---

![Architecture](https://img.shields.io/badge/architecture-needs_review-red)

> **Architecture Review Needed:** This documentation was written to support development against React Native's "Old" or "Legacy" Architecture. It *may or may not* be directly applicable to New Architecture development and needs to be reviewed and potentially updated. For information on React Native architectures in React Native Windows, see [New vs. Old Architecture](new-architecture.md).

This page details how to debug the JavaScript code in your RNW applications, including which tools are supported in which scenarios. You have two different options: *Direct Debugging* and *Web Debugging*.

> Unless stated otherwise, each of the debugging scenarios detailed below assume you're loading your JS bundle from the Metro Packager, not loading a prebuilt bundle file.
Expand Down
4 changes: 4 additions & 0 deletions docs/flyout-component-windows.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ id: flyout-component
title: Flyout
---

![Architecture](https://img.shields.io/badge/architecture-old_only-yellow)

> **Old Architecture Only:** This documentation describes a feature only supported by React Native's "Old" or "Legacy" Architecture. We are still in the progress of updating all of the documentation, but in the meantime, for information on React Native architectures in React Native Windows, see [New vs. Old Architecture](new-architecture.md).

# Reference

## Props
Expand Down
2 changes: 2 additions & 0 deletions docs/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ id: getting-started
title: Get Started with Windows
---

![Architecture](https://img.shields.io/badge/architecture-new_&_old-green)

This guide will help you get started on setting up your very first React Native for Windows app.

Make sure you have installed all of the [development dependencies](rnw-dependencies.md).
Expand Down
4 changes: 4 additions & 0 deletions docs/glyph-component-windows.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ id: glyph-component
title: Glyph
---

![Architecture](https://img.shields.io/badge/architecture-old_only-yellow)

> **Old Architecture Only:** This documentation describes a feature only supported by React Native's "Old" or "Legacy" Architecture. We are still in the progress of updating all of the documentation, but in the meantime, for information on React Native architectures in React Native Windows, see [New vs. Old Architecture](new-architecture.md).

# Reference

## Props
Expand Down
2 changes: 2 additions & 0 deletions docs/hermes.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ id: hermes
title: Hermes on Windows + macOS
---

![Architecture](https://img.shields.io/badge/architecture-new_&_old-green)

# Hermes

The [Hermes](https://hermesengine.dev/) engine is an open source JavaScript engine created by Facebook to optimize building and running React Native applications.
Expand Down
4 changes: 4 additions & 0 deletions docs/ikeyboardprops-api-windows.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ id: ikeyboardprops-api
title: IKeyboardProps
---

![Architecture](https://img.shields.io/badge/architecture-needs_review-red)

> **Architecture Review Needed:** This documentation was written to support development against React Native's "Old" or "Legacy" Architecture. It *may or may not* be directly applicable to New Architecture development and needs to be reviewed and potentially updated. For information on React Native architectures in React Native Windows, see [New vs. Old Architecture](new-architecture.md).

When developing for a Windows device, the likelihood of you needing to support a rich keyboarding experience in your app is very high - this API allows you to customize and control how keyboarding works on your custom or native components.

```
Expand Down
2 changes: 2 additions & 0 deletions docs/init-windows-cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ id: init-windows-cli
title: react-native init-windows
---

![Architecture](https://img.shields.io/badge/architecture-new_&_old-green)

This guide will give you more information on the `init-windows` command of the React Native Windows CLI.

## `init-windows`
Expand Down
4 changes: 4 additions & 0 deletions docs/iviewwindowsprops-api-windows.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ id: iviewwindowsprops-api
title: IViewWindowsProps
---

![Architecture](https://img.shields.io/badge/architecture-needs_review-red)

> **Architecture Review Needed:** This documentation was written to support development against React Native's "Old" or "Legacy" Architecture. It *may or may not* be directly applicable to New Architecture development and needs to be reviewed and potentially updated. For information on React Native architectures in React Native Windows, see [New vs. Old Architecture](new-architecture.md).

This extends the [View Props](https://reactnative.dev/docs/view#props) and [`IKeyboardProps`](ikeyboardprops-api-windows.md) APIs.

# Reference
Expand Down
4 changes: 4 additions & 0 deletions docs/managing-cpp-deps.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ id: managing-cpp-deps
title: Managing C++ dependencies
---

![Architecture](https://img.shields.io/badge/architecture-needs_review-red)

> **Architecture Review Needed:** This documentation was written to support development against React Native's "Old" or "Legacy" Architecture. It *may or may not* be directly applicable to New Architecture development and needs to be reviewed and potentially updated. For information on React Native architectures in React Native Windows, see [New vs. Old Architecture](new-architecture.md).

Details to consider when consuming community modules or other Visual C++ projects.

### Details
Expand Down
2 changes: 2 additions & 0 deletions docs/metro-config-out-tree-platforms.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ id: metro-config-out-tree-platforms
title: Metro config for out of tree platforms
---

![Architecture](https://img.shields.io/badge/architecture-new_&_old-green)

How to setup and diagnose issues with metro config for `react-native-macos` and `react-native-windows`. Many of the instructions within this document may refer just to `react-native-windows`, but the steps apply to `react-native-macos` in the same way.

# Version requirements
Expand Down
4 changes: 4 additions & 0 deletions docs/native-code-language-choice.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ id: native-code-language-choice
title: Choosing C++ or C# for native code
---

![Architecture](https://img.shields.io/badge/architecture-needs_review-red)

> **Architecture Review Needed:** This documentation was written to support development against React Native's "Old" or "Legacy" Architecture. It *may or may not* be directly applicable to New Architecture development and needs to be reviewed and potentially updated. For information on React Native architectures in React Native Windows, see [New vs. Old Architecture](new-architecture.md).

React Native for Windows supports writing native code in both C++ and C#, but there are trade-offs with each language. The choice of language can impact the compatibility, developer experience, and performance of your project. So whether you're building an app or native module, you should choose the native language that best meets your requirements.

> **Note**: In this document, C++ refers specifically to C++/WinRT.
Expand Down
4 changes: 4 additions & 0 deletions docs/native-code.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ id: native-code
title: Working with native code on Windows
---

![Architecture](https://img.shields.io/badge/architecture-needs_review-red)

> **Architecture Review Needed:** This documentation was written to support development against React Native's "Old" or "Legacy" Architecture. It *may or may not* be directly applicable to New Architecture development and needs to be reviewed and potentially updated. For information on React Native architectures in React Native Windows, see [New vs. Old Architecture](new-architecture.md).

## What is a React Native for Windows app?

When you create a React Native for Windows app targeting React Native's old architecture, you will get a [Universal Windows Platform app](https://docs.microsoft.com/windows/uwp/get-started/universal-application-platform-guide) (aka UWP app).
Expand Down
4 changes: 4 additions & 0 deletions docs/native-modules-advanced.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ id: native-modules-advanced
title: Native Modules (Advanced)
---

![Architecture](https://img.shields.io/badge/architecture-needs_review-red)

> **Architecture Review Needed:** This documentation was written to support development against React Native's "Old" or "Legacy" Architecture. It *may or may not* be directly applicable to New Architecture development and needs to be reviewed and potentially updated. For information on React Native architectures in React Native Windows, see [New vs. Old Architecture](new-architecture.md).

>**This documentation and the underlying platform code is a work in progress.**
>**Examples (C# and C++/WinRT):**
> - [Native Module Sample in `microsoft/react-native-windows-samples`](https://github.com/microsoft/react-native-windows-samples/tree/main/samples/NativeModuleSample)
Expand Down
4 changes: 4 additions & 0 deletions docs/native-modules-async.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ id: native-modules-async
title: Using Asynchronous Windows APIs
---

![Architecture](https://img.shields.io/badge/architecture-needs_review-red)

> **Architecture Review Needed:** This documentation was written to support development against React Native's "Old" or "Legacy" Architecture. It *may or may not* be directly applicable to New Architecture development and needs to be reviewed and potentially updated. For information on React Native architectures in React Native Windows, see [New vs. Old Architecture](new-architecture.md).

>**This documentation and the underlying platform code is a work in progress.**

A common scenario for [Native Modules](native-modules.md) is to call one or more native asynchronous methods from a JS asynchronous method. However it may not be immediately obvious how to properly bridge both asynchronous worlds, which can lead to unstable, difficult to debug code.
Expand Down
4 changes: 4 additions & 0 deletions docs/native-modules-autolinking.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ id: native-modules-autolinking
title: Autolinking Native Modules
---

![Architecture](https://img.shields.io/badge/architecture-needs_review-red)

> **Architecture Review Needed:** This documentation was written to support development against React Native's "Old" or "Legacy" Architecture. It *may or may not* be directly applicable to New Architecture development and needs to be reviewed and potentially updated. For information on React Native architectures in React Native Windows, see [New vs. Old Architecture](new-architecture.md).

Autolinking is a mechanism that allows your React Native app project to discover and use native modules and view managers provided by React Native libraries.

This document covers autolinking for the Windows platform. It is an extension to the [React Native CLI Autolinking doc](https://github.com/react-native-community/cli/blob/master/docs/autolinking.md).
Expand Down
4 changes: 4 additions & 0 deletions docs/native-modules-csharp-codegen.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ id: native-modules-csharp-codegen
title: Compile time code generation for C#
---

![Architecture](https://img.shields.io/badge/architecture-needs_review-red)

> **Architecture Review Needed:** This documentation was written to support development against React Native's "Old" or "Legacy" Architecture. It *may or may not* be directly applicable to New Architecture development and needs to be reviewed and potentially updated. For information on React Native architectures in React Native Windows, see [New vs. Old Architecture](new-architecture.md).

>**This documentation and the underlying platform code is a work in progress.**

In previous versions of React Native for Windows, code generation for C# modules was performed using reflection. Since 0.63 we improved this by adding a compile time code generation.
Expand Down
4 changes: 4 additions & 0 deletions docs/native-modules-jsvalue.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ id: native-modules-jsvalue
title: Using JSValue
---

![Architecture](https://img.shields.io/badge/architecture-needs_review-red)

> **Architecture Review Needed:** This documentation was written to support development against React Native's "Old" or "Legacy" Architecture. It *may or may not* be directly applicable to New Architecture development and needs to be reviewed and potentially updated. For information on React Native architectures in React Native Windows, see [New vs. Old Architecture](new-architecture.md).

>**This documentation and the underlying platform code is a work in progress.**

`JSValue` is a native, immutable invariant value type, and is meant to hold any of the commonly used JS types: `bool`s, `int`s, `double`s, `string`s, arrays, and objects. It is provided for native developers (writing native modules or view managers) who want an equivalent to the `folly::dynamic` type that is compatible with the WinRT ABI surface provided by `Microsoft.ReactNative`.
Expand Down
4 changes: 4 additions & 0 deletions docs/native-modules-marshalling-data.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ id: native-modules-marshalling-data
title: Marshaling Data
---

![Architecture](https://img.shields.io/badge/architecture-needs_review-red)

> **Architecture Review Needed:** This documentation was written to support development against React Native's "Old" or "Legacy" Architecture. It *may or may not* be directly applicable to New Architecture development and needs to be reviewed and potentially updated. For information on React Native architectures in React Native Windows, see [New vs. Old Architecture](new-architecture.md).

>**This documentation and the underlying platform code is a work in progress.**

## Overview
Expand Down
4 changes: 4 additions & 0 deletions docs/native-modules-setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ id: native-modules-setup
title: Native Module Setup
---

![Architecture](https://img.shields.io/badge/architecture-needs_review-red)

> **Architecture Review Needed:** This documentation was written to support development against React Native's "Old" or "Legacy" Architecture. It *may or may not* be directly applicable to New Architecture development and needs to be reviewed and potentially updated. For information on React Native architectures in React Native Windows, see [New vs. Old Architecture](new-architecture.md).

> **This documentation is a work in progress and version-specific. Please check that the version of this document (top of page) matches the version of RN/RNW you're targeting.**

This guide will set you up with our recommendations for authoring a native module for React Native for Windows. After completing this setup, you should be able to answer the question: *Where do I need to implement the native code so it's available at runtime?*
Expand Down
4 changes: 4 additions & 0 deletions docs/native-modules-troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ id: native-modules-troubleshooting
title: Troubleshooting Native Modules
---

![Architecture](https://img.shields.io/badge/architecture-needs_review-red)

> **Architecture Review Needed:** This documentation was written to support development against React Native's "Old" or "Legacy" Architecture. It *may or may not* be directly applicable to New Architecture development and needs to be reviewed and potentially updated. For information on React Native architectures in React Native Windows, see [New vs. Old Architecture](new-architecture.md).

So you added a new native module or a new method to a module but it isn't working, **now what?!**

## Common Issues
Expand Down
4 changes: 4 additions & 0 deletions docs/native-modules-using.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ id: native-modules-using
title: Using Community Native Modules
---

![Architecture](https://img.shields.io/badge/architecture-needs_review-red)

> **Architecture Review Needed:** This documentation was written to support development against React Native's "Old" or "Legacy" Architecture. It *may or may not* be directly applicable to New Architecture development and needs to be reviewed and potentially updated. For information on React Native architectures in React Native Windows, see [New vs. Old Architecture](new-architecture.md).

Community native modules are usually distributed as npm packages. To understand more about npm packages you may find [this guide](https://docs.npmjs.com/packages-and-modules/contributing-packages-to-the-registry) useful.

Consuming native modules requires updating your app's native build files to depend on the module's native build files, called "linking". Many modules support "autolinking", where these updates are done automatically when running the [run-windows command](run-windows-cli.md). Others may require you to link the module manually.
Expand Down
4 changes: 4 additions & 0 deletions docs/native-modules-vs-turbo-modules.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ id: native-modules-vs-turbo-modules
title: Native Modules vs Turbo Modules
---

![Architecture](https://img.shields.io/badge/architecture-needs_review-red)

> **Architecture Review Needed:** This documentation was written to support development against React Native's "Old" or "Legacy" Architecture. It *may or may not* be directly applicable to New Architecture development and needs to be reviewed and potentially updated. For information on React Native architectures in React Native Windows, see [New vs. Old Architecture](new-architecture.md).

If you've worked with React Native, you may be familiar with the concept of Native Modules, which allow JavaScript and platform-native code to communicate over the React Native "bridge", which handles cross-platform serialization via JSON.

TurboModules are the next iteration of Native Modules that provide a few extra benefits, in particular these modules use JSI, a JavaScript interface for native code, which allows for more efficient communication between native and JavaScript code than the bridge.
Expand Down
4 changes: 4 additions & 0 deletions docs/native-modules.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ id: native-modules
title: Native Modules
---

![Architecture](https://img.shields.io/badge/architecture-needs_review-red)

> **Architecture Review Needed:** This documentation was written to support development against React Native's "Old" or "Legacy" Architecture. It *may or may not* be directly applicable to New Architecture development and needs to be reviewed and potentially updated. For information on React Native architectures in React Native Windows, see [New vs. Old Architecture](new-architecture.md).

> **This documentation and the underlying platform code is a work in progress.**
> **Examples (C# and C++/WinRT):**
>
Expand Down
Loading
Loading