페이스북에서 오픈소스 프로젝트로 만드는 모바일 최적화된 Javascript 엔진이다.
페이스북 팀에서 앱의 성능을 분석한 결과, 다른 요소보다 JS 엔진이 성능에 큰 영향을 준다는 것을 발견했다. 웹, Node를 돌리기 위한 엔진은 모바일 환경과 맞지 않았고, 이에 따라 모바일에 최적화된 JS 엔진을 만들게 된 것.
기존 JS 엔진들은 런타임에 파싱과 컴파일을 수행한다.
그러나 모바일 환경에서는 JS코드가 웹 처럼 변경될 일이 없으므로, 이 2개의 시간을 빌드 시점에 미리 수행해버림으로써 시간을 최적화했다.
이를 통해 앱에서는 JS코드를 파싱, 컴파일 할 필요없이 바로 실행하기에 빨라졌다는 개념이다.
SDK 42 부터 expo에서도 hermes 엔진을 사용할 수 있다.
단, eas build를 사용해야한다.
하지만 expo 팀은 sdk를 빠르게 만드는 만큼 빠르게 버리므로 가능하면 최신 SDK를 사용하자. (21년 1월 기준 SDK 44가 최신)
다행히 된다. publish 타임에 hermes 엔진이 사용할 수 있는 바이트 코드 빌드가 되어 올라가므로 아무 문제가 없다.