'구글판 액티브X' NaCI, 지원플랫폼 확대

일반입력 :2013/11/13 10:24    수정: 2013/11/13 16:27

구글판 웹애플리케이션(이하 '웹앱') 개발기술 '네이티브클라이언트(NaCl)'가 이식성을 높인 버전으로 재등장했다. 크롬 브라우저 외에 다른 브라우저를 지원할 가능성도 제기됐다. 이에 따라 NaCI가 '구글판 액티브X'라는 오명을 벗을 수 있을지 주목된다.

NaCl은 HTML5와 자바스크립트같은 웹언어 대신 C와 C++같은 언어 기반으로 웹앱을 만들 수 있게 해주는 기술이다. 구글은 2008년 12월 처음 NaCI를 소개했고 2011년 8월 이를 크롬 브라우저에 탑재했다.

당시 구글은 다양한 브라우저 지원을 목표로 삼았지만 파이어폭스를 제공하는 모질라와 오페라로 유명한 오페라소프트웨어는 구글을 받아주지 않았다. NaCI는 여전히 '크로미엄'과 구글 크롬 브라우저, 크롬OS만 기본 지원한다.

이런 가운데 구글은 12일(현지시각) 크로미엄 공식블로그를 통해 NaCl의 기기간 이식성을 높인 '포터블 NaCl(PNaCl)'을 공개했다. 이는 '피네클'이라 읽는다. 크롬31 베타 버전부터 통합됐다.

구글은 개발자들이 PNaCl로 한 번 짠 코드를 어떤 하드웨어에서든 돌아가게 컴파일할 수 있으며 해당 앱을 어떤 웹사이트에나 심을(embed) 수 있다고 설명했다. 크롬과 크롬OS 탑재 환경이어야 한다는 것이 조건이다.

크롬OS를 탑재한 크롬북 단말기는 구글이 PNaCl의 최대 효과를 볼 수 있는 플랫폼으로 묘사된다.

크롬북 픽셀의 경우 NaCl을 내장한 OS를 통해 C++로 짠 3D 그래픽 게임처럼 고사양 오프라인 앱을 구동할 수 있었다. 하지만 x86과 ARM 기반 칩에 따라 앱 호환성 문제가 발생했다.

PNaCI 공개로 개발자들은 프로세서 호환성에 신경쓸 필요가 없어졌다. 앱을 한번 개발하면 사용자가 쓰는 크롬북 칩이 x86이든 ARM이든, MIPS든 모두 돌릴 수 있다.

온라인 IT미디어 기가옴은 현재 크롬북이 x86과 ARM이라는 2가지 타입의 칩을 채택하고 있는데, PNaCl이 양쪽을 지원하느라 별개로 앱을 만들어야 했던 문제를 해결해 줬다고 전했다.

구글은 그동안 구글독스나 지메일, 구글지도 등 주요 제품을 개발하면서 HTML5와 자바스크립트, CSS3같은 표준 기술을 적극 채택해왔다. 크롬 브라우저는 여전히 최신 웹표준 지원에 발빠른 브라우저로 평가된다.

하지만 구글은 웹앱 구동 환경에 3D게임이나 컴퓨터지원설계(CAD)처럼 클라이언트 성능에 민감한 네이티브앱 역할도 끌어오기 위해 NaCl같은 기술을 브라우저에 탑재하는 움직임도 지속해왔다.

다른 브라우저가 PNaCl 지원 여부는 확실치 않다. 선택은 해당 브라우저 업체의 몫이다. 구글이 타사 브라우저도 NaCI를 지원할 수 있도록 하기 위해 어떤 노력을 기울여왔는지에 대해 알려진 건 없다. 구글이 NaCl을 오픈소스로 내놨지만 구글판 액티브X라 불렸던 것도 바로 이 때문이다.

PNaCl가 마이크로소프트(MS) 액티브X만큼 제약이 심하진 않다. 액티브X는 x86기반 윈도 인터넷익스플로러(IE)에서만 돌아간다. PNaCl은 앞서 언급했듯 x86뿐아니라 ARM과 MIPS 단말기 환경도 대응할 수 있게 됐고, 현재 기술적으로 다른 브라우저에 돌아가게 만드는 방법도 있다.

관련기사

PNaCl 앱 개발자들이 페퍼JS(pepper.js)라는 자바스크립트 라이브러리를 쓰면 해당 앱을 크롬이 아닌 브라우저에서도 쓸 수 있다. 페퍼JS는 구글의 자체 플러그인 기술 '페퍼API(PPAPI)'를 다른 브라우저에서 자바스크립트 형태로 쓸 수 있게 해준다.

이에 대해 온라인 IT미디어 더넥스트웹은 PNaCl이 크롬 전용 기술이긴 하지만 구글은 이 제약이 달라질 수도 있다는 단서를 남겼다고 평했다.