크롬 브라우저가 하드웨어를 추상화

 

구글의 크롬 보급 전략이 완성되고 있습니다. 지난 주 미국 샌프란시스코에서 열린 구글의 기술 컨퍼런스 구글 I/O에서 구글은 아이폰/아이패드의 iOS용 크롬 웹 브라우저를 발표했습니다. 또 안드로이드용 크롬 브라우저는 구글 I/O에서 발표한 구글 타블렛 넥서스 7에 표준 탑재한다는 것도 알려졌습니다. 이것으로 크롬 브라우저는 윈도우즈, 맥 OS, 리눅스, 크롬 OS, 안드로이드, iOS 등의 폭넓은 OS를 지원하게 됩니다.

 

01.jpg

 

02.jpg

 

크롬의 확대로 최종 실현되는 것은 하드웨어를 넘어선 어플리케이션 플랫폼의 구축입니다. 웹 어플리케이션은 웹 브라우저에서 실행하기 때문에 당연히 하드웨어나 OS에 의존하지 않습니다. 그리고 1종류의 웹 브라우저로 균일한 웹 브라우징의 기능과 성능이 제공된다면 보다 풍부한 웹 어플리케이션을 만들기 쉬워집니다. 최종 사용자는 어떤 하드웨어에서도 같은 웹 기술과 같은 웹 어플리케이션을 가지고 똑같이 편리하게 쓸 수 있습니다. 개발자는 어떤 하드웨어에서도 같은 웹 어플리케이션이 실행되는 것을 기대할 수 있습니다. 또 최종 사용자는 크롬이 연속적으로 디바이스 사이를 연결하기 때문에, 탭이나 비밀번호를 공유할 수 있다는 매력이 있습니다.

 

크롬이 확장되면서 이론적으로는 플랫폼 균질화의 장점이 생깁니다. 구글 HTML5+CSS3 등 크롬이 지원하는 규격에 따른 웹 어플리케이션을 크롬 어플리케이션이라 부르고 있습니다. 최종 목표는 크롬 어플리케이션이 어떤 하드웨어에서도 크롬을 써서 실행하도록 하는 것입니다.

 

우선 구글이 목표로 하는 것은 크롬에서 실행하는 클라이언트 측 어플리케이션 세계의 구축이 아닙니다. 구글은 모든 어플리케이션이 백그라운드 서버 쪽과 밀접하게 제휴하는 클라우드 어플리케이션이 되는 세계를 목표로 삼고 있습니다. 구글의 서버 측 엔진 군(구글 앱 엔진) 등을 이용한 어플리케이션의 세계를 육성하는 것에 있을 것입니다. 크롬은 그 입구로 최적인 브라우저로서 역할도 담당합니다.

 

03.jpg

 

크롬의 활성화된 사용자 수는 3억1천만 명.

 

04.jpg

 

크롬 어플리케이션의 진화

 

 

진화하는 웹 기술이 웹 어플리케이션을 풍부하게

 

네트워크 중심의 어플리케이션 비전은 새로운 것은 아니며 지금까지도 몇 번 나왔던 것입니다. 네스케이프 커뮤니케이션 시절 부터 웹 브라우저를 어플리케이션 플랫폼이라 말해 왔습니다. 그러나 그런 시도는 지금까지 잘 되지 않았습니다. 이번 상황이 지금까지와 다른 점은, 업계 전체가 성숙해 지면서 구상이 현실성을 띠고 있다는 것입니다.

 

웹 관련 기술의 성숙함은 구글의 Sundar Pichai(Senior Vice President, Chrome & Apps, Google)가 구글 I/O 키노트 스피츠에서 공개한 아래 차트에서 알 수 있습니다. 이것은 웹 기술과 브라우저의 진화를 설명한 것으로, http://www.evolutionoftheweb.com 에서 볼 수 있습니다.

 

05.jpg

 

웹 기술과 웹 브라우저 진화

 

06.jpg 

 

구글의 Sundar Pichai(Senior Vice President, Chrome & Apps, Google)

 

이 그림에서 인상적인 것은 웹의 기술을 표시하는 끈이 오른쪽으로 자꾸 늘어나고 있다는 것. 즉 기술 혁신의 주기가 빨라진다는 것입니다. 그림의 왼쪽 위에는 HTML1과 모자이크 브라우저가 있고, 오른쪽 아래에는 HTML5나 다양한 확장 API, 스펙(CSS3, WebGL, WebRTC 등)이 있어, 크롬 브라우저의 빠른 발전을 나타내고 있습니다.

 

이 차트는 크레디트 부분을 보면 알겠지만 구글 크롬 팀이 만든 것이기 때문에 크롬에 유리한 그림이기도 합니다. 하지만 웹 기술의 진화가 점점 더 빨라지고 있는 것은 확실합니다. 기술의 성숙으로 웹 브라우저에서 풍부한 어플리케이션을 만드는 것이 가능해졌습니다. 게다가 기술적인 성숙도 뿐만 아니라 소프트웨어 생태계나 통신 인프라스트럭처, 휴대용 디바이스의 성능 등 모든 부분에서 성숙도가 높아지면서 웹 브라우저가 어플리케이션 플랫폼으로 구성되고 있습니다.

 

웹 어플리케이션이 주류가 되면 웹 브라우저 아래에서 실행되는 OS 층의 의미가 퇴색됩니다. 가벼운 OS로 컴퓨터를 만드는 것도 가능해 집니다. 예전에 오라클이 주도한 네트워크 컴퓨터는 이런 구상의 컴퓨터이며, 구글도 같은 구상으로 크롬 OS를 출시했습니다. 작년의 구글 I/O에서 구글은 크롬 OS 전략을 구체화하는 크롬북을 발표했습니다.

 

07.jpg

 

새로운 컴퓨터 크롬북

 

08.jpg

 

크롬북은 미국의 대형 전자기기 체인인 베스트 바이에서 판매

 

그리고 올해 구글 I/O에서는 iOS 버전의 크롬을 발표, 안드로이드 버전의 크롬이 안드로이드 4.1(젤리 빈)의 넥서스 7에서 표준 탑재된다는 것도 발표했습니다. 모바일 디바이스에 크롬이 출시되면서 점점 크롬의 크로스 플랫폼 특성이 높아지고 있습니다.

 

 

안드로이드에 치우쳤지만, 크롬으로 해결

 

안드로이드 버전의 크롬만 보면, 구글 플랫폼에 치우쳤던 것이 드디어 고쳐졌다는 느낌이 강합니다. 지금까지 안드로이드의 웹 브라우저는 크롬이 아니라, 딱히 공식 이름도 붙이지 않았던 안드로이드 독자 브라우저였습니다. 구글이 만든 OS였지만, 크롬이 나오기까지 시간이 걸렸습니다.

 

실제로는 안드로이드 브라우저도 크롬과 똑같이 HTML 렌더링 엔진은 웹키트, 자바스크립트 엔진은 V8로 바꾸게 됩니다. 그러나 하드웨어를 포함하는 크롬 제휴에는 포함되지 않고, 기능적인 차이도 적지 않습니다.

 

이것은 프로그래밍 모델에서도 나뉘는 것입니다. 지금까지는 구글에서 클라이언트측의 프로그래밍 모델은 2개로 나뉘어져 있었습니다. 하나는 크롬을 기반으로 한 웹 프로그래밍 스타일, 즉 HTML5+CSS+자바스크립트, 여기에 다양한 HTML/자바스크립트 확장을 기반으로 한 프로그래밍 스타일이며, 또 다른 것은 안드로이드에서 달비(Dalvik) 가상 머신에서의 프로그래밍 모델입니다.

 

실제로는 그 외에도 안드로이드의 NDK(Native Development Kit)나 크롬의 네이티브 클라우드 등 네이티브 코드 모델도 있어 복잡하지만, 크게 나누면 크롬의 웹 어플리케이션과 안드로이드의 달빅 어플리케이션의 2계통으로 나뉘어 있습니다. 거기에 안드로이드 버전 크롬의 등장으로 안드로이드에도 크롬 수준의 공통 웹 프로그래밍의 전망이 열리게 됩니다.

 

안드로이드 버전 크롬은 PC 버전 크롬과 완전히 같진 않습니다.(WebGL은 아직 지원 안함) 때문에 차이가 어느 정도 있는 셈이며, 크롬 어플리케이션이란 이름을 달고 나온 앱은 안드로이드 버전 크롬에선 지원하지 않습니다. 실제로는 같은 크롬이라 해도 안드로이드 버전 사이에는 경계가 있어, 앞에서 말한 이상적인 크롬의 균질 환경 구축은 실현되지 않았습니다. 또 안드로이드 버전 크롬은 안드로이드 4.0(아시크르미 샌드위치) 이후에 지원하며, 그 이전의 안드로이드에선 쓸 수 없습니다. 이것은 아직 안드로이드에서 크롬의 고리가 완성되지 않았으며, 그것은 나중 이야기란 소리입니다.

 

 

