웹 진화 or 액티브X 재림?…구글 다트 논쟁

파편화 놓고 자바스크립트 진영과 대립

일반입력 :2013/12/19 14:46

황치규 기자

구글이 내놓은 웹 개발 프로그래밍 언어인 다트(Dart)를 둘러싼 논쟁이 수그러들 기미가 없다. 구글은 다트가 자바스크립트의 한계를 극복하기 위한 기술임을 부각하고 있고, 자바스크립트쪽에선 다트로 인한 웹 생태계의 파편화를 계속 우려하는 모습이다.

구글이 이기적인 행동을 하는 것으로 보는 시선도 읽힌다. 자바스크립트면 되는데, 굳이 다트를 내놓고 분위기를 흐리려 한다는게 자바스크립트 진영의 시각인 것 같다. 구글은 부인할지 모르겠으나 자바스크립트 진영에게 다트는 무척이나 불편한 존재다.

이런 가운데, 인기게임 마인크래프트 개발자인 마르쿠스 페르손은 웹앱 개발을 위해 다트(Dart)를 선택했다는 소식이 전해졌다. 구글로선 다트를 밀어줄 거물급 스타 개발자를 하나 얻은 셈이다.

페르손의 행보는 자연스럽게 다트발 논쟁의 확산으로 이어지는 분위기. 미국 씨넷이 17일(현지시간) 이와 관련한 풍경을 기사에 담았다.

기사에 따르면 다트는 세상에 나오자마자 자바스크립트와 불편한 관계가 됐다. 자바스크립트가 웹애플리케이션 개발에 있어 가장 많이 쓰이는 프로그래밍 언어가 된 상황에서 구글은 2011년 자바스크립트의 한계를 극복하겠다며 다트 시험판을 내놨다. 지난달에는 1.0 공식 버전도 선보였다.

자바스크립트를 표준으로 키우려는 쪽에선 구글의 행보가 반가울 리 없었다. 실제로 자바스크립트쪽 리더들은 다트가 나올때부터 웹프로그래밍의 파편화를 우려했다.

구글외에 다른 브라우저 업체들도 여전히 다트를 외면하는 모양새다. 냉랭한 분위기가 당장에 바뀔것 같지도 없다. 아직은 구글 혼자만 다트를 외치는 상황이다. 다트를 둘러싼 지난 2년간의 풍경은 대충 이렇게 요약된다.

지금까지 구글과 자바스크립트 진영간 다트 논쟁은 다소 학문적이었다. 그러나 씨넷은 몇개월안에 분위기가 달라질 것이라고 예고했다. 구글이 다트 기술을 크롬에서 직접 구현하려 한다는 이유에서였다. 다트는 이제 이론이 아니라 현실속의 기술이 됐다는 얘기다.

구글의 다트 프로젝트 리더인 라스 백은 다음 단계는 다트 가상머신(VM)을 크롬에서 지원하는 것으로 1년안에 이뤄지기를 희망한다는 뜻을 분명히 했다. 예상대로 진행되면 다른 브라우저 업체들도 다트를 품에 안을 유혹을 느낄 것이라는 자신감도 보였다.

그러나 다트에 대한 모질라, 애플, 마이크로소프트의 태도는 여전히 차갑다. 이런 분위기가 계속되면 다트는 구글 크롬 브라우저만을 위한 프로그래밍 언어가 될 수도 있다. 자바스크립트 진영에서 다트로 인한 웹개발 파편화를 우려하는 것도 바로 이 때문이다.

씨넷에 따르면 다트를 웹에서 활용하는 방법은 크게 2가지다. 우선 다트2js로 불리는 구글 소프트웨어를 쓰는 것이다. 다트2js는 다트로 개발한 소프트웨어가 다양한 브라우저에서 돌아갈 수 있도록 코드를 자바스크립트로 바꿔준다. 커피스크립트, 레드햇 세이론, 마이크로소프트 타입(Type)스크립트같은 프로그래밍 언어도 이같은 방식으로 이뤄진다.

두번째 방법은 다트팀이 지금 진행중인 작업인데, 다트VM을 브라우저안에 구현하는 것이다. 지금까지 다트로 짜여진 프로그램은 다티움으로 불리는 실험적인 크롬 빌드 버전에서만 직접 돌아갔다. 그러나 다트VM이 크롬 브라우저에 들어가면 네이티브 다트 프로그램이 웹에 올라갈 수 있음을 의미한다. 다트 지지자들이 바라는 상황이다.

다트를 놓고 한쪽의 기대가 커지는 만큼, 다른 한쪽의 표정은 점점 어두워진다. 특히 특정 브라우저에서만 돌아가는 소프트웨어 플랫폼에 따른 파현화의 문제점을 지켜본 개발자들의 눈에 다트는 불편한 기술로 비춰진다.

노플로 프로젝트 설립자이자 플로우허브 공동 창사지인 헨리 베르기우스는 걱정하는건 구글이 광범위한 웹표준 커뮤니티와 호환시키려는게 아니라 크롬 솔루션에서만 돌아가게 하려는 것이라며 구형 인터넷익스플로러와 액티브X 시대의 MS를 닮았다고 직격탄을 날렸다.

