[TIL] expo 의 성능을 올려보자 (hermes 엔진 사용)

햄스터아저씨·2022년 1월 4일
0

hermes 엔진이란?

페이스북에서 오픈소스 프로젝트로 만드는 모바일 최적화된 Javascript 엔진이다.

왜 hermes인가?

페이스북 팀에서 앱의 성능을 분석한 결과, 다른 요소보다 JS 엔진이 성능에 큰 영향을 준다는 것을 발견했다. 웹, Node를 돌리기 위한 엔진은 모바일 환경과 맞지 않았고, 이에 따라 모바일에 최적화된 JS 엔진을 만들게 된 것.

기존 JS 엔진들은 런타임에 파싱과 컴파일을 수행한다.
그러나 모바일 환경에서는 JS코드가 웹 처럼 변경될 일이 없으므로, 이 2개의 시간을 빌드 시점에 미리 수행해버림으로써 시간을 최적화했다.
이를 통해 앱에서는 JS코드를 파싱, 컴파일 할 필요없이 바로 실행하기에 빨라졌다는 개념이다.

expo 에서도 hermes 엔진을 사용할 수 있는가?

SDK 42 부터 expo에서도 hermes 엔진을 사용할 수 있다.
단, eas build를 사용해야한다.
하지만 expo 팀은 sdk를 빠르게 만드는 만큼 빠르게 버리므로 가능하면 최신 SDK를 사용하자. (21년 1월 기준 SDK 44가 최신)

expo publish가 되나요?

다행히 된다. publish 타임에 hermes 엔진이 사용할 수 있는 바이트 코드 빌드가 되어 올라가므로 아무 문제가 없다.

어떻게 사용하나요?

링크: expo hermes

profile
서버도 하고 웹도 하고 시스템이나 인프라나 네트워크나 그냥 다 함.

0개의 댓글