Skip to content

Hermes support #573

@Ashoat

Description

@Ashoat

Hey, I just wanted to check to see if there's any interest / work on Hermes support for the React Native Debugger. The React Native team's work on JSI is still in progress, but once that is launched the approach of running the JS thread remotely won't work anymore, since JSI relies on having shared memory access between the JS thread and the native thread, which isn't possible when the two threads are running on different hosts.

The way that the React Native team is looking to address this is with Hermes, their custom JS runtime. JSI works with both Hermes and JSC, but the Hermes team has implemented the Chrome inspector protocol for Hermes, which allows the Chrome debugger running on a laptop to communicate with the Hermes runtime running on a device.

It's also possible to debug Apple's JSC through Safari, which IIRC relies on a similar "remote inspection" approach. It probably won't be easy to integrate with RND though, since RND is based on the Chrome toolset.

Given that context, it seems like the best way forward for RND to work with JSI is through Hermes. The link above explains how to get the Chrome debugger working with Hermes – I'm guessing that something similar can be done to get RND working with Hermes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions