[Google I/O 2011 Keynote Day 2 ] Google Chrome
Moscone Center, San Francisco
Vic Gundotra, Sundar Pichai
지난 해 I/O가 개최될 때의 Chrome의 버전은 4였습니다. 이때는 윈도우용 버전만 있었습니다. Chrome 6에 오면서 Mac과 Linux도 지원하게 되고 이때부터 사용자 수가 폭발적으로 증가합니다. 이후로는 6주 간격으로 Chrome을 릴리즈하는 것으로 정책을 바꾸고 올해 I/O가 개최되기 전까지 Chrome 11까지 릴리즈를 완료했습니다. 작년 1년 동안 6주 간격의 릴리즈를 통해 HTML5 지원, JavaScript 처리 속도 개선, Sandbox 강화 등이 개선되었습니다.
그래프를 보면 한눈에 알 수 있듯이, 2008년의 JavaScript performance와 Chrome 11의 JavaScript performance 사이에 엄청난 향상이 있었습니다. JavaScript 처리에 있어서의 이러한 극적인 성능 향상 덕분에 JavaScrip로 제작할 수 있는 웹 프로그램의 종류가 매우 다양해졌습니다.
Web Browser에서 가장 기본적으로 그래픽 관련 작업을 할 수 있는 것은 CSS transform을 활용하는 것입니다. 현재 Chrome에서는 beta 형식으로 CSS transform의 GPU acceleration을 지원하고 있으며, 앞으로 점차 개선 시켜나갈 예정입니다. CSS transform을 쓰는 경우는 특별한 추가 작업 없이 성능 개선을 저절로 얻을 수 있을 것 같습니다.
CSS 보다 한 단계 높은 수준으로는 Canvas 2D가 있습니다. Canvas 2D는 많은 게임에서 사용되고 있어서 특히 중요한 기능 중에 하나입니다. 때문에 Canvas 2D 중에 캐릭터 이미지를 그리고, 작은 이미지나 글자들이 주변에서 움직이는 등의 기능에 대한 성능 향상이 필요합니다. 이러한 것에 대해서 구글은 얼마만큼의 성능 향상을 이뤄냈는지 Fish demo를 통해서 보여주고 있습니다.
기존의 Chrome browser에서는 물고기 수를 100마리로만 지정해도 약 18fps로 아주 느려지는 것을 확인 할 수 있습니다. 하지만 새 버전의 Chrome에서 Canvas2D에 GPU 가속 기능을 활성화 시키면 물고기 수를 1,000마리로 지정해도 약 38 fps의 결과물을 얻을 수 있습니다. 여기서 Canvas 2D 대신에 WebGL을 이용하고 역시 GPU 가속 기능의 도움을 받는다면, 약 10,000마리의 물고기를 이용한 demo에서 약 25fps의 결과물을 얻는 것을 볼 수 있습니다. 엄청난 성능 향상이 아닐 수 없습니다. 10,000개의 객체가 각자 움직이는 것을 25fps로 그릴 수 있다면 왠만한 게임은 다 표현해 낼 수 있을 것만 같습니다.
GPU 가속을 이용하면 약 10배의 성능 향상, 그리고 Canvas 2D에서 WebGL로 바꾸면 또 다른 10배의 성능 향상을 얻을 수 있습니다. WebGL은 이러한 2D 그래픽 뿐만 아니라 3D 그래픽에서도 엄청난 성능을 보여줍니다. 아래에 보여지는 예제는 웹에서 아무런 plug-in의 설치 없이 3D 그래픽 작업을 할 수 있는 웹 어플리케이션입니다. 기본적인 3D 사물 구성은 물론 확대/축소, 회전 등 아무런 버벅임 없이 실행되는 모습이 매우 인상적입니다.
약 6개월 전에 Canvas 2D를 이용하는 것 보다, 지금 WebGL과 GPU 가속 기능을 이용하는 것이 약 100배의 성능 향상을 가져온다고 합니다. 웹 어플리케이션 개발에 있어서의 그래픽적 제약 사항은 이제 거의 사라졌다고 봐도 무방할 것 같습니다.
결제 시스템에서 가장 관심을 둔 사항은 '사용 경험의 흐름을 방해하지 않고 결제를 되도록 하는 방법'입니다. 이러한 In-app payment가 적용된 예제 어플리케이션으로 'Graphicly Comics'를 보여주고 있습니다.
사용자는 preview 후 흥미롭다고 판단이 되면 payment page에서 몇번의 클릭만으로 구매 절차를 완료한 후 이후의 내용을 볼 수 있습니다. 전혀 복잡함이 없고, 사용 흐름을 방해하지 않는 매우 깔끔한 방법입니다. 더욱 놀라운 것은 이러한 기능을 지원하기 위해서 개발자는 단지 두 줄의 코드만을 추가하면 된다는 점입니다.
Google은 또한 웹 어플리케이션의 확산을 위해 파격적인 수익 분배안을 내놓습니다. 기존의 어플리케이션은 다수의 명목으로 수수료를 부과하고 웹 어플리케이션의 경우는 최대 30%까지 수수료로 내도록했었는데, Google은 단 5%의 수수료만을 부과하기로 합니다. 웹 어플리케이션 개발을 위한 모든 환경이 갖춰진 것 같습니다. 이제 웹 어플리케이션이 데스크탑 어플리케이션 보다 못할 제약 조건은 거의 사라졌고, 수익성적인 측면에서는 더 매력적인 시장이 될 것입니다. 웹 어플리케이션 시장이 폭발적으로 발전할 가능성을 배제할 순 없을 것 같습니다.
Web이 얼마나 더 발전할지를 간단하게 보여주기 위해 시연된 3D Dreams of black이라는 영상도 꽤나 흥미롭습니다. 자세한 사항은 동영상을 통해서 직접 확인 해보시기 바랍니다.(바로가기) 이러한 것을 구현하는데 단지 JavaScript와 HTML5, WebGL만이 사용되었다고 합니다.
- 부팅 시간이 매우 짧음(약 8초 이내)
- 항상 네트워크에 연결되어 있음
- 베터리 사용 시간 증가
- 어떤 환경에서는 개인의 데이터나 작업 환경에 접근 가능
- 시간이 갈수록 성능이 향상됨
- 보안성이 강함
Chrome의 사용자 환경에도 많은 발전이 있었다고 합니다. 그 예로 사용자 데이터를 처리하는 예를 보여줍니다. 사실 특별히 획기적인 방법은 아니지만, 이를 운영체제 레벨에서 지원함으로써 사용자와 개발자의 편의성을 동시에 제공한다는 점은 높이살만 합니다. 예제로 나온 사용 경험은 그리 복잡한 것은 아닙니다. 파일 탐색기를 통해 파일을 선택하면 해당하는 프로그램이 동작하는 것이 가장 먼저 시연됩니다. 기존에는 동영상이나 이미지 뷰어, 사운드 플레이어 등을 설치하고 경우에 따라서는 해당 코덱까지 설치해야되는 불편함이 있었지만, Chromebook에서는 이와 같은 과정이 모두 생략됩니다. 단지 파일만 선택하면 적절한 응용 프로그램이 실행됩니다.
또한 로컬/클라우드 스토리지의 모든 파일은 OS 레벨에서 지원되는 API를 통해 다른 사용자와 손쉽게 교환할 수 있게 됩니다. Picasa 사용자가 자신의 계정을 등록해 놓으면 파일탐색기에서 Picasa로 바로 사진을 업로드 할 수 있으며, 파일 공유 사이트의 계정을 등록해 놓으면 선택한 파일을 공유 사이트에 업로드 할 수 있습니다.
아무리 Web 기반 OS라고 하지만 On-line 상태에서만 정상적으로 동작을 한다면 문제가 아닐 수 없습니다. 때문에 Google은 수백개의 어플리케이션이 off-line에서도 정상적으로 동작할 수 있도록 제공하고 있습니다.
이러한 Chromebook은 Samsung과 Acer에 의해서 만들어져 6월 15일 전 세계 6개국을 시작으로 판매가 시작됩니다.
비지니스와 교육에 있어서는 수백, 수천대의 PC를 관리하는 비용 및 시간, 노동력은 상상을 초월합니다. 이러한 곳에서는 Chromebook이 더 적합할 지도 모르겠습니다. 클라우드에 기반을 하고 있기 때문에 1차적으로 S/W 관리 비용이 들지 않습니다. 그리고 Chromebook을 대여 형태로 사용을 하게 되면, 고장이 날 경우 즉각적인 A/S 처리를 받을 수 있으며, 신규 Chromebook 모델이 나오면 교체 또한 손쉽게 할 수 있습니다. Google은 이를 위해서 Business와 Education을 위한 Chromebook 서비스를 공개했습니다. Chromebook과 web을 통한 지원, 보증 및 H/W에 대한 업데이트 또는 교체 지원 등을 포함한 서비스 요금은 아래와 같습니다.
- Chromebooks for business : $28 / 1user, 1month
- Chromebooks for education : $20 / 1user, 1month
'IT > Mobile Platforms' 카테고리의 다른 글
[Google I/O 2011] Keynote Day 2 (0) | 2011.05.30 |
---|---|
[Google I/O 2011] Keynote Day 1 (1) | 2011.05.29 |
[Google I/O 2011] Intro & Session list (0) | 2011.05.21 |
Android Architecture Overview (1) | 2011.04.08 |
EFL(Enlightenment Foundation Library)이란 무엇인가? (0) | 2011.03.02 |
LiMo4? SLP? (3) | 2011.02.23 |
댓글을 달아 주세요