크롬이지만 크롬이 아닌. iOS 버전 크롬

 

지난 주 구글 I/O에서 크롬 관련 발표의 핵심은 iOS 버전 크롬이었습니다. 그러나 iOS 버전 크롬은 균질한 크롬 체험에선 벗어나 있습니다. iOS 버전 크롬은 자바스크립트 실행 속도가 느려, 어떤 의미에서는 크롬이지만 크롬이 아닌 웹 브라우저입니다. 그 이유에 대해서 구글은 개발자용 사이트에 구글 I/O 기간 동안 공개한 페이지에서 설명하고 있습니다.

 

크롬은 반드시 애플의 웹 표시용 클래스 라이브러리인 UIWebView를 써야만 합니다. 그 때문에 iOS에서 돌아가는 웹 브라우저의 렌더링 엔진과 자바스크립트 엔진은 UIWebView를 통해 제공하는 iOS의 엔진을 사용하지 않으면 안됩니다. 렌더링 엔진이 WebKit 기반이란 점은 UIWebView도 크롬과 같습니다. 그러나 구글은 크롬이 고속 JIT(Just-In-Time) 타입 컴파일러 자바스크립트 엔진인 V8 엔진을 iOS 버전에서 쓰지 못하는 대신, 애플의 웹 브라우저 사파리인 고속 니트로 자바스크립트 엔진을 스고 있지만 그걸 크롬이 가져올 수도 없다고 구글은 설명합니다. 그 때문에 iOS 버전 크롬은 자바스크립트 성능이 떨어질 수 밖에 없다는군요.

 

구글 사이트에선 Chrome must use Apple”s UIWebView-크롬은 반드시 애플의 UIWebView를 써야 한다-고 표현하고 있습니다. '반드시'라고 쓴 점에서 애플의 어플리케이션 심사 가이드 라인에 두는 제약임을 알 수 있습니다. 구글이 손을 댈 수 없는 점이니, 아직 iOS 버전 크롬은 구글이 바라는 크롬이 될 순 없습니다.

 

구글은 웹 어플리케이션을 발전시키기 위해 자바스크립트의 속도 향상을 우선으로 했습니다. 네이티브 코드와 자바스크립트 실행 성능의 차이를 될 수 있는 한 메꾸지 않으면, 웹 어플리케이션을 폭넓게 보급할 수 없기 때문입니다. 그러나 iOS 버전 크롬에서는 여기에 벽이 있습니다.

 

이렇게 크롬을 쓰는 컴퓨팅 디바이스는 점점 늘어나고 있지만, 모바일 버전은 아직 완전히 크롬의 고리 안에 들어가진 ㅇ낳았습니다. 그래도 사용자가 구글 ID와 연동해 서비스를 쓸 수 있으니 크롬의 제휴는 대단히 편리합니다. 지금 단계에서 시작한 것은 그런 수준의 모바일 크롬 체험입니다.

 

그러나 하드웨어를 넘어 같은 프로그래밍 모델을 제공하는 것이 크롬의 목적이라면, 앞으로 크롬과 모바일 크롬은 하나로 합쳐질 것입니다. 모바일 디바이스의 하드웨어가 발전하면서, 데스크탑과 같은 기능을 모바일 버전 크롬에서도 지원, 같은 크롬 어플리케이션을 실행할 수 있게 되면 크롬이 완성됩니다.

 

아직까지 모바일 디바이스는 평균 2년마다 프로세서나 메모리 성능이 2배 이상으로 늘어나고 있습니다. 빠른 하드웨어의 발전은 소프트웨어의 발전도 촉진시키고 있습니다.

기글하드웨어(http://gigglehd.com/zbxe)에 올라온 모든 뉴스와 정보 글은 다른 곳으로 퍼가실 때 작성자의 허락을 받아야 합니다. 번역한 뉴스와 정보 글을 작성자 동의 없이 무단 전재와 무단 수정하는 행위를 금지합니다.