MS 타입스크립트, 자바스크립트 넘나

일반입력 :2014/02/26 16:22    수정: 2014/02/26 17:40

마이크로소프트(MS)가 제공하는 웹프로그래밍 언어 '타입스크립트' 정식판 공개 시점이 가까워졌다. 비주얼스튜디오2013 업데이트2 버전에 시험판이 담겼다. 성격이 비슷한 구글 '다트'와의 경쟁이 주목된다.

25일(현지시각) 미국 지디넷 보도에 따르면 MS는 타입스크립트1.0 정식판이 비주얼스튜디오2013 업데이트2 정식판의 일부로 포함될 것이라고 밝혔다. 딱맞춰 내놓는다기보단 업데이트 배포시점에 비슷하게 타입스크립트 개발을 서두른단 얘기다.

타입스크립트는 대규모 웹애플리케이션 프로젝트를 위해 고안된 프로그래밍 언어다. 지난 2012년 10월 첫 시험판이 나왔다. 간단히 말해 자바스크립트 슈퍼셋에 해당한다.

즉 타입스크립트는 자바스크립트를 포함하면서, 더 많은 기능을 다루고 더 큰 목적을 수행한다. 자바스크립트와는 호환성이 있다. 자바스크립트 코드를 수정 없이 타입스크립트 코드로 가져와 쓸 수 있다. 타입스크립트는 이미 MS 안팎에서 실용성이 입증되고 있다. 브라우저에서 돌아가는 MS 웹기반 개발도구 모음, 코드명 '모나코(Monaco)'를 개발하는 데 타입스크립트가 쓰였다. X박스 뮤직, 여러 빙 서비스 프로젝트, 인터넷익스플로러(IE) 개발자도구인 'F12 툴', 어도비 디지털퍼블리싱스위트(DPS)에도 활용됐다.

타입스크립트 개발팀 핵심멤버로 꼽히는 인물에는 C# 창시자로 유명한 덴마크 출신 소프트웨어엔지니어 아네르스 하일스베르(Anders Hejlsberg)가 있다. 그는 최근 자바스크립트는 수천줄짜리 애플리케이션보다는 100줄정도 앱 개발에 맞는 언어라고 언급했다. 수천줄 이상 규모의 웹애플리케이션을 개발하기 위해 타입스크립트를 만들게 됐다는 얘기다.

지금 나와있는 브라우저가 타입스크립트로 짠 프로그램을 바로 돌릴 수는 없다. 대신 자바스크립트로 변환하는 기술이 제공된다. 이런 특징은 이미 자바스크립트에 익숙한 개발자와 타입스크립트를 지원하지 않는 브라우저 사용자들에게 비교적 쉽게 확산될 수 있는 바탕이다.

타입스크립트는 체계가 전혀 다른 구글 '다트'보다 생태계 싸움 면에서 유리하다. 두 언어 모두 대규모 웹애플리케이션 환경에서 부적절한 자바스크립트 역할을 지적하며 나왔지만, 웹기술 업계 반응은 사뭇 달라 보인다.

구글 다트는 타입스크립트보다 먼저 나왔는데, 확산이나 실용성 측면에선 비슷하거나 오히려 뒤쳐진 모습이다. 첫 등장 시점은 타입스크립트보다 1년 앞선 지난 2011년 10월이었다. 정식판 공개도 지난해 말 1.0 버전, 지난달 1.1 버전으로 빨랐다. 그런데 다트 기반으로 알려진 상용 서비스는 구글 웹개발환경 '스파크' 뿐이다.

이런 상황은 다트가 웹언어 파편화를 조장한다는 비판과 궤를 함께 한다. 다트는 자바스크립트 언어와 별개의 개발자, 사용자 생태계를 형성할 것이란 우려가 불거지고 있다.

구글은 다트 생태계 확산의 발목을 잡고 있는 파편화 논란을 잠재우기 위해 지난해말 유럽컴퓨터제조공업회(ECMA) 산하로 다트 표준화를 위한 기술위원회(TC)를 만들었다. 구글은 기술업계에 표준화에 참여해 달라고 손짓하고 있지만 현재까지 위원회 부의장 자리는 공석이다.

현재 다트 코드를 제대로 돌리려면 전용 가상머신(VM)을 써야 한다. 다트VM을 정식 탑재한 브라우저는 없다. 구글은 자사 크롬 브라우저에 다트VM을 넣겠지만 타사도 그럴 것이란 보장이 없다. 일각에서 다트로 인한 웹의 파변화를 우려하는 이유다.

유명 오픈소스 브라우저 파이어폭스를 만드는 모질라의 브렌던 아이크 최고기술책임자(CTO)도 다트를 내놓은 구글의 접근방식을 비판했다.

물론 MS 타입스크립트처럼 다트 코드를 자바스크립트로 바꿔 주는 '다트2js'라는 기술로 여러 브라우저에서 다트 프로그램을 돌릴 수는 있다. 그러나 코드변환 방식으론 오히려 자바스크립트보다 못한 성능을 내고, 제 성능을 발휘하려면 다트VM이 필요하다.

타입스크립트는 다트만큼 비판받는 대상이 아니다. MS는 타입스크립트를 자바스크립트의 보완재로 소개했다. 프로그램을 짤 때 자바스크립트를 그대로 포함한다거나, 실행할 때 다시 자바스크립트로 바꿔놓는 등 기술적인 특성도 이를 방증한다.

한편 이날 MS 개발자플랫폼사업부 수장인 소마 소마세가는 개발자네트워크 블로그를 통해 타입스크립트1.0 출시후보(RC)판을 포함한 비주얼스튜디오 업데이트 관련 내용을 전했다.

관련기사

그 설명에 따르면 현재 버전은 ASP닷넷 MVC, 웹API, 웹페이지를 통합하고 엔티티프레임워크6.1 베타를 포함하며 '윈도애저알림허브'를 통해 윈도스토어, 윈도폰, iOS와 안드로이드 기기에 실시간 알림메시지를 보낼 수 있게 됐다.

팀파운데이션서버(TFS)2013 RC버전을 다른 구성요소와 함께 '고라이브' 라이선스로 포함했고 비주얼스튜디오 온라인의 GIT저장소 호스팅을 통해 자바 애플리케이션 개발을 지원한다.