Skip to content

Prepare for soft-launch of new architecture - #988

Merged
Tatiana Kapos (TatianaKapos) merged 15 commits into
microsoft:mainfrom
TatianaKapos:tk-newarch
Nov 11, 2024
Merged

Tatiana Kapos (TatianaKapos) merged 15 commits into
microsoft:mainfrom
TatianaKapos:tk-newarch

Conversation

@TatianaKapos

@TatianaKapos Tatiana Kapos (TatianaKapos) commented Nov 5, 2024 •

Copy link
Copy Markdown
Contributor

Description

Closes #981 and #980

Why

We are soft-launching the new arch in 0.76, this aims to start the documentation for this change! All feedback and contributions is welcomed if not encouraged :)

Content mostly taken from

Microsoft Reviewers: Open in CodeFlow

Comment thread docs/NewArch.md Outdated
Comment thread docs/NewArch.md Outdated
Comment thread docs/NewArch.md Outdated
Comment thread docs/NewArch.md Outdated
Comment thread docs/NewArch.md Outdated
Comment thread docs/NewArch.md Outdated
Comment thread docs/NewArch.md Outdated
@TatianaKapos
Tatiana Kapos (TatianaKapos) marked this pull request as ready for review November 6, 2024 21:43
@TatianaKapos
Tatiana Kapos (TatianaKapos) requested a review from a team as a code owner November 6, 2024 21:43

@stmoy Steven Moyes (stmoy) left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking great! Thank you for putting this content together Tatiana!

Comment thread docs/NewArch.md Outdated
Comment thread docs/NewArch.md Outdated
Comment thread docs/NewArch.md Outdated

On Windows, the implementation of the previous "Paper" rendering architecture was based on UWP and WinUI/XAML. To meet the requirements of the new "Fabric" rendering architecture the Windows implementation now uses a direct WinAppSDK Scene Graph approach that can also host WinUI/XAML islands as needed. This evolution aims to unify rendering logic cross-platform in C++, aligning more closely with WinAppSDK and WinUI3 that favor Win32 applications. This means that apps built with the new architecture will default to Win32 rather than UWP, a change made to enhance compatibility with Windows’ latest frameworks.

For developers using UWP with RNW, **UWP Paper applications remain fully supported**—there are no immediate plans to remove support. However, **UWP and Fabric together are currently not supported**. We will provide clear migration guidance for UWP Paper apps once Fabric support is fully established. At this stage, Fabric on Windows is best suited for early adopters comfortable with a work-in-progress experience, and the documentation may not yet be as comprehensive. For those willing to dive in, the new architecture offers a glimpse into the future of React Native Windows development.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
For developers using UWP with RNW, **UWP Paper applications remain fully supported**—there are no immediate plans to remove support. However, **UWP and Fabric together are currently not supported**. We will provide clear migration guidance for UWP Paper apps once Fabric support is fully established. At this stage, Fabric on Windows is best suited for early adopters comfortable with a work-in-progress experience, and the documentation may not yet be as comprehensive. For those willing to dive in, the new architecture offers a glimpse into the future of React Native Windows development.
For developers using RNW based on UWP, **UWP Paper applications remain fully supported** and there are no immediate plans to remove support. However, **UWP and Fabric together are currently not supported**. We will provide clear migration guidance for UWP Paper apps once Fabric support is fully established. At this stage, Fabric on Windows is best suited for early adopters comfortable with a work-in-progress experience, and the documentation may not yet be as comprehensive. For those willing to dive in, the new architecture offers a glimpse into the future of React Native Windows development.

For those willing to dive in, the new architecture offers a glimpse into the future of React Native Windows development.

This is a good opportunity to include a list of things that work vs. things that don't. I covered this at React Universe, we can recycle some content (or create a new page that we keep up to date).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you have link to your talk in React Universe? I can go ahead and add some of the content to this page!

Comment thread docs/NewArch.md Outdated
Comment thread docs/NewArch.md Outdated

## Components

The new architecture introduces significant updates. By moving away from XAML, we gain the flexibility to incorporate components that weren’t previously available and reduce technical debt from legacy XAML components. Below is a list of components we plan to support in the new architecture, as well as those we are looking to deprecate. For developers currently using Flyout or Popup, we hope they’ll find Modal a suitable alternative.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we have a guide that helps with the migration from Flyout/Popup to Modal? Is it truly a 1:1 drop-in replacement?

@TatianaKapos Tatiana Kapos (TatianaKapos) Nov 7, 2024 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we are in a spot where we have a migration plan for Flyout/Popup, there's still a lot of properties/events missing on Modal and discussions on windows-specific properties that should be included. It won't be a 1:1 replacement though as the properties are different.

Will add that for future-work though!

Comment thread docs/NewArch.md Outdated
Comment thread docs/NewArch.md Outdated
Comment thread website/versioned_docs/version-0.60/parity-status.md
Co-authored-by: Chris Glein <26607885+chrisglein@users.noreply.github.com>

@jonthysell Jon Thysell (jonthysell) left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not done yet but I've already got a lot of comments built up that I don't want to wait for people to see.

Comment thread docs/NewArch.md Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you rename to new-architecture.md to align with other file naming?

Comment thread docs/NewArch.md Outdated
Comment thread docs/getting-started.md Outdated

For information around how to set up React Native, see the [React Native Getting Started Guide](https://reactnative.dev/docs/getting-started).

> **Interested in exploring the new architecture?** We are "soft-launching" our implementation of the new architecture. If you’d like to be an early adopter, check out the instructions in the [New Architecture Guide](NewArch.md) and discover new templates available in [init-windows-cli](init-windows-cli.md#templates).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think "soft-launch" is purely internal, and perhaps "preview" is better? Checking with others.

Suggested change
> **Interested in exploring the new architecture?** We are "soft-launching" our implementation of the new architecture. If you’d like to be an early adopter, check out the instructions in the [New Architecture Guide](NewArch.md) and discover new templates available in [init-windows-cli](init-windows-cli.md#templates).
> **Interested in migrating to [React Native's New Architecture](https://reactnative.dev/architecture/landing-page)?** New Architecture support in React Native for Windows is now available to preview in 0.76. Note there are several key changes, so if you’d like to be an early adopter, check out the information in the [New Architecture Guide](new-architecture.md).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

changed to preview in documentation!

Comment thread website/sidebars.json Outdated
Comment thread docs/NewArch.md Outdated
Comment thread docs/NewArch.md Outdated
Comment thread docs/NewArch.md Outdated
Comment thread docs/NewArch.md Outdated
Comment thread docs/NewArch.md Outdated
Co-authored-by: Jon Thysell <jthysell@microsoft.com>

@jonthysell Jon Thysell (jonthysell) left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

More comments!

Comment thread docs/new-architecture.md Outdated
Comment thread docs/new-architecture.md Outdated
Comment thread docs/new-architecture.md Outdated
Comment thread docs/new-architecture.md
Comment thread docs/new-architecture.md Outdated
Comment thread docs/new-architecture.md Outdated
Comment thread docs/new-architecture.md Outdated
Comment thread docs/new-architecture.md Outdated
Comment thread docs/new-architecture.md
Comment thread docs/new-architecture.md Outdated
@TatianaKapos

Copy link
Copy Markdown
Contributor Author

Chris Glein (@chrisglein) Steven Moyes (@stmoy) Jon added some more content (particularly the FAQ) if you wanted to take a look!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

Create detailed New vs. Old Arch page with clear expectations and caveats

5 participants