최근 편집
최근 토론
게시판 메인
도구
투표
무작위 문서
스킨 설정
파일 올리기
기타 도구
216.73.216.159
IP
사용자 도구
사용자 설정
로그인
회원 가입
최근 편집
최근 토론
돌아가기
삭제
이동
파일 올리기
asm.js
(편집) (1)
(편집 필터 규칙)
310,1294
== 개요 == asm.js는 어셈블리(assembly) + 자바스크립트(javascript)로 만들어진 합성 명칭으로, 모질라가 주축이되어 개발하고 있는 특정 목적용 자바스크립트 서브셋이다. 이름그대로 저레벨 연산을 위해서 특화된 자바스크립트라는 뜻. 일반적으로 asm.js에서 정의된 서브셋과 실행을 위한 컴파일러를 포함한 브라우저의 환경 전체를 지칭하는 형태로 사용되고 있다. 기본적으로 저레벨의 계산을 고성능으로 처리하기 위해서 만들어졌으며, 독자적인 코드작성보다 C나 Cpp등의 언어에서 작성된 코드를 asm.js 서브셋을 사용한 자바스크립트로 변환해 저레벨 연산을 처리할 수 있게 해준다. 웹브라우저상에서 더 빠른 프로그램을 돌리기 위한 목적을 가지기는 하지만, 방법면에서 ‘자바스크립트를 빠르게 처리하는’ 것과는 다른 형태의 접근이다. 즉 구조적으로 한계가 있는 자바스크립트에 ‘복잡한 연산을 저레벨로 빠르게 연산한다’라는데 목적가진 서브셋을 통해 저레벨에 접근할 수 있는 통로를 만든 것이다. 즉 자바스크립트 자체가 빨라지는 것이 아니라 저레벨의 고성능 처리가 필요한 프로그램을 자바스크립트로 전달하는데 필요한 기능이다. 이러한 형태의 처리를 위해 구글에서 만들고 있는 크롬용 바이너리 실행기인 [[구글 네이티브 클라이언트]]와 플랫폼 독립구조인 구글 PNaCl과 목적면에서는 닮아있으나 구현방향이 크게 다른 프로젝트라고 할 수 있다. 여러번의 비공식 버전에서의 지원을 거쳐 파이어폭스 브라우저 버전 22를 시작으로 공식 지원이 시작되었으며, 크롬 브라우저에서는 버전28부터 지원을 시작했다.(당연한 이야기지만 같은 블링크 엔진을 쓰는 오페라 브라우저도 지원 중) 대표적으로 언리얼 엔진과 유니티 엔진이 asm.js 프로젝트로 포팅되어 지원하고 있다. 그외에도 QT등의 프레임웍도 이식되면서 앞으로의 전망이 꽤 밝다고 할 수 있다. 아직까지 모든 스펙이 정해진 상태는 아니며 계속 수정이 이뤄지는 초안(Draft) 상태로 진행중이다.
(임시 저장)
(임시 저장 불러오기)
기본값
모나코 에디터
normal
namumark
namumark_beta
macromark
markdown
custom
raw
(↪️)
(💎)
(🛠️)
(추가)
== 개요 == asm.js는 어셈블리(assembly) + 자바스크립트(javascript)로 만들어진 합성 명칭으로, 모질라가 주축이되어 개발하고 있는 특정 목적용 자바스크립트 서브셋이다. 이름그대로 저레벨 연산을 위해서 특화된 자바스크립트라는 뜻. 일반적으로 asm.js에서 정의된 서브셋과 실행을 위한 컴파일러를 포함한 브라우저의 환경 전체를 지칭하는 형태로 사용되고 있다. 기본적으로 저레벨의 계산을 고성능으로 처리하기 위해서 만들어졌으며, 독자적인 코드작성보다 C나 Cpp등의 언어에서 작성된 코드를 asm.js 서브셋을 사용한 자바스크립트로 변환해 저레벨 연산을 처리할 수 있게 해준다. 웹브라우저상에서 더 빠른 프로그램을 돌리기 위한 목적을 가지기는 하지만, 방법면에서 ‘자바스크립트를 빠르게 처리하는’ 것과는 다른 형태의 접근이다. 즉 구조적으로 한계가 있는 자바스크립트에 ‘복잡한 연산을 저레벨로 빠르게 연산한다’라는데 목적가진 서브셋을 통해 저레벨에 접근할 수 있는 통로를 만든 것이다. 즉 자바스크립트 자체가 빨라지는 것이 아니라 저레벨의 고성능 처리가 필요한 프로그램을 자바스크립트로 전달하는데 필요한 기능이다. 이러한 형태의 처리를 위해 구글에서 만들고 있는 크롬용 바이너리 실행기인 [[구글 네이티브 클라이언트]]와 플랫폼 독립구조인 구글 PNaCl과 목적면에서는 닮아있으나 구현방향이 크게 다른 프로젝트라고 할 수 있다. 여러번의 비공식 버전에서의 지원을 거쳐 파이어폭스 브라우저 버전 22를 시작으로 공식 지원이 시작되었으며, 크롬 브라우저에서는 버전28부터 지원을 시작했다.(당연한 이야기지만 같은 블링크 엔진을 쓰는 오페라 브라우저도 지원 중) 대표적으로 언리얼 엔진과 유니티 엔진이 asm.js 프로젝트로 포팅되어 지원하고 있다. 그외에도 QT등의 프레임웍도 이식되면서 앞으로의 전망이 꽤 밝다고 할 수 있다. 아직까지 모든 스펙이 정해진 상태는 아니며 계속 수정이 이뤄지는 초안(Draft) 상태로 진행중이다.
비로그인 상태입니다. 편집한 내용을 저장하면 지금 접속한 IP가 기록됩니다.
편집을 전송하면 당신은 이 문서의 기여자로서 본인이 작성한 내용이
CC BY 4.0
에 따라 배포되고, 기여한 문서의 하이퍼링크나 URL로 저작자 표시가 충분하다는 것에 동의하는 것입니다.
전송
미리보기