react-native-hermes

Is there any limitation using Hermes engine in React Native?


I notice that there are many advantages of using Hermes engine in React Native. I think the biggest difference from the existing JavaScript engine(JavascriptCore) is the compilation method(AOT compile). but I leave a question because only the advantages are explained, and there is no mention of the disadvantages. Is there any disadvantages or limits in Hermes engine used in React Native? I heard that the disadvantage of the AOT compilation is control AOT version is hard. Is hermes engine overcome this advantage by limiting the supported version?? If there is no limits or disadvantages except for version dependency, Why React Native does not use AOT compile at first?


Solution

  • Hermes on iOS is community supported, and has lagged behind in first class support to this point. You may encounter issues if you have 'use_frameworks' in your Podfile. Intl support has to be polyfilled and can be a little tricky to set up correctly. There are probably other newer APIs which are missing. You still should choose Hermes for a new project, and if able I would definitely switch to it for any project that can support it easily. if you have an existing and complicated project with many dependencies you will be adding more complexity to your builds so just be aware of that.