Merged
Conversation
Contributor
Author
|
✔️ Deploy Preview for react-native ready! 🔨 Explore the source changes: ccaf317 🔍 Inspect the deploy log: https://app.netlify.com/sites/react-native/deploys/61c3962fc9e67b0007d49fd6 😎 Browse the preview: https://deploy-preview-2898--react-native.netlify.app |
sammy-SC
approved these changes
Dec 23, 2021
|
|
||
| The React Native team intends to incorporate an animation system into the render system and also extend the React Native render system to new platforms such as Windows, PlayStation, and more. | ||
|
|
||
| Leveraging C++ for the core render system introduces several advantages. A single implementation reduces the cost of development and maintenance. It improves the performance of creating React Shadow Trees and layout calculation because the overhead of integrating [Yoga](glossary#yoga-tree-and-yoga-node) with the renderer is minimized on Android (i.e. no more [JNI](glossary#java-native-interface-jni) for Yoga). Finally, the memory footprint of each React Shadow Node is smaller in C++ than it would be if allocated from Kotlin or Swift. |
Contributor
There was a problem hiding this comment.
Should link to (glossary#react-shadow-tree-and-react-shadow-node).
Even though it links to the same URL as React Shadow Tree, it is a slightly different term. Will be clearer to the reader.
sammy-SC
reviewed
Dec 23, 2021
| In the previous render system of React Native, the _React Shadow Tree_, _Layout System_, and [View Flattening](view-flattening.md) algorithm were implemented once for each platform. The React Native render system was designed to be a cross-platform solution which enables the implementation of all features to be shared across all platforms. The React Native team intends to incorporate an animation system into the render system and also extend the Fabric render system to new platforms such as Windows, PlayStation, and more. | ||
| In the previous render system of React Native, the **[React Shadow Tree](glossary#react-shadow-tree-and-react-shadow-node)**, layout logic, and **[View Flattening](view-flattening.md)** algorithm were implemented once for each platform. The current renderer was designed to be a cross-platform solution by sharing a core C++ implementation. | ||
|
|
||
| <!--TODO: Does the below paragraph makes sense to keep?--> |
Contributor
There was a problem hiding this comment.
I think if we expand it a little bit and add link to many platform vision, it is worth keeping. I've noted this and will address it later.
sammy-SC
added a commit
that referenced
this pull request
Dec 23, 2021
#2892) * Initial draft of new Architecture Section including docs on how React Native's renderer works * linting language * changing the IA for architecture section * update arc overview * Iterating on Fabric Architecture docs (#2895) * Add some intro to 'Render,Commit, and Mount' * Update Fabric Render -> Fabric Renderer * Split out rendering-implementation into three different docs * Create a sentence callout for each * Fix broken links * Formatting for view-flattening (#2899) * Updates to xplat-implementation, re: glossary links and fabric terms (#2898) * Refactor how we layout the scenarios (#2897) * Format render-pipeline.md (#2900) * Format fabric-renderer.md (#2901) * Format fabric-renderer.md * Anchor fabric-renderer in time * Add images to Fabric Deep Dive (#2902) * Resize images in threading model section (#2903) * Fabric-rendering word tweaks * Cut a 0.66 version of the architecture and update header * Word tweaks Co-authored-by: Luna <luwe@fb.com> Co-authored-by: Samuel Susla <samuel.susla@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Formatting and re-structuring for xplat-implementation