<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>https://www.gaonwiki.com/w/index.php?action=history&amp;feed=atom&amp;title=Hermes_%28%EC%97%94%EC%A7%84%29</id>
	<title>Hermes (엔진) - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="https://www.gaonwiki.com/w/index.php?action=history&amp;feed=atom&amp;title=Hermes_%28%EC%97%94%EC%A7%84%29"/>
	<link rel="alternate" type="text/html" href="https://www.gaonwiki.com/w/index.php?title=Hermes_(%EC%97%94%EC%A7%84)&amp;action=history"/>
	<updated>2026-07-06T11:46:29Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://www.gaonwiki.com/w/index.php?title=Hermes_(%EC%97%94%EC%A7%84)&amp;diff=107841&amp;oldid=prev</id>
		<title>Gaon12: /* 활성화 방법 */ 태그 교체</title>
		<link rel="alternate" type="text/html" href="https://www.gaonwiki.com/w/index.php?title=Hermes_(%EC%97%94%EC%A7%84)&amp;diff=107841&amp;oldid=prev"/>
		<updated>2025-05-08T07:01:35Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;활성화 방법: &lt;/span&gt; 태그 교체&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2025년 5월 8일 (목) 16:01 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l62&quot;&gt;62번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;62번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;안드로이드:&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;안드로이드:&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;code&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;syntaxhighlight&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;// android/app/build.gradle&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;// android/app/build.gradle&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;project.ext.react = [&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;project.ext.react = [&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     enableHermes: true  // 헤르메스 활성화&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     enableHermes: true  // 헤르메스 활성화&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;code&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;syntaxhighlight&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;iOS:&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;iOS:&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;code&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;syntaxhighlight&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;// ios/Podfile&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;// ios/Podfile&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;use_react_native!(&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;use_react_native!(&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l76&quot;&gt;76번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;76번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   :hermes_enabled =&amp;gt; true  // 헤르메스 활성화&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   :hermes_enabled =&amp;gt; true  // 헤르메스 활성화&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;code&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;syntaxhighlight&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== 디버깅 도구 ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== 디버깅 도구 ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Gaon12</name></author>
	</entry>
	<entry>
		<id>https://www.gaonwiki.com/w/index.php?title=Hermes_(%EC%97%94%EC%A7%84)&amp;diff=107840&amp;oldid=prev</id>
		<title>Gaon12: 새 문서: == 개요 == &#039;&#039;&#039;헤르메스(Hermes)&#039;&#039;&#039;는 메타(Meta)에서 개발한 자바스크립트 엔진으로, 주로 리액트 네이티브(React Native) 애플리케이션의 성능 향상을 위해 설계되었다. 2019년 처음 공개되었으며, 모바일 환경에서의 빠른 시작 시간과 낮은 메모리 사용량을 주요 목표로 하는 오픈 소스 프로젝트이다.  == 특징 == === 모바일 최적화 === 헤르메스는 다른 자...</title>
		<link rel="alternate" type="text/html" href="https://www.gaonwiki.com/w/index.php?title=Hermes_(%EC%97%94%EC%A7%84)&amp;diff=107840&amp;oldid=prev"/>
		<updated>2025-05-08T07:00:22Z</updated>

		<summary type="html">&lt;p&gt;새 문서: == 개요 == &amp;#039;&amp;#039;&amp;#039;헤르메스(Hermes)&amp;#039;&amp;#039;&amp;#039;는 &lt;a href=&quot;/w/%ED%8E%98%EC%9D%B4%EC%8A%A4%EB%B6%81&quot; class=&quot;mw-redirect&quot; title=&quot;페이스북&quot;&gt;메타(Meta)&lt;/a&gt;에서 개발한 &lt;a href=&quot;/w/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8&quot; class=&quot;mw-redirect&quot; title=&quot;자바스크립트&quot;&gt;자바스크립트&lt;/a&gt; 엔진으로, 주로 &lt;a href=&quot;/w/index.php?title=%EB%A6%AC%EC%95%A1%ED%8A%B8_%EB%84%A4%EC%9D%B4%ED%8B%B0%EB%B8%8C(React_Native)&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;리액트 네이티브(React Native) (없는 문서)&quot;&gt;리액트 네이티브(React Native)&lt;/a&gt; 애플리케이션의 성능 향상을 위해 설계되었다. 2019년 처음 공개되었으며, 모바일 환경에서의 빠른 시작 시간과 낮은 메모리 사용량을 주요 목표로 하는 &lt;a href=&quot;/w/%EC%98%A4%ED%94%88_%EC%86%8C%EC%8A%A4&quot; class=&quot;mw-redirect&quot; title=&quot;오픈 소스&quot;&gt;오픈 소스&lt;/a&gt; 프로젝트이다.  == 특징 == === 모바일 최적화 === 헤르메스는 다른 자...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== 개요 ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;헤르메스(Hermes)&amp;#039;&amp;#039;&amp;#039;는 [[페이스북|메타(Meta)]]에서 개발한 [[자바스크립트]] 엔진으로, 주로 [[리액트 네이티브(React Native)]] 애플리케이션의 성능 향상을 위해 설계되었다. 2019년 처음 공개되었으며, 모바일 환경에서의 빠른 시작 시간과 낮은 메모리 사용량을 주요 목표로 하는 [[오픈 소스]] 프로젝트이다.&lt;br /&gt;
&lt;br /&gt;
== 특징 ==&lt;br /&gt;
=== 모바일 최적화 ===&lt;br /&gt;
헤르메스는 다른 자바스크립트 엔진과 달리 모바일 환경에 특화되어 있다. 특히 안드로이드 기기에서 [[리액트 네이티브]] 애플리케이션의 성능을 크게 향상시키는 것을 목표로 개발되었다. 한정된 리소스를 가진 모바일 기기에서 효율적으로 작동하기 위해 설계되었으며, 다음과 같은 특징을 갖는다:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;빠른 시작 시간&amp;#039;&amp;#039;&amp;#039;: 앱 실행 시 자바스크립트 코드를 해석하는 시간을 최소화&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;낮은 메모리 사용량&amp;#039;&amp;#039;&amp;#039;: 제한된 모바일 환경에서 효율적인 메모리 관리&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;작은 애플리케이션 크기&amp;#039;&amp;#039;&amp;#039;: 최적화된 바이트코드 형식으로 앱 크기 감소&lt;br /&gt;
&lt;br /&gt;
=== 바이트코드 사전 컴파일 ===&lt;br /&gt;
헤르메스의 가장 큰 특징은 자바스크립트 코드를 미리 바이트코드로 컴파일하는 방식(AOT, Ahead-Of-Time compilation)을 사용한다는 점이다. 이는 기존의 많은 자바스크립트 엔진이 런타임에 코드를 해석하고 컴파일하는 JIT(Just-In-Time) 방식과 대조된다.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;바이트코드 포맷&amp;#039;&amp;#039;&amp;#039;: 헤르메스는 자체적인 바이트코드 포맷(.hbc)을 사용&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;빌드 타임 최적화&amp;#039;&amp;#039;&amp;#039;: 앱 빌드 과정에서 자바스크립트 코드를 바이트코드로 변환&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;런타임 오버헤드 감소&amp;#039;&amp;#039;&amp;#039;: 실행 시 코드 파싱 및 컴파일 과정을 생략하여 성능 향상&lt;br /&gt;
&lt;br /&gt;
=== 기술적 특징 ===&lt;br /&gt;
헤르메스는 다음과 같은 기술적 특징을 갖고 있다:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;가비지 컬렉션&amp;#039;&amp;#039;&amp;#039;: 모바일 환경에 최적화된 점진적 가비지 컬렉션 알고리즘 사용&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;ES6 지원&amp;#039;&amp;#039;&amp;#039;: ECMAScript 2015(ES6) 기능 대부분 지원&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;제한된 동적 기능&amp;#039;&amp;#039;&amp;#039;: `eval()` 및 `Function` 생성자와 같은 동적 코드 실행 기능 제한&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;글로벌 객체 간소화&amp;#039;&amp;#039;&amp;#039;: 브라우저 환경과 달리 필요한 기능만 포함하는 간소화된 글로벌 객체 제공&lt;br /&gt;
&lt;br /&gt;
== 역사 ==&lt;br /&gt;
=== 개발 배경 ===&lt;br /&gt;
헤르메스는 페이스북(현 메타)이 리액트 네이티브 애플리케이션의 성능 문제를 해결하기 위해 개발을 시작했다. 특히 안드로이드 기기에서 자바스크립트 코드의 실행 속도와 메모리 사용량이 문제가 되었고, 이를 해결하기 위한 전용 엔진의 필요성이 대두되었다.&lt;br /&gt;
&lt;br /&gt;
=== 주요 연혁 ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;2019년 7월&amp;#039;&amp;#039;&amp;#039;: Chain React 컨퍼런스에서 헤르메스 공개&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;2019년 8월&amp;#039;&amp;#039;&amp;#039;: 리액트 네이티브 0.60.2 버전부터 안드로이드에서 옵션으로 사용 가능&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;2020년&amp;#039;&amp;#039;&amp;#039;: 성능 개선 및 안정화 작업 진행&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;2021년&amp;#039;&amp;#039;&amp;#039;: iOS 지원 추가 및 주요 성능 향상&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;2022년&amp;#039;&amp;#039;&amp;#039;: 리액트 네이티브의 새로운 아키텍처인 New Architecture와의 통합&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;2023년&amp;#039;&amp;#039;&amp;#039;: JIT 컴파일러 지원 추가 및 성능 향상&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;2024년&amp;#039;&amp;#039;&amp;#039;: 최신 ECMAScript 표준 지원 확대 및 추가 최적화&lt;br /&gt;
&lt;br /&gt;
== 성능 ==&lt;br /&gt;
=== 벤치마크 ===&lt;br /&gt;
헤르메스는 다양한 벤치마크에서 기존 자바스크립트 엔진과 비교했을 때 특히 다음 영역에서 뛰어난 성능을 보인다:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;TTI(Time to Interactive)&amp;#039;&amp;#039;&amp;#039;: 일반적으로 안드로이드에서 JSC(JavaScriptCore)보다 최대 2배 빠른 시작 시간&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;메모리 사용량&amp;#039;&amp;#039;&amp;#039;: 기존 엔진 대비 약 30-40% 감소된 메모리 사용량&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;앱 크기&amp;#039;&amp;#039;&amp;#039;: 바이트코드 최적화로 인해 앱 크기 약 10-20% 감소&lt;br /&gt;
&lt;br /&gt;
단, 장시간 실행되는 연산 집약적 작업에서는 JIT 컴파일러를 사용하는 다른 엔진들에 비해 성능이 떨어질 수 있다.&lt;br /&gt;
&lt;br /&gt;
=== 최적화 기법 ===&lt;br /&gt;
헤르메스가 사용하는 주요 최적화 기법은 다음과 같다:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;인라인 캐싱&amp;#039;&amp;#039;&amp;#039;: 자주 사용되는 속성 접근 최적화&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;문자열 테이블&amp;#039;&amp;#039;&amp;#039;: 중복 문자열을 단일 인스턴스로 관리&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;함수 인라이닝&amp;#039;&amp;#039;&amp;#039;: 작은 함수를 호출 위치에 직접 삽입&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;루프 최적화&amp;#039;&amp;#039;&amp;#039;: 반복문 실행 성능 개선&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;불필요한 할당 제거&amp;#039;&amp;#039;&amp;#039;: 데드 코드 및 불필요한 메모리 할당 제거&lt;br /&gt;
&lt;br /&gt;
== 리액트 네이티브와의 통합 ==&lt;br /&gt;
=== 활성화 방법 ===&lt;br /&gt;
리액트 네이티브 프로젝트에서 헤르메스를 활성화하는 방법은 다음과 같다:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;안드로이드:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
// android/app/build.gradle&lt;br /&gt;
project.ext.react = [&lt;br /&gt;
    enableHermes: true  // 헤르메스 활성화&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;iOS:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
// ios/Podfile&lt;br /&gt;
use_react_native!(&lt;br /&gt;
  :path =&amp;gt; config[:reactNativePath],&lt;br /&gt;
  :hermes_enabled =&amp;gt; true  // 헤르메스 활성화&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 디버깅 도구 ===&lt;br /&gt;
헤르메스는 다양한 디버깅 도구를 제공한다:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Chrome DevTools&amp;#039;&amp;#039;&amp;#039;: 크롬 개발자 도구를 통한 디버깅 지원&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;React Native Debugger&amp;#039;&amp;#039;&amp;#039;: 리액트 네이티브 디버거와 통합&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Hermes Inspector&amp;#039;&amp;#039;&amp;#039;: 헤르메스 전용 디버깅 인터페이스&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Sampling Profiler&amp;#039;&amp;#039;&amp;#039;: 성능 프로파일링 도구&lt;br /&gt;
&lt;br /&gt;
== 제한 사항 ==&lt;br /&gt;
헤르메스는 다음과 같은 제한 사항이 있다:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;일부 ES6+ 기능 미지원&amp;#039;&amp;#039;&amp;#039;: 특정 최신 자바스크립트 기능 미지원&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;동적 코드 실행 제한&amp;#039;&amp;#039;&amp;#039;: `eval()` 및 관련 기능 사용 불가&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;JIT 컴파일러 제한&amp;#039;&amp;#039;&amp;#039;: 특정 환경에서만 JIT 컴파일러 사용 가능&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;웹 API 미지원&amp;#039;&amp;#039;&amp;#039;: 브라우저 환경의 API 지원 제한&lt;br /&gt;
&lt;br /&gt;
== 사용 사례 ==&lt;br /&gt;
=== 주요 애플리케이션 ===&lt;br /&gt;
헤르메스는 다음과 같은 주요 애플리케이션에서 사용되고 있다:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;페이스북/메타 앱&amp;#039;&amp;#039;&amp;#039;: 페이스북, 인스타그램, WhatsApp 등 메타 계열 앱&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;쇼핑 앱&amp;#039;&amp;#039;&amp;#039;: 아마존, 이베이, 쇼피파이 등 주요 쇼핑 앱&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;엔터테인먼트 앱&amp;#039;&amp;#039;&amp;#039;: 넷플릭스, 디즈니+ 등 스트리밍 서비스&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;금융 앱&amp;#039;&amp;#039;&amp;#039;: 다양한 뱅킹 및 결제 애플리케이션&lt;br /&gt;
&lt;br /&gt;
=== 성공 사례 ===&lt;br /&gt;
헤르메스 도입 후 성능이 크게 개선된 사례:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;워크아웃 앱 A&amp;#039;&amp;#039;&amp;#039;: 앱 시작 시간 45% 감소, 메모리 사용량 30% 감소&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;식품 배달 앱 B&amp;#039;&amp;#039;&amp;#039;: 사용자 인터랙션 지연 시간 50% 감소&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;소셜 미디어 앱 C&amp;#039;&amp;#039;&amp;#039;: 앱 크기 15% 감소, 배터리 사용량 20% 개선&lt;br /&gt;
&lt;br /&gt;
== 대안 및 비교 ==&lt;br /&gt;
=== 다른 자바스크립트 엔진과의 비교 ===&lt;br /&gt;
헤르메스와 다른 주요 자바스크립트 엔진을 비교하면 다음과 같다:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;V8(구글)&amp;#039;&amp;#039;&amp;#039;: 크롬 브라우저 및 Node.js에서 사용되는 엔진. JIT 컴파일러를 사용하여 장기 실행 성능이 우수하나 초기 시작 시간과 메모리 사용량에서 헤르메스보다 불리함&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;JavaScriptCore(애플)&amp;#039;&amp;#039;&amp;#039;: iOS의 기본 자바스크립트 엔진. 최적화된 JIT 컴파일러를 사용하나 리액트 네이티브의 안드로이드 환경에서는 헤르메스보다 성능이 떨어짐&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;SpiderMonkey(모질라)&amp;#039;&amp;#039;&amp;#039;: 파이어폭스 브라우저에서 사용되는 엔진. 다양한 최적화 기법을 사용하나 모바일 환경에 특화되지 않음&lt;br /&gt;
&lt;br /&gt;
=== 상황별 최적 선택 ===&lt;br /&gt;
다음과 같은 상황에서 헤르메스가 유리하다:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;저사양 안드로이드 기기 대상 앱&amp;#039;&amp;#039;&amp;#039;: 제한된 리소스에서 성능 최적화 필요&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;빠른 로딩 시간이 중요한 앱&amp;#039;&amp;#039;&amp;#039;: 사용자 경험에서 초기 로딩 시간이 중요한 경우&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;배터리 효율성이 중요한 앱&amp;#039;&amp;#039;&amp;#039;: 전력 소모 최소화가 필요한 경우&lt;br /&gt;
&lt;br /&gt;
반면, 다음과 같은 상황에서는 다른 엔진이 유리할 수 있다:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;복잡한 연산이 많은 앱&amp;#039;&amp;#039;&amp;#039;: 장시간 실행되는 연산 집약적 작업이 많은 경우&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;최신 ECMAScript 기능 필요&amp;#039;&amp;#039;&amp;#039;: 최신 자바스크립트 기능을 모두 사용해야 하는 경우&lt;br /&gt;
&lt;br /&gt;
== 미래 전망 ==&lt;br /&gt;
=== 개발 로드맵 ===&lt;br /&gt;
헤르메스의 미래 개발 방향은 다음과 같다:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;JIT 컴파일러 개선&amp;#039;&amp;#039;&amp;#039;: 장기 실행 성능 향상을 위한 JIT 컴파일러 최적화&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;ECMAScript 호환성 확대&amp;#039;&amp;#039;&amp;#039;: 최신 자바스크립트 표준 지원 확대&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;디버깅 도구 개선&amp;#039;&amp;#039;&amp;#039;: 더 나은 개발자 경험을 위한 디버깅 도구 향상&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;WebAssembly 지원&amp;#039;&amp;#039;&amp;#039;: WebAssembly 모듈 실행 지원 추가&lt;br /&gt;
&lt;br /&gt;
=== 업계 동향 ===&lt;br /&gt;
자바스크립트 엔진 업계의 동향과 헤르메스의 위치:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;네이티브 성능 경쟁&amp;#039;&amp;#039;&amp;#039;: 모바일 환경에서 네이티브 코드에 근접한 성능 목표&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;크로스 플랫폼 통합&amp;#039;&amp;#039;&amp;#039;: 다양한 플랫폼에서의 일관된 성능 제공&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;AI/ML 통합&amp;#039;&amp;#039;&amp;#039;: 머신러닝 모델과의 효율적인 통합 가능성&lt;br /&gt;
&lt;br /&gt;
== 참고 자료 ==&lt;br /&gt;
=== 공식 문서 ===&lt;br /&gt;
* [https://hermesengine.dev/ 헤르메스 공식 웹사이트]&lt;br /&gt;
* [https://reactnative.dev/docs/hermes 리액트 네이티브 헤르메스 문서]&lt;br /&gt;
* [https://github.com/facebook/hermes 헤르메스 GitHub 저장소]&lt;br /&gt;
&lt;br /&gt;
=== 추가 자료 ===&lt;br /&gt;
* [https://engineering.fb.com/2019/07/12/android/hermes/ 페이스북 엔지니어링 블로그: Hermes 소개]&lt;br /&gt;
* [https://reactnative.dev/blog/2019/07/17/hermes 리액트 네이티브 블로그: Hermes 발표]&lt;br /&gt;
* [https://callstack.com/blog/hermes-performance-in-react-native/ Callstack 블로그: 리액트 네이티브에서의 헤르메스 성능]&lt;br /&gt;
&lt;br /&gt;
== 관련 항목 ==&lt;br /&gt;
* [[자바스크립트]]&lt;br /&gt;
* [[리액트 네이티브]]&lt;br /&gt;
* [[V8 엔진]]&lt;br /&gt;
* [[JavaScriptCore]]&lt;br /&gt;
* [[메타(기업)]]&lt;br /&gt;
* [[크로스 플랫폼 앱 개발]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- 분류 --&amp;gt;&lt;br /&gt;
[[분류:자바스크립트]] [[분류:자바스크립트 엔진]] [[분류:리액트 네이티브]] [[분류:오픈소스]]&lt;/div&gt;</summary>
		<author><name>Gaon12</name></author>
	</entry>
</feed>