You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Clean and update Windows OS Compatibility page (#1039)
## Description
This PR updates our Windows OS Compatibility page to correctly capture the target and minimum Windows SDK versions, especially wrt. New vs. Old Architecture requirements. It also makes updates around system setup (including both the correct SDK and using WinGet instead of chocolatey). Finally, updates are backported to older versioned docs as appropriate.
### Why
To make it clearer what versions of Windows are supported for apps made with different versions of RNW.
## Screenshots
N/A
> **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).
You can only develop React Native for Windows app on Windows. You can run React Native for Windows apps only on:
11
9
12
10
- All Windows 11 devices
13
-
- Windows 10 devices with Windows version: 10.0.16299.0 (aka 1709, aka Redstone 3, aka Fall Creators Update) or higher
14
-
Some features may not work on all versions. See [Windows 10 Compatibility](win10-compat.md) for version support details.
11
+
- Up-to-date Windows 10 devices (see [Windows OS Compatibility](win10-compat.md) for details)
15
12
16
13
To develop React-Native for Windows apps, you need to install several dependencies.
17
14
@@ -48,15 +45,15 @@ Alternatively, you can setup your environment manually:
48
45
-`Universal Windows Platform development`
49
46
- Include `C++ (v143) Universal Windows Platform tools` (check under 'Optional')
50
47
-**Individual Components**
51
-
- Include `Windows 10 SDK (10.0.19041.0)` (target OS version from [this table](win10-compat.md#react-native-app-supported-os-versions))
48
+
- Include `Windows 10 SDK (10.0.22621.0)` (target OS version from [this table](win10-compat.md#supported-os-versions))
52
49
- Include `MSVC v143 - VS 2022 C++ ARM64 build tools (Latest)` (to target ARM64 devices)
53
50
-[Enable Long Paths in Windows 10, Version 1607, and Later](https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry#enable-long-paths-in-windows-10-version-1607-and-later).
54
51
- Install the latest version of the [.NET 6.0 SDK](https://dotnet.microsoft.com/en-us/download/dotnet/6.0).
55
52
56
53
Options to install [Node.js](https://nodejs.org) separately:
57
-
- Using [Chocolatey](https://chocolatey.org/) (_React Native recommended_). To use chocolatey, from an elevated Command Prompt, run:
54
+
- Using [WinGet](https://aka.ms/winget) (_React Native recommended_). To use WinGet, from an elevated Command Prompt, run:
- Using [another package manager](https://nodejs.org/en/download/package-manager/) such as [Scoop](https://scoop.sh/) or [Node Version Switcher (nvs)](https://github.com/jasongin/nvs)
62
59
- Directly from [Node.js](https://nodejs.org/en/download)
@@ -65,7 +62,7 @@ Optional steps that are _highly recommended_:
65
62
66
63
- Install [Yarn](https://yarnpkg.com/en/docs/install) (**required** to contribute to react-native-windows)
67
64
- Install `git` using a method such as:
68
-
- Using a package manager such as [Chocolatey](https://chocolatey.org/) or [Scoop](https://scoop.sh/)
65
+
- Using a package manager such as [WinGet](https://aka.ms/winget), [Chocolatey](https://chocolatey.org/) or [Scoop](https://scoop.sh/)
69
66
- Install [git for Windows](https://gitforwindows.org/)
> **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).
8
+
React Native for Windows apps require the **Windows 10 May 2019 Update** (i.e. version 1903, build 10.18362.0) or higher to run.
9
9
10
-
React Native for Windows supports devices running on Windows 10 and higher.
11
-
React Native for Windows layers cleanly on top of the [native Windows UI platform](https://github.com/microsoft/microsoft-ui-xaml) which means there are some APIs that may not be supported in all versions of Windows since the corresponding native capabilities were not backward compatible with older OS versions. The following table captures these deltas. If you are using any of the APIs below, they will gracefully fail (no-op) when the app is running on Windows devices of corresponding OS versions.
10
+
> **Note:** Old Architecture apps only require the **Windows 10 October 2018 Update** (i.e. version 1809, Build 10.0.17763.0) or higher to run. For more information on React Native architectures in React Native for Windows, see [New vs. Old Architecture](new-architecture.md).
12
11
13
-
|[Windows 10 SDK](https://developer.microsoft.com/en-us/windows/downloads/sdk-archive)| React Native for Windows support |
|**October 2018 update**<br> Version 1809 ; Build 10.0.17763.0 | Unsupported: <ul><li>`useNativeDriver` for animations</li><li>`View.transform` property</li><li>React Native for Windows in XAML islands for hosting inside WPF/Win32 scenarios</li><li>When using Hermes engine, the default locale will always be `en_US` and the default time zone will always be `Etc/UTC`, irrespective of the system settings </li> |
|**Fall Creators Update**<br> Version 1709 ; Build 10.0.16299.91 | Unsupported : Same as above |
20
-
|**Creators Update**<br> Version 1703 ; Build 10.0.15063.468 | Unsupported : (Same as above plus): <ul><li>Keyboard events</li><li>`TextInput.placeholderTextColor`</li><li>`TextInput.secureTextEntry` may have some fast typing issues</li> |
12
+
## Supported OS Versions
21
13
22
-
## React Native App Supported OS Versions
23
-
24
-
The following table captures the default versions of Windows 10 that a React Native for Windows app supports. The "Target" is the version of the SDK that the app is compiled against, and the "Minimum" is the lowest version that the app will run on. Note that as of RNW 0.66, developers can easily override these default values to suit their own needs.
14
+
The following table captures the default versions of Windows that a React Native for Windows app supports. The "Target OS" is the version of the SDK that the app is compiled against, and the "Minimum OS" is the lowest version of Windows that the app will run on.
25
15
26
16
| React Native Windows | Target OS Version | Minimum OS Version |
27
17
| :--: | :-: | :-: |
28
-
| 0.72+ |**May 2020 update**<br> Version 2004 ; Build 10.0.19041.0 |**October 2018 update**<br> Version 1809 ; Build 10.0.17763.0 |
> **Note:** To override the default SDK versions, see [Customizing SDK versions](customizing-sdk-versions).
23
+
24
+
## Backwards Compatibility
25
+
26
+
React Native for Windows uses native Windows APIs that necessitate the minimum requirement of the **Windows 10 May 2019 Update** in order to run with all APIs and scenarios supported. Older versions of the Windows OS, when supported at all, may by missing certain functionality due to the lack of certain Windows APIs. The following table captures this missing functionality:
27
+
28
+
> **Note:** If you are using any of the APIs below, they should gracefully fail (no-op) when the app is running on Windows devices of the corresponding OS versions.
29
+
30
+
|[Windows SDK](https://developer.microsoft.com/en-us/windows/downloads/sdk-archive)| React Native for Windows support |
|**Windows 10<br>October 2018 Update**<br>Version 1809<br>Build 10.0.17763.0 |**Unsupported:** <ol><li>`useNativeDriver` for animations</li><li>`View.transform` property</li><li>React Native for Windows in XAML islands for hosting inside WPF/Win32 scenarios</li><li>When using Hermes engine, the default locale will always be `en_US` and the default time zone will always be `Etc/UTC`, irrespective of the system settings </li></ol> |
|**Windows 10<br>Creators Update**<br>Version 1703<br>Build 10.0.15063.468 |**Unsupported:** (Same as above plus): <ol><li>Keyboard events</li><li>`TextInput.placeholderTextColor`</li><li>`TextInput.secureTextEntry` may have some fast typing issues</li></ol> |
0 commit comments