개발자 / 브라우저 / 웹서비스

크롬 31 피나클, 웹과 데스크톱 격차 줄이는 숨겨진 기능

Serdar Yegulalp | InfoWorld 2013.11.14

이번 주 발표된 구글의 크롬 31에는 주목할만한 기능이 하나 숨겨져 있는데, 포터블 네이티브 클라이언트(Portable Native Client, PNaCl, 피나클이라고 읽는다)가 그 주인공으로, C/C++ 코드를 브라우저 내 앱에서 사용할 수 있도록 해 준다.

피나클을 이용하면 이론적으로는 고성능 게임이나 복잡한 비디오 처리, 또는 어도비 포토샵 데스크톱 버전과 같은 강력한 기능을 갖춘 앱을 크롬 내에서 구동할 수 있다.

피나클은 웹 앱을 1등급 데스크톱 앱으로 만들 수 있도록 한다는 구글의 임무를 완수하기 위한 다음 단계 조처로, 피나클은 개발자들이 자바스크립트의 제약이나 보안 문제를 겪지 않고 이런 작업을 진행할 수 있도록 해준다. 하지만 피나클은 현재로서는 크롬에만 적용되는 구글 만의 기술이다.

빠르고 안전한 웹 앱
구글의 네이티브 클라이언트 프로젝트는 “신뢰할 수 없는 네이티브 코드를 크롬 브라우저에서 구동할 수 있도록 해주는 안전한 샌드박스”라고 설명되며 이미 많은 관심을 보았다. 피나클 이전에 고성능 코드를 읍라우저에서 구동할 수 있는 방안은 손에 꼽을 정도로, 자바(플러그인 필요), 플래시(플러그인 필요), 그리고 최근에 등장한 asm.js를 이용한 자바스크립트(크롬에서 지원되지 않음) 등이었다.

피나클은 이름 그대로 어떻게 이런 코드를 다양한 시스템 아키텍처에 걸쳐 제공할 것인가 하는 문제에 대한 해결책을 제시하고 있다. 피나클은 C나 C++ 코드를 구글이 “LLVM 방식 바이트코드”라고 부르는 소스 코드와 기계 코드 중간 단계의 코드로 컴파일해 준다. 이런 앱을 사용하는 웹 페이지를 방문하면, 크롬은 이 바이트코드를 클라이언트 플랫폼의 네이티브 코드로 변환해 주는 것이다. 이는 앱을 소스 코드에서 다시 컴파일하는 것보다 훨씬 빠르고 안정적인 처리 과정이다. 또한 변환된 코드는 샌드박스 내에서 구동되기 때문에 주변 환경에 악영향을 미치지 않는다.

구글은 피나클 기반 앱의 장점을 강조하지만, 현재로서는 최신 버전의 크롬에만 피나클이 기본값으로 활성화되어 있다

네이티브 클라이언트와 피나클의 가장 큰 단점은 크롬에서만 구현된다는 것으로, 이는 한동안 계속될 것으로 보인다.

호환성과 개방성이 약점
모질라는 네이티브 클라이언트에 대해 부정적인 편이었으며, 대신 asm.js를 밀고 있다. 모질라는 또한 구글이 자사가 세운 개방성 표준을 무너뜨리고 있다고 비난해 왔다.

HTML5 게임 개발사인 픽셀 앱의 케빈 무어도 네이티브 클라이언트를 가능성 있는 플랫폼으로 보고 있지만, 네이티브 클라이언트가 “인터넷의 보편적인 요소가 되지는 않을 것 같다. 마이크로소프트가 네이티브 클라이언트와 같은 것을 언제나 지원할지 상상이 되지 않는다”라고 지적한 바 있다.

모든 것을 인정한다고 하더라도 크롬의 시장 점유율은 이미 네이티브 클라이언트를 그저 틈새시장의 호기심 어린 프로젝트로 버려두기 어려울 만큼 확고한 상태이다. 구글로서는 승부를 걸어볼 만한 조건이 갖춰진 것이다.

하지만 네이티브 클라이언트의 확산은 구글의 의지만으로 이루어지지 않을 것이다. 만약 모질라와 마이크로소프트가 asm.js나 다른 기술을 더 나은 방법으로 결정하고, 웹 개발자들이 이를 받아 들인다면, 구글로서도 이를 따르는 수밖에 없을 것이기 때문이다. 하지만 그때까지 구글은 네이티브 클라이언트와 피나클을 전방위로 내세울 것이다.  editor@itworld.co.kr
Sponsored

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

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

Copyright © 2024 International Data Group. All rights reserved.