다트를 액티브X와 일대일로 비교하는건 무리가 있다. 우선 다트는 오픈소스 소프트웨어다. 누구나 무료로 쓸고 있고, 수정도 가능하다. 구글은 자바스크립트 표준을 관리하는 단체인 ECMA 표준 그룹과의 커뮤니케이션에도 적극적이다. 다트를 이방인 취급받지 않게 하겠다는 의지가 읽힌다.

자바스크립트의 강점은 비공식성(informality)이다. 유연한 프로그래밍을 가능케 한다. 이같은 비공식성은 대형 프로젝트에선 단점이 됐다는 지적이다. 진화된 웹앱의 경우 코드만 수십만줄인데, 자바스크립트가 커버하기는 버겁다는 것이다.

구글은 다트를 앞세워 이같은 대규모 프로젝트를 겨냥했다. 그러나 환영받지 못한 출발이었다. 구글이 다트 관련 초기 메모에서 자바스크립트를 대체하는 것이 목표라고 쓴 것이 알려지면서 자바스크립트 진영의 불편한 심기는 더욱 고조됐다.

모질라 최고기술책임자(CTO)이자 자바스크립트 창시자인 브렌던 아이크는 혁명성과 무언가를 대체하겠다는 아젠다를 갖고 나온 기술은 웹에서 반복적으로 실패했다고 일침을 가했다.

씨넷에 따르면 구글은 자바스크립트를 대체할 생각은 없다. 수많은 웹사이트가 자바스크립트에 기반하는걸 감안하면 천하의 구글이라고 해도 대체는 불가능한 시나리오일 수 있다. 그러나 개발자들의 지원 여부에 따라 자바스크립트와 다트가 지금보다 경쟁 관계가 될 가능성은 있다.

이런 가운데 구글은 자바스크립트의 한계를 계속 부각하는 모습이다. 구글의 라스 백은 자바스크립트의 성능 향상을 꾀하기가 점점 어려운 일이 됐다고 지적했다. 다음 단계가 발전하려면 다른 기술이 필요하다는 것이었다. 라스 백은 성능에서 해방시키는건 개발자들이 새로운 급의 웹앱을 만들 수 있는 자유를 줄 것이다고 말했다.

브렌던 아이크 모질라 CTO는 구글의 이같은 논리를 정면으로 반박한다. 브라우저에 다트VM을 추가하는 아이디어에 회의적이다. 대부분의 브라우저는 다트를 포함시켜야할 이유가 없다는 것이다. 아이크 CTO는 그렇게 하는건 엔지니어에게 어려운일 일뿐 아니라 품질에 타격을 줄 수도 있다고 지적했다. 그는 특히 별도의 가상 머신이 2개가 있는데 따른 문제를 지적했다.

구글과 함께 MS도 자바스크립트를 보완하는 타입스크립트를 프로그래밍 언어를 공개했다. 루쿠 호반 타입 스크립트 담당 매니저는 자바스크립트 프로그래밍에 문제가 있다는 구글의 논리에 동의하는 입장이다. 그러나 해결 방식에는 큰 차이가 있다고 씨넷은 전했다.

타입스크립트는 자바스크립트의 슈퍼셋이다. 타입스크립트는 자바스크립트 코드를 바꾸지 않고 돌릴 수 있다. 대체재보다는 보완재 성격에 가깝다는 얘기다. 타입스크립트에는 자바스크립트 엔진에선 다루지 않는 기술도 추가됐다. MS의 호반 매니저는 타입스크립트는 지난 10년간 가장 성공적인 프로그래밍 생태계 중 하나의 장점을 이용할 수 있다고 강조했다.

디온 알마에르 월마트랩 모바일의 엔지니어링 담당 부사장도 자바스크립트 엔진은 경쟁력이 있다고 보는 쪽이다. 알마에르 부사장은 다트의 실질적인 어려움은 다른 브라우저 업체들의 저항을 포함해 다트를 먹을만한 알약처럼 느끼게 하는 것이다고 지적했다.

반대 여론에도 불구하고 구글은 다트 확산시키기 위한 행보를 계속할 것 같다. 다트는 자바스크립트의 적이 아니며, 많은 프로그래밍 언어들이 웹에서 번성하기를 원한다는게 구글의 입장이다.

관련기사

구글은 웹애플리케이션도 운영체제(OS)와 바로 맞물려 돌아가는, 네이티브 앱처럼 빠른 속도와 풍부한 기능을 제공할 수 있도록 하기 위해 만든 기술인 네이티브 클라이언트(NaCI)을 놓고서도 파편화 논란에 휩싸였다.

구글은 네이티브 클라이언트를 팍팍 띄우고 싶어 하는데, 다른 브라우저 업체나 개발자 생태계의 반응은 여전히 뜨뜨미지근하다. 이런 상황에서 구글이 독자노선을 밀고 나갈 경우 네이티브 클라이언트도 구글만을 위한 웹서비스의 탄생으로 이어질 것이란 지적이다. 다트를 둘러싼 우려와 본질적으로 같다.