Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- React.js
- 타입스크립트
- 타입좁히기
- utilty type
- const 단언문
- returnType
- 성능최적화
- vue.js
- 누구나 자료구조와 알고리즘
- 폰트적용하기
- CSS
- typescript
- 커스텀
- JS console
- click and drag
- reactjs
- 공통컴포넌트
- 2022
- react
- React Native
- TSDoc
- 리액트
- 반복줄이기
- NonNullable
- 개발콘텐츠
- javascript
- 티스토리꾸미기
- Chart.js
- 레이아웃쪼개기
- 제네릭
Archives
- Today
- Total
몽땅뚝딱 개발자
[React Native] 컴파일러 비교: Hermes vs. JSC 본문
🚀 비교
JSC | Hermes | |
특징 | meta에서 React Native만을 위해 만들었다. | |
컴파일 방식 | JIT(Just-In-Time) 런타임에 코드를 컴파일하는 JIT(Just-In-Time)을 사용한다. |
AOT 자바스크립트 코드로 실행 전 네이티브 머신 코드로 컴파일하는 선행 컴파일(AOT)을 사용한다. 미리 컴파일하여 바이트코드 형식으로 변환한다. 이를 통해 앱 시작 속도가 빨라지고 런타임 성능이 향상된다. |
성능 | 헤르메스는 일반적으로 JSC보다 빠르며, 특히 저가형/구형 기기에서 더 빠르다. | |
메모리 사용량 | 메모리 관리를 위해 자동 가비지 컬렉션을 제공하며 IOS와 macOS 환경에서 최적화가 잘 되어있지만 메모리 사용 측면에서는 헤르메스보다 다소 무겁다고 평가된다. 하지만 최신 하드웨어에서는 성능차이가 크게 나지 않을 수 있다. | JSC보다 메모리를 적게 사용한다. 이는 메모리 제한 장치에서 실행되어야하는 앱에 장점이 된다. 하지만 복잡한 연산에서는 JSC에 비해 약간 느릴 수 있다. |
디버깅 | 디버깅 도구에 대한 접근을 제공하지 않아 브레이크 포인트같은 간단한 디버그가 어렵다. 하지만 Flipper와 함께 사용하면 문제를 완화할 수 있다. | |
호환성 | 자바스크립트 그 자체로 동작하기 때문에 대부분의 npm 모듈과 더 널리 호환된다. 하지만 헤르메스보다 느리고 더 많은 메모리를 사용할 수도 있다. | 타사 라이브러리와 호환되지 않을 수 있다. |
개발 | JSC는 최신 ECMAScript 표준을 빠르게 지원하고, 특히 성능 최적화와 관련하여 많은 최신 기능들이 JSC에 먼저 적용된다. |
🚀 결론
- Hermes는 React Native와 같은 모바일 애플리케이션에서 성능과 메모리 최적화를 중요시하는 프로젝트에 더 적합하다. 특히 앱의 초기 로딩 시간을 단축시키고, 모바일 환경에서 더 가볍고 빠르게 동작하는 장점이 있다.
- JSC는 웹과 더 긴밀하게 연관된 환경에서 좋은 성능을 발휘하며, JavaScript 표준과 최신 기능을 더 잘 지원하는 경향이 있다. 특히 복잡한 애플리케이션에서 런타임 성능이 중요하다면 JSC가 더 적합할 수 있다.
'Development > React Native' 카테고리의 다른 글
[React Native] JIT(Just-In-Time) VS. AOT (0) | 2024.12.09 |
---|---|
[React Native] 디버깅툴 모음 (0) | 2024.12.09 |
[Andriod] google play console 안드로이드 광고 ID 관련 배포 이슈 (1) | 2024.11.07 |
[React Native] 각 플랫폼 별 버전 관리 (0) | 2024.08.22 |
[React Native] firebase 연동하기 (0) | 2024.08.21 |
Comments