Offcanvas

검색|인터넷 / 신기술|미래 / 애플리케이션

자바스크립트의 성능·규모 문제, 구글 다트가 해결책 될까?

2013.09.05 Paul Rubens   |  CIO


그렇다면 다트란 무엇일까? 다트는 오픈소스 프로그래밍 언어로 대규모 애플리케이션의 높은 성능을 목적으로 개발됐다. 사실 다트를 프로그래밍 언어로 지칭하는 것은 다소 무리가 있을 수 있는데 왜냐하면 벨리데이터와 다른 여타의 개발 툴이 모두 다트에 번들 형태로 포함돼 있기 때문이다.

다트를 통해 작성되는 애플리케이션의 경우 다트 가상 머신(VM)에서 구동되는데 다트를 지원하는 브라우저에서라면 자바스크립트에 비해 2배의 속도로 구동된다. 현재 시점에서는 구글의 오픈소스 크롬 브라우저인 다티움(Dartium)에서만 이를 지원하지만 향후 크롬도 다트를 분명히 지원하게 될 것이다.

자바스크립트로의 컴파일링
다트는 일반 브라우저와의 호환성을 위해 자바스크립트로 컴파일링될 수 있다. 특정 컴파일러(the dart2js compiler)를 사용하면 이것이 가능해진다. 다트로 작성된 자바스크립트가 네이티브 다트에 비해서 속도가 빠르지는 않지만 자바스크립트에서만 작성된 코드에 비하면 훨씬 빠르게 구동된다고 소프트웨어 개발자인 크리스 버켓은 설명했다.

그는 “코드가 다트로부터 자바스크립트로 변환될 때 컴파일러는 ‘트리 쉐이킹(tree shacking)’과정을 거치게 된다”라고 말했다.

또 자바스크립트를 사용하면 특정 한가지 기능만 필요로 하더라도 전체 라이브러리를 추가하게 되지만, 트리쉐이킹 덕분에 다트에서 컴파일링된 자바스크립트의 경우는 라이브러리에서 필요한 개별 기능만을 포함하게 된다.

아울러 다트는 개발자의 코드를 분석하여 설정에 따라 일종의 타이프 체킹(type checking)을 시행하고, 불필요한 매뉴얼 체크를 제거할 수도 있다며, 자바스크립트 자체에서 작성한 코드에 대해서는 개발자들이 매우 방어적으로 프로그래밍 해야 한다고 그는 덧붙였다.

주요 다트 기반 애플리케이션들
구글 크롬 이외에는 직접적으로 다트를 지원하겠다고 나서는 브라우저가 없는 상황이다. 즉 다트가 웹에서 폭넓게 사용될 가능성은 희박해 보인다. 하지만 버켓은 뛰어난 퍼포먼스와 대규모 개발 등 두 가지 장점이 있으며 다트 툴스 생태계가 구축되어 있기 때문에 더욱 확산될 수 있다고 기대하고 있다.
“머지않은 시일 내에 다른 브라우저에서 다트 가상머신(VM)을 보게 될 확률은 적다. 하지만 크롬에서 매우 신속하게 작동되는 다트기반의 유용한 애플리케이션들이 있다. 이는 마치 차세대 페이스북 같은 것이라서 다른 개발자들이 ‘우리 브라우저 안에 이를 포함시키자’ 라고 말하게 될 것이다. 특히 모바일 브라우저 공간에서 이러한 일이 발생할 가능성이 높다. 왜냐하면 자바스크립트는 배터리 소모가 크기 때문이다” 라고 버켓은 말했다.

자바스크립트 개발자들에게 있어서 다행스러운 소식은 자바스크립트 프로그래밍을 통해 갖춘 능력을 어렵지 않게 다트 프로그래밍에 적용시킬 수 있다는 점이다. 물론 개발자들은 다트가 자바스크립트에 비해 더 제약사항이 많다는 점을 느끼게 될 수는 있다. 하지만 자바나 C#의 같은 서버관련 언어로 프로그래밍에 익숙한 사람이라면 이러한 제약사항이 그다지 크게 느껴지지는 않을 것으로 관측된다. ciokr@idg.co.kr

 

CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
Sponsored
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.