2010년 10월 26일 화요일

5년 후의 웹 브라우저

5년 후의 웹 브라우저

, , 2010/05/07 04:55
최근 웹 기술 업계는 매우 빠른 혁신의 시대에 접어들어 이 블로그에서도 그 속도를 따라잡기가 힘들 정도다.

특히, 자의반 타의반 HTML5가 애플과 어도비의 해묵은 기술 및 비즈니스 논쟁에 끼어 들면서 '웹 vs. 앱' 혹은 '웹 vs. Flash(플러그인)'이라는 구도의 마케팅 용어로 변질되고 있는 느낌 마저 든다.

게다가 iUi를 만든 Joe Hewitt은 "플래시 보다는 웹의 혁신을 느리게 진행한 W3C와 브라우저 벤더를 탓하라"는 트위터 논쟁이 있은 뒤라 더더욱 그렇다. (한국에서는 좀 더디지만) 2004년 부터 시작된 2차 웹 브라우저 전쟁과 웹 표준을 기반한 기술 혁신은 과거에 비해 훨씬 빠른 속도로 진행되어 왔다.

이 럴 때 일 수록 웹 개발자들은 의연히 대처할 필요가 있다. 내가 왜 웹 개발자가 되었으며 웹이 가진 개방성이 우리에게 주는 의미를 한번 더 되새기면서 말이다. 그리고 HTML5가 만드는 혁신에 서서히 몸을 맡길 준비를 할 필요가 있다.

이 런 이유에서인지 올해 샌프란시스코에서 열린 웹2.0엑스포는 페이스북이나 트위터 같은 소셜 웹 서비스와 HTML5 같은 웹 기술 혁신으로 인해 훈풍이 불고 있는 듯 하다. 아래 글은 행사 중 웹 브라우저 벤더의 주요 개발자들이 참여한 "미래의 웹 브라우저" 패널 토의를 TechCrunch가 요약한 것이다.

사용자 삽입 이미지

패널리스트
— Douglas Crockford (Yahoo) 자바스크립트 구루, JSON 창시자
— Brendan Eich (Mozilla) 자바스크립트 창시자, Mozilla 기술 이사
— Charles McCathieNevile (Opera) - 웹 표준 임원, W3C WebApps W/G 의장
— Alex Russell (Google) 크롬프레임 개발자, Dojo 툴킷 개발자
— Giorgio Sardo (Microsoft) 웹 기술 에반젤리스트
— 좌장: Dion Almaer(Palm)와 Ben Galbraith (Palm): Ajaxian.com 공동 설립자

Q: IE9에서 캔버스 기능을 보고 싶은분 손 들어달라!
* MS 직원은 Sardo를 포함해 전원이 손을 들다*

Sardo (Microsoft)— 아직 구현을 못했지만 HTML5에 열심히 투자하고 있다. 고급 수준의 구현을 하려면 개발자에게 피드백도 받고 스펙도 잘 읽고 성능과 호환성에도 신경 써야 한다. 아마 모든 게 하드웨어 가속을 써야 할 것 같다

Almaer (Palm)— 내 생각엔 SVG에 비해 캔버스는 구현이 간단해 보인다만...

Eich — SVG 구현은 거대하지만 캔버스는 간단하다. 우리는 5년 전 부터 이걸 해 왔지만 꽤 간단하다.

Almaer (Palm)— 어떻게 IE6에서 일어난 문제를 다시 겪지 않을 것인가?

Russell (Google)— IE9가 정말 기다려 진다. 하드웨어 가속 SVG와 렌더링. 경쟁은 좋은 것이고 기본이다. 웹 브라우저들이 사용자들의 요구에 맞게 경쟁하고 진화하면 좋겠다. 이런 시스템이 동작하면 구현은 더 빨라질 수 있다. 2001년의 IE6은 멋졌지만 문제는 더 나아가지 못하고 중단했다는 것이다. 우리는 변화의 중간에 있다. 그 갭을 메꾸는데 장기 방안은 아니지만 플러그인이 그 대안이 될 수 도 있다. (역자주: 얘가 크롬프레임을 만든 애인데, 그의 방식은 그렇게 좋은 방법은 아니다.)

Q: 웹 브라우저 벤더 모두 같은 스펙을 구현하고 있는데 우선 순위는?
McCathieNevile (Opera)— 우리는 개발자들과 대화 한다. 사람들이 무엇을 쓰는지 먼저 본다. 개발자들이 원하는 것을 먼저 만든다.

Eich — Mozilla는 10년간 오픈소스로 개발해 왔다. 실제로 구현을 해 주는 외부 개발자 그룹도 가지고 있다. 요즘에는 Web Form에 관심을 가지고 있고, HTML5의 많은 부분도 구현하고 있다. 웹 개발자들이 C++코드를 제공하지는 않지만 무엇이 문제인지는 계속적으로 의견 교환을 한다.

