{"id":371,"date":"2025-01-31T12:00:00","date_gmt":"2025-01-31T20:00:00","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/react-native\/?p=371"},"modified":"2025-01-31T13:14:51","modified_gmt":"2025-01-31T21:14:51","slug":"2025-01-29-new-architecture-on-0-76-0-77","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/react-native\/2025-01-29-new-architecture-on-0-76-0-77\/","title":{"rendered":"A look into the new architecture on RNW 0.76 and 0.77!"},"content":{"rendered":"<p>React Native Windows has exciting updates in versions 0.76 and 0.77! While React Native made the New Architecture the default starting in 0.76 \u2014introducing improvements like the advanced Fabric rendering system\u2014 React Native Windows is taking a more gradual approach. We\u2019re still actively refining the New Architecture to ensure it meets the high standards our developers expect, so it\u2019s not the default just yet. With version 0.76, we\u2019re offering our first preview of the New Architecture, and 0.77 builds on this foundation with key stabilization and new features. At the same time, we remain fully committed to maintaining reliability and robust support for the default Paper architecture. Let\u2019s dive in and explore what\u2019s new!&#8221;<\/p>\n<h1>\ud83c\udf1f New Architecture (Preview)<\/h1>\n<p>React Native for Windows\u2019 New Architecture is here \u2014 with some caveats. It\u2019s best suited for early adopters ready to explore a work-in-progress experience with limited documentation. If you&#8217;re up for it, this is your chance to preview the future of React Native Windows development! \ud83d\ude80<\/p>\n<p>In the Old Architecture (Paper), we relied on the Universal Windows Platform (<a href=\"https:\/\/learn.microsoft.com\/en-us\/windows\/uwp\/\">UWP<\/a>). With the New Architecture (Fabric), we\u2019ve transitioned to the modern <a href=\"https:\/\/learn.microsoft.com\/en-us\/windows\/apps\/windows-app-sdk\/\">Windows App SDK<\/a>. This upgrade allows us to leverage React Native\u2019s cross-platform rendering logic while better integrating Windows-specific features.<\/p>\n<p>All New Architecture apps will now be Win32-based and built on the Windows App SDK, aligning with Microsoft\u2019s latest app development recommendations. Meanwhile, Old Architecture apps will remain UWP-based, and it\u2019s still possible to create and maintain them using legacy templates.<\/p>\n<p>While there are no immediate plans to deprecate Old Architecture, future investments are focused on the New Architecture.<\/p>\n<p>Have more questions? Check out the <a href=\"https:\/\/microsoft.github.io\/react-native-windows\/docs\/new-architecture#faq\">New Architecture FAQ<\/a>!<\/p>\n<h2>\ud83d\udee0\ufe0f Steps on creating on New Architecture application on 0.77<\/h2>\n<p>Let&#8217;s dive into creating a new architecture application. These steps are tailored for version 0.77, but you can visit our <a href=\"https:\/\/microsoft.github.io\/react-native-windows\/docs\/getting-started\">Getting Started page<\/a> for guidance on other versions. You&#8217;ll find the steps below are almost exactly the same as creating an old architecture application &#8211; with the only change being is specifying a new architecture template in step 4.<\/p>\n<ol>\n<li>Create a new React Native Project<\/li>\n<\/ol>\n<p><code>npx --yes @react-native-community\/cli@latest init &lt;projectName&gt; --version \"latest\"<\/code><\/p>\n<ol start=\"2\">\n<li>Navigate into this newly created directory<\/li>\n<\/ol>\n<p><code>cd &lt;projectName&gt;<\/code><\/p>\n<ol start=\"3\">\n<li>Add React Native Windows to your project&#8217;s dependencies<\/li>\n<\/ol>\n<p><code>yarn add react-native-windows@^0.77.0<\/code><\/p>\n<ol start=\"4\">\n<li>Initialize the React Native Windows native code and projects with the <a href=\"https:\/\/microsoft.github.io\/react-native-windows\/docs\/init-windows-cli#templates\">new architecture templates<\/a><\/li>\n<\/ol>\n<p><code>yarn react-native init-windows --template cpp-app --overwrite<\/code><\/p>\n<ol start=\"5\">\n<li>Run your RNW app<\/li>\n<\/ol>\n<p><code>npx react-native run-windows<\/code><\/p>\n<p>Congrats, you\u2019ve just created an RNW app using the new architecture! \ud83c\udf89<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/react-native\/wp-content\/uploads\/sites\/76\/2025\/01\/new-fabric-app.gif\" alt=\"\" \/><\/p>\n<h2>\ud83d\udea7 New Architecture Changes in 0.76 and 0.77<\/h2>\n<h3>\ud83d\udcd1 New Templates<\/h3>\n<p>The new architecture has been built from day one using the precompiled Microsoft.ReactNative NuGet packages, enabling significantly faster build times. The preview release of the new architecture has brand new templates that take advantage of the precompiled NuGet packages.<\/p>\n<p>We now offer two new templates:<\/p>\n<p>cpp-app: For React Native Windows Applications (New Architecture, C++, Win32, Hermes)\ncpp-lib: For React Native Windows Turbo Modules (New Architecture, C++)<\/p>\n<p>These templates can be easily used with the react-native init-windows CLI command: <code>yarn react-native init-windows --template &lt;TemplateName&gt; --overwrite<\/code><\/p>\n<p>In version 0.77, we further refined these templates, updating CLI commands like <code>autolink-windows<\/code> and <code>init-windows<\/code> to adapt their behavior based on the template used to create the application.<\/p>\n<p>Check out the full list of supported templates <a href=\"https:\/\/microsoft.github.io\/react-native-windows\/docs\/init-windows-cli#templates\">here<\/a>.<\/p>\n<h3>\ud83e\ude9f Introducing Modal<\/h3>\n<p>The old UWP-based implementation suffered from frustrating limitations in the underlying Windows platform including lack of <code>Modal<\/code> support. Although Windows developers could use Windows-specific components like <code>Flyout<\/code> and <code>Popup<\/code>, this created extra work for those transitioning iOS or Android apps, as they needed to rework their code specifically for Windows.<\/p>\n<p>Good news! Those limitations are a thing of the past! With the New Architecture, we\u2019re thrilled to introduce the new <em>(for RNW)<\/em> <a href=\"https:\/\/reactnative.dev\/docs\/modal\">Modal component<\/a> in 0.77. We hope customers using <code>Flyout<\/code> and <code>Popup<\/code> will find it easy to switch over to <code>Modal<\/code> and enjoy a more seamless cross-platform experience.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/react-native\/wp-content\/uploads\/sites\/76\/2025\/01\/modal-playground.gif\" alt=\"\" \/><\/p>\n<p><a href=\"https:\/\/github.com\/microsoft\/react-native-windows\/tree\/0.77-stable\/packages\/%40react-native-windows\/tester\/src\/js\/examples\/Modal\"><em>View Source Code<\/em><\/a><\/p>\n<p>As a brand-new component, Modal is still a work in progress, and we\u2019re actively enhancing its functionality. Currently, Modal supports the <code>visible<\/code>, <code>onShow<\/code>, and <code>onDismiss<\/code> properties\/events. We&#8217;re hard at work adding support for <code>transparent<\/code>, <code>backdropColor<\/code>, and exciting Windows-specific features like setting a title bar and moving the modal outside of the application boundaries. Stay tuned in our New Architecture <a href=\"https:\/\/github.com\/microsoft\/react-native-windows\/issues\/12042\">tracking issue<\/a> for more updates!<\/p>\n<h3>\ud83d\udc69\u200d\ud83d\udcbb New Features for Accessibility, TextInput, and Custom Components<\/h3>\n<p>The 0.77 release of the new architecture brings exciting updates to explore! You can now enable custom controls to implement the <code>expand<\/code>\/<code>collapse<\/code> action, support a wider range of accessibility features, and take advantage of new properties like <code>autocapitalize<\/code> and <code>cursor<\/code> in TextInput. Check out all the details in our <a href=\"https:\/\/github.com\/microsoft\/react-native-windows\/releases\/tag\/react-native-windows_v0.77.0\">release notes for 0.77<\/a> under the section <code>New Architecture-Specific Changes<\/code>.<\/p>\n<h2>\ud83d\udee1\ufe0f Commitment to Reliability in the Old Architecture<\/h2>\n<p>While we\u2019re focused on rolling out new features for the new architecture, we recognize the need to support the many folks that are still on the old architecture. Although no new features are being added to the old architecture, we recently made several key reliability improvements including resolving Flyout\/Alert crashes on Windows 10, optimizing the Text component, ensuring consistent button sizes when pressed, and more. Additionally, we&#8217;ve added support for TurboModule event emitters, enhanced new project namespace\/cleanup, and increased the method parameter limit from 7 to 10.<\/p>\n<p>For a deeper dive into these reliability improvements, check out our <a href=\"https:\/\/github.com\/microsoft\/react-native-windows\/releases\/tag\/react-native-windows_v0.77.0\">0.77 release notes<\/a> and our <a href=\"https:\/\/github.com\/microsoft\/react-native-windows\/releases\/tag\/react-native-windows_v0.76.0\">0.76 release notes<\/a>!<\/p>\n<hr \/>\n<p>If you\u2019re interested in getting started with React Native for Windows, check out our website at <a href=\"https:\/\/microsoft.github.io\/react-native-windows\/\">aka.ms\/reactnative<\/a>.<\/p>\n<p>You can also follow us on X <a href=\"https:\/\/twitter.com\/reactnativemsft\">@ReactNativeMSFT<\/a> to keep up to date on news, feature roadmaps, and more.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We&#8217;ve recently released React Native Windows 0.76 and 0.77- marking the first time we invite developers to create RNW experiences on the new architecture.<\/p>\n","protected":false},"author":160232,"featured_media":156,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[2,3,4],"class_list":["post-371","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-react-native","tag-react-native","tag-react-native-windows","tag-releases"],"acf":[],"blog_post_summary":"<p>We&#8217;ve recently released React Native Windows 0.76 and 0.77- marking the first time we invite developers to create RNW experiences on the new architecture.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/react-native\/wp-json\/wp\/v2\/posts\/371","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/react-native\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/react-native\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/react-native\/wp-json\/wp\/v2\/users\/160232"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/react-native\/wp-json\/wp\/v2\/comments?post=371"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/react-native\/wp-json\/wp\/v2\/posts\/371\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/react-native\/wp-json\/wp\/v2\/media\/156"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/react-native\/wp-json\/wp\/v2\/media?parent=371"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/react-native\/wp-json\/wp\/v2\/categories?post=371"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/react-native\/wp-json\/wp\/v2\/tags?post=371"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}