Skip to content

Migrate to React Native's New Architecture #53360

@dcalhoun

Description

@dcalhoun

This issues tracks various tasks to upgrade third-party dependencies for the native mobile editor. The following tasks could likely be addressed individually as miniature projects.

What problem does this address?

React Native’s New Architecture could provide performance benefits (e.g. JSI) and may eventually be required for future React Native upgrades or compatibility with third-party dependencies.

What is your proposed solution?

Some prerequisite items may already have been completed (but have not been verified as complete), while some items may require a significant amount of work. If you can verify that an item is complete or would like to tackle an item, feel free to assign yourself and mark it off the list.

Prerequisites for Supporting the New Architecture in JavaScript

Enabling in an Android Library

Enabling in an iOS Library

Prerequisites for WPiOS

Prerequisites for WPAndroid

Third-Party Dependencies

Each third-party dependency will need to be upgraded to a version with New Architecture support or replaced entirely in this project.

  • Address react-native-get-random-values
  • Address react-native-safe-area-context
  • Address react-native-screens
  • Address react-native-svg
  • Address react-native-webview
  • Address @react-native-masked-view/masked-view
  • Address @react-native-clipboard/clipboard
  • Address react-native-reanimated
  • Address react-native-gesture-handler
  • Address react-native-linear-gradient
  • Address react-native-prompt-android
  • Address react-native-video
  • Address @react-native-community/slider
  • Address react-native-safe-area
  • Address react-native-fast-image

The following table represents the status of each third-party dependency's support for the new React Native architecture.

Dependency Support Status Notes
react-native-get-random-values 🔴 Not Started Issue, PR
react-native-safe-area-context 🟢 Completed v4.1.2
react-native-screens 🟢 Completed 3.12.0
react-native-svg 🟢 Completed v13.0.0
react-native-webview 🟢 Completed v12.0.0
@react-native-masked-view/masked-view 🟡 In Progress Issue
@react-native-clipboard/clipboard 🟢 Completed v1.13.0
react-native-reanimated 🟢 Completed 3.0.0
react-native-gesture-handler 🟢 Completed 2.3.0
react-native-linear-gradient 🟢 Completed Forked
react-native-prompt-android Removed
react-native-video 🔴 Not Started No lead, blocked by v6
@react-native-community/slider 🟢 Completed v4.3.0
react-native-safe-area 🔴 Not Started Inactive
react-native-fast-image 🟡 In Progress Issue, PR
react-native-blur 🟢 Complete v4.3.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    Mobile App - i.e. Android or iOSNative mobile impl of the block editor. (Note: used in scripts, ping mobile folks to change)[Type] Build ToolingIssues or PRs related to build tooling

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions