{{위키데이터 속성 추적}}
{{소문자}}
{{Infobox programming language
|influenced by = [[자바스크립트]]
|operating system = [[플랫폼 독립]]적
|released = {{시작 날짜와 나이|2013|3|21|df=yes}}<ref>{{웹 인용|url=https://blog.mozilla.org/luke/2013/03/21/asm-js-in-firefox-nightly/|title=asm.js in Firefox Nightly|accessdate=13 Nov 2014|date=21 Mar 2013|website=Luke Wagner's blog}}</ref>
|name = asm.js
|designer = [[Mozilla]]
|website = {{URL|asmjs.org}}
}}
'''asm.js'''는 최적화에 적합한 형태를 가진 자바스크립트의 부분집합(subset)이다. asm.js는 특히 C 나 C++ 코드를 웹으로 포팅하는데 유용하다. asm.js 최적화를 위한 다른 모든 방법들을 동원해서 파이어폭스는 동일한 코드를 C/[[C++]]로 작성해서 실행시켰을 때보다 asm.js 코드로 작성해서 실행시켰을 때 겨우 1.5배만 느리게 실행시킬 수 있다.

== 용례 ==
asm.js에 기반한 애플리케이션 대다수는 Emscripten이나 Mandrell을 이용하여 asm.js로 컴파일된 C/C++ 애플리케이션이다. 많은 프로그래밍 언어, [[애플리케이션 프레임워크]], 프로그램, 라이브러리, 컴퓨터 게임, 게임 엔진과 다른 소프트웨어는 이미 포팅되었다.
.<ref>{{웹 인용|title=Home - Demos - Games and Game Engines|url=https://github.com/kripken/emscripten/wiki#games-and-game-engines}}</ref> Some of them are given below.

=== 프로그래밍 언어 ===

* [[C/C++]] – [[Clang]], [[LLVM]]
* [[루아]] VM – Lua [[가상 머신]]<ref>{{웹 인용|title=Lua REPL|url=http://kripken.github.io/lua.vm.js/repl.html|확인날짜=2015년 3월 5일|보존url=https://web.archive.org/web/20150217013559/http://kripken.github.io/lua.vm.js/repl.html|보존날짜=2015년 2월 17일|url-status=dead}}</ref>
* [[Perl]] – port of (micro)perl-5.16.3<ref>{{웹 인용|title=plu|url=http://themucker.github.io/plu/|확인날짜=2015년 3월 5일|보존url=https://web.archive.org/web/20140615000300/http://themucker.github.io/plu/|보존날짜=2014년 6월 15일|url-status=dead}}</ref>
* [[파이썬]] - port of [[CPython]]<ref>{{웹 인용|title=repl.it - Python|url=http://repl.it/languages/Python|확인날짜=2014-11-23|archive-date=2015-03-06|archive-url=https://web.archive.org/web/20150306034337/http://repl.it/languages/Python}}</ref>

=== 애플리케이션 프레임워크 ===
* [[Qt]] – 다양한 Qt 데모, 플러스 KDE 앱 등<ref>{{웹 인용|title=emscripten-qt - Demos|url=http://vps2.etotheipiplusone.com:30176/redmine/projects/emscripten-qt/wiki/Demos|확인날짜=2014-11-23|archive-date=2015-02-13|archive-url=https://web.archive.org/web/20150213134306/http://vps2.etotheipiplusone.com:30176/redmine/projects/emscripten-qt/wiki/Demos|url-status=}}</ref>

=== 프로그램, 라이브러리 ===
* [[Vim]] (Vi IMproved)<ref>{{웹 인용|title=Vim.js - JavaScript port of Vim|url=http://coolwanglu.github.io/vim.js/web/vim.html}}</ref>
* [[FreeType]] – FreeType을 이용한 자바스크립트로 [[TrueType]] [[폰트 렌더링]]<ref>{{웹 인용|title=TrueType Fonts in JavaScript|url=http://www.syntensity.com/static/freetype.html|archiveurl=https://web.archive.org/web/20121012061814/http://www.syntensity.com/static/freetype.html|archivedate=2012-10-12 <!-- 061814 --> }}</ref>
* [[SQLite]]<ref>{{웹 인용|title=Port of SQLite to Javascript|url=https://github.com/kripken/sql.js}}</ref>

=== 게임, 게임 엔진 ===
* [[언리얼 엔진 3]] –<ref>{{보도자료 인용|title=Epic Games Releases ‘Epic Citadel’ on the Web|url=https://www.unrealengine.com/news/epic-games-releases-epic-citadel-on-the-web|publisher=Epic Games|date=May 2, 2013|access-date=2014-11-23|archive-date=2016-11-30|archive-url=https://web.archive.org/web/20161130004131/https://www.unrealengine.com/news/epic-games-releases-epic-citadel-on-the-web}}</ref><ref>{{웹 인용|title=Unreal Engine 3 ported to JavaScript and WebGL, works in any modern browser|url=http://www.extremetech.com/gaming/151900-unreal-engine-3-ported-to-javascript-and-webgl-works-in-any-modern-browser|publisher=[[ExtremeTech]]}}</ref>
* [[유니티 (게임 엔진)|유니티]] 게임 엔진<ref>{{웹 인용|url=http://blogs.unity3d.com/2014/04/29/on-the-future-of-web-publishing-in-unity/|title=On the future of Web publishing in Unity|date=April 29, 2014}}</ref>
* [[둠]]<ref>http://kripken.github.io/boon/boon.html</ref>
* [[SuperTux]]<ref>http://forandom.github.io/WebSupertux/</ref>
* [[ScummVM]] : 고전 어드벤처 게임 지원<ref>{{웹 인용 |url=http://clb.demon.fi/html5scummvm/# |제목=보관된 사본 |확인날짜=2014-11-23 |보존url=https://web.archive.org/web/20150306054337/http://clb.demon.fi/html5scummvm/# |보존날짜=2015-03-06 |url-status=dead }}</ref>
* ''[[Dune II]]'' via OpenDune<ref>http://play-dune.com/</ref>
* ''[[BananaBread]]''<ref>{{웹 인용|title=Mozilla Banana Bread Demo|url=https://developer.mozilla.org/en-US/demos/detail/bananabread/|확인날짜=2014-11-23|archive-date=2015-03-04|archive-url=https://web.archive.org/web/20150304190643/https://developer.mozilla.org/en-US/demos/detail/bananabread|url-status=}}</ref>
* Every game in the [[Humble Bundle|Humble Mozilla Bundle]]<ref>{{웹 인용|title=Humble Mozilla Bundle pushes WebGL-powered browser gaming|publisher=Ars Technica|date=15 Oct 2014|accessdate=15 Oct 2014|url=http://arstechnica.com/gaming/2014/10/humble-mozilla-bundle-pushes-webgl-powered-browser-gaming/}}</ref>

=== 에물레이터 ===

* JSMESS - 콘솔, PC 게임 에물레이터인 MESS의 포팅.<ref>http://jsmess.textfiles.com/</ref>

=== 수학 ===
* [[HTML5]] Fractal Playground<ref>{{웹 인용|url=http://danielsadventure.info/html5fractal|title=HTML5 Fractal Playground|확인날짜=2015년 3월 5일|보존url=https://web.archive.org/web/20150222131913/http://danielsadventure.info/html5fractal/|보존날짜=2015년 2월 22일|url-status=dead}}</ref>

== 같이 보기 ==
* [[모질라 파이어폭스]]
* [[자바스크립트]]

* [[구글 네이티브 클라이언트]]

== 참고 문헌 ==
* [http://hacks.mozilla.or.kr/2014/05/asm-js-performance-improvements-in-the-latest-version-of-firefox-make-games-fly/ 파이어폭스 최신버전에 반영된 asm.js 성능향상으로 인해 가능해진 멋진 게임!] , 모질라 기술 블로그, 2014년 5월 19일, ingeeKim, CC-BY-SA 3.0을 기반으로 한 내용

== 각주 ==
{{각주}}

== 외부 링크 ==
* {{공식 웹사이트}}

{{자바스크립트}}
{{ECMA스크립트}}

[[분류:파이어폭스]]
[[분류:자바스크립트]]
[[분류:모질라]]
[[분류:웹 프로그래밍]]