Q: Doug, 변화의 필요성에 대해 계속 강제해 왔다.
Crockford (Yahoo)— 웹은 2000년에 죽은 채 내버려졌다. Microsoft나 많은 사람들은 웹이 끝났다고 생각했다. 이 때 (Flash 같은) 몇 가지 웹 개발 플랫폼이 나타났지만, 2005년에 웹은 Ajax로 부활했다. 웹 브라우저는 매우 중요한 애플리케이션 배포 도구가 되었는데도, 불행하게도 W3C는 그 역할을 포기했다. 우리는 지금 1999년의 웹 표준 상태에서 아직 벗어나지 못하고 있다. 개발자들은 조금씩 전진해 나가려고 하지만 IE6 같은 문제를 풀지 않으면 안된다. 국제적으로 어떤 곳은 40~60%나 된다. IE6 문제는 주요 웹 사이트 개발자들이 풀어 주어야 한다. 특히 ActiveX 기반 웹 사이트도 문제다. 이걸 대체하지 않으면 IE6 대체도 어렵다. 중국 같은 나라의 경우 해적판 운영 체제를 쓰는 것도 문제다.

Sardo (Microsoft)— 윈도우 업데이트 중 일부가 정식 라이센스 구매자에게만 제공 되긴 하지만 IE는 예외이다. 해적판 사용자도 IE를 설치할 수 있다. 다만 IE9은 XP는 지원하지 않는데, 이는 HTML5 하드웨어 가속을 최신 운영 체제에서 지원 가능하기 때문이다.

Russell (Google) — Opera나 Mozilla이나 Chrome이나 모두 하드웨어 가속을 준비 중이다. 특히 XP에서도 구현하고 있다. MS가 말한 것은 사용자를 위한다고 하지만 사용자 뒤에 숨는 것과 비슷하다. 결국 질문은 우리가 웹 개발자들이 HTML5를 선택 할 수 있는 기회를 잘 주느냐 하느 것이다.

Crockford (Yahoo)— 모든 윈도XP 사용자들이 IE말고 다른 브라우저를 쓰면 되겠네.. ㅎㅎ
McCathieNevile (Opera) - 최신 하드웨어가 아닌 하드웨어도 있다. 이게 사용자들이 XP에서 업그레이드를 못하는 이유기도 하다. 많은 사람들은 기술적인 업그레이드를 원하지는 않는다.

Q: 웹 브라우저 경쟁에 대해 이야기해 보자. 오랫동안 Mozilla Firefox는 IE의 대안으로 위치를 점했다. 이제 여러 웹 브라우저들이 점점 혁신을 해 나가는데 Firefox의 입장은 뭔가?
Eich (Mozilla)— 우리는 선택과 혁신을 지속하자는 사명이 있다. 사용자들의 경험이 최고의 가치다. 물론 경쟁이 치열하다. 하지만 문제는 "상용 벤더"는 (기업의) 목적이 있다. 애플은 좋은 제품을 만들지만 개발자들이 쓰는 SDK나 API를 통제하려고 한다. 구글은 오픈웹의 경향을 띠고 있지만 검색에 맞는 것만 한다. Mozilla는 이런데 신경 안쓴다. 우리는 스스로 눈을 감고 데이터를 보지도 마케팅에 신경쓰지도 않는다. 요즘 페이스북이 하는 짓거리를 보라. 사용자들은 (회사의 이익과 관계 없이) 스스로 데이터 통제와 선택권한을 가질 필요가 있다.

Q: 자바스크립트의 상태는 어떤가?
Eich (Mozilla)— 표준 위원회는 싸우지 않고 조화롭게 잘 굴러가고 있다. 제안 사항을 프로토타입으로 만들고 있고 모듈 시스템 처럼 협력해서 진행 중이다.
Russell (Google) 해석기(Interpreters)들이 점점 빨라진다. 아마 더 빨라질 것으로 보이지만, 네트웍 보다 빠르진 못해서 SPDY라고 불리는 새 프로토콜을 제안했다. 근본적인 레이턴시가 로컬 디바이스 성능 만큼 안 나온다. 웹 브라우저 프로세스를 개선하고 DOM 그자체도 업그레이드하고 있다.

Sardo (Microsoft)— 모든 웹브라우저가 좋은 자바스크립트 성능을 보이고 있지만 좀 더 개선의 여지는 있다.

Q: 여기서 Joe Hewitt이 이번주에 트위터에서 한 이야기 좀 해봐야 겠다. 그는 "난 웹을 사랑하지만 개판이다"라고 했다. (플래시 같은) 상용 플랫폼을 보면 굉장히 진화하고 있다. 아마 Joe는 이런 느슨한 시스템 때문에 웹 표준이 제대로 동작하지 않는다고 말했다.
Russell (Google)— 난 Joe가 만든걸 매우 좋아하는 사람으로서 존경하고 그의 생각에 동감한다. 내가 자바스크립트 툴킷을 다뤄 보니 진짜 골치아팠다. 그도 비슷했을 것이다. 하지만 그건 2년전의 이야기이다. 웹킷을 보면 훨씬 많이 나아졌다. CSS 애니메이션 같은 iUi의 많은 문제점이 해결됐다. 더 많은 기능이 계속 구현 중이고 그 향상 속도는 점점 빨라진다.

Q: 모바일 브라우저와 터치 인터페이스에서도 뭔가가 필요한것 같다. 다들 어떻게 진행 중인가?
Eich (Mozilla)— Firefox를 모바일에 탑재하는 작업을 진행 중인데 데스크톱에서 걱정되는게 많다는 점은 동의한다. 멀티 터치에 관한 한 애플은 멋지다. 문제는 빨리 표준화 할 필요가 있다는 점이다. 대부분 구현이 아이폰에서 만들어졌는데 (비록 애플이 Cocoa를 원했었더라도) 웹에서 구현될 수 있게 되었다. 이런 것이 꽤 도움되는 일이다. Joe가 말했듯이 많은 사람이 한 방에 들어차 있는 문제가 있다. 이건 혁신을 위해서도 안 좋다. 모바일에서 문제는 멀티 코어 지원에 대한 것이다. 아마 차세대 주요 문제로 웹에도 영향을 미칠 것이다. 이런 미래에 대해서는 준비가 안되었다. 아마 향후 5년간 자바스크립트 측면에서는 큰 이슈거리다.

Q: 오페라 모바일 브라우저를 아이폰에 탑재한건 어떻게 진행 되었나?
McCathieNevile (Opera) — 우리는 몇 억건의 웹 브라우저를 배포했다. 아이폰에 탑재된 오페라 미니는 사실은 아이폰 같은 스마트폰을 못쓰는 사람들을 위해서 만든 것이다. 일반 폰에서 웹 페이지를 보기 위한 것으로 아이폰의 전략과 맞지 않다. 더 많은 사람들이 다양한 웹 브라우저를 쓰게끔 하기 위한 전략일 뿐이다.

Q: 90년대에 3개의 웹 브라우저만 지원하면 됐었다. 이제 6개나 되는데 어떻게 웹 사이트를 만들어야 하나?
McCathieNevile (Opera)— 표준화에서 중요한 점은 더 나은 표준을 만드는 것이다. 하위 호환성을 유지해주는게 중요하다. HTML5는 웹을 뒤집어 엎을려는 게 아니라 다시 시작하기 위한 것이다. 유지하면서 개선을 진행하는 것이다.

Crockford (Yahoo)— 모바일로 옮아갈 때 큰 문제라고 생각하고 걱정되는 것이 "개방성"을 잃어 버릴까 하는 점이다. 웹이 충분히 혁신하지 못해 상용 앱 플랫폼이 이기거나, 그 반대가 될 텐데...

[Sardo (Microsoft)는 호환성 극대화를 위해 렌더링 엔진간 변환 가능성과 표준에 대해 이야기했다. Crokford의 이야기는 논쟁 거리가 되어서 몇 가지는 건너 뛰었다.]

Russell (Google) —새 웹 브라우저에 대해 과거 콘텐츠를 유지하는 건 경제적 비용이 든다. 옛날 기술에 익숙한 사용자들도 기업에게는 비용이다. 렌더링 엔진을 변경 가능하게 하는 것이 웹 사이트 생태계를 좀 더 빠르게 바꿀 수 있는 방법이다.

===========================

결국 웹의 혁신은 HTML5나 플래시가 아니라 사용자와 개발자에게 달려 있다. 지금 웹이 원하는 방향은 높은 생산성으로 웹 문서와 웹 애플리케이션이 동시에 제공 되는 것이다.

많 은 사람들은 어리석게도 HTML5가 초안 상태(Draft)이며, 완벽히 구현 되려면 수 년~수십 년이 걸릴 것이라고 말한다. 하지만, 웹 표준 '스펙의 완벽함'과 구현은 전혀 별개이다. 10년 전 만들어진 W3C 스펙이 아직까지 구현되지 않은 것도 많다.

늘 그렇듯이 HTML5에서 사용자와 개발자들이 요구하는 주요 기능은 빠르게 구현되어, 데스크톱 뿐만 아니라 다양한 모바일 디바이스에 빠르게 적용될 것이다. 상용 벤더 뿐만 아니라 (Mozilla와 같은) 선택 가능한 기술적 대안들이 혁신을 더 빠르게 촉진할 것 같다. 이것이 90년대 IE vs. Netscape 시절과 전혀 다른 점이고, 어도비가 HTML5 저작 도구 개발에도 힘쓸거라고 말하는 이유다.

5년 후 웹의 모습은 우리가 지금 보는 것과 완전히 다른 새로운 것이 될 것이고, 그 청사진은 이미 우리가 보고 있다.