We ♥ Apple – HTML5 vs Flash
– 기술적 이슈 뒤에 숨어있는 애플과 어도비의 주도권 전쟁 –
애플의 CEO인 스티브 잡스는 애플의 아이폰과 아이패드 사용자들에게 플래시를 지원하지 않을 것이라는 뜻을 분명히 밝혔다. 이 결정은 아이폰, 아이패드 사용자 뿐 아니라 그동안 아이폰용 플래시 플러그인을 준비하고 있었던 어도비(Adobe)로서도 큰 타격이었다. 스티브 잡스는 어도비를 맹렬히 비난하며, 애플은 플래시를 지원하지 않을 것이며, 차세대 웹 표준으로 각광 받고 있는 HTML5를 플래시 대신 채택할 것이라고 하였다.잡스는 “게으른 어도비”라고 비난하며 플래시는 Dirty하고, 모바일 기기의 성능을 크게 저해한다고 말했다. 플래시는 기본적으로 크로스 플랫폼을 고려하여 만들어져 있기 때문에 모바일 기기에서 성능을 저해할 수 있는 코드들이 많이 들어있다는 것이다. 또한 플래시는 특정 기업에 종속된 플랫폼이며, 이제 웹은 특정한 브라우저 플러그인을 지양하고 웹 표준에 맞추어 나가야 한다고 하였다. 그리고 이것이 바로 애플이 차세대 표준인 HTML5를 지원하는 이유라고 밝혔다.
“Adobe, You are lazy!”
어도비 또한 애플의 공격에 적극적으로 대응했다. 플래시의 개발자이자 어도비의 CTO인 케빈 린치는 애플이 사용자의 선택권을 제한하고 있다고 비난했다. 또한 어도비는 애플을 비아냥거리는 “We Love Apple” 광고를 워싱턴 포스트에 게재하기도 하였다. 여기에서도 어도비는 애플이 웹과 애플리케이션을 개발하고 사용하는 선택권을 제한하고 있다고 비난하였다.
“우리는 Apple을 좋아해요. Apple Inc., 빼고.”
그런데 여기에서 한가지 의문이 든다. 정말 잡스는 웹 표준 지향이라는 기술적인 문제만으로 플래시를 거부한 것일까? 정말 잡스의 말대로 모바일 기기에서 플래시가 적합하지 않다면, 플래시 10.1을 지원하는 안드로이드 기반 스마트폰이나 플래시의 경량화 버전인 플래시 라이트를 지원하고 있는 다른 모바일 운영체제와 디바이스는 어떻게 된 것일까? 혹시 기술적인 이면에 어떤 속셈이라도 숨어있는 것은 아닐까?
HTML5 vs Flash
HTML5는 HTML의 차기 표준으로 웹에서 별도의 플러그인(애플리케이션)을 최소화하고자 제안 된 기술 표준이다. 원래 HTML은 브라우저 자체에서 음악을 재생하거나 동영상을 재생하거나 하는 것을 구현하지 않았다. 넷스케이프와 인터넷 익스플로러로 대표되던 웹 시대 초기에는 웹에서 음악을 재생하거나 동영상을 재생하기엔 그것을 받쳐줄 브라우저 기술과 하드웨어 자원이 부족했다. 따라서 굳이 동영상과 음악 재생을 표준으로 규약할 필요가 없었던 것이다.HTML은 이 부분을 비워둠으로서 브라우저의 플러그인(Plugin) 형태로 되어있는 인터넷 애플리케이션이 그 역할을 할 수 있도록 하였다. 우리가 당연하게 웹에서 보는 플래시 컨텐츠도 바로 이런 플러그인의 한 형태라고 할 수 있다. 플러그인은 브라우저에서 불러오는 웹의 컨텐츠가 아니라 사용자의 하드웨어를 사용하는 운영체제에 설치된 하나의 프로그램이다. 다른 일반적인 프로그램처럼 하드웨어의 도움을 얻을 수 있기 때문에 브라우저의 한계로 구현하기 힘든 것들(동영상 재생 같은)을 구현할 수 있는 것이다.그런데 플러그인 방식의 가장 큰 문제점은 특정 운영체제나 특정 브라우저에 종속되기 쉽다는 것이다. 대표적으로 요즘 한창 문제가 되고 있는 ActiveX는 윈도와 인터넷 익스플로러(Internet Explorer)에서만 실행할 수 있어서 아이폰 같은 다른 플랫폼의 모바일 장치에서는 사용할 수 없다는 문제가 있다.플래시는 이런 부분에서 비교적 자유로운 편이다. 플래시는 현재 윈도, 리눅스, 맥OSX에서 모두 실행되며, 이들 운영체제에서 실행되는 브라우저를 모두 지원하고 있다. 우리가 리눅스에서 실행되는 파이어폭스나, 윈도에서 실행되는 인터넷 익스플로러에서 유투브를 통해 동일한 동영상을 볼 수 있는 것도 바로 그 때문이다. 플래시는 앞에서도 말했듯 아이폰을 제외한 대부분의 모바일 운영체제에서도 사용할 수 있다. 플래시가 실행되는 환경이라면 모두 동일한 형태의 웹을 볼 수 있는 것이다.그러나 플래시는 많은 비판을 받아왔다. 대표적으로 플래시는 오픈소스가 아닌 독점 플랫폼이기 때문에 해당 기술이 어도비라는 하나의 기업에 의해 좌지우지 될 수 있다는 점이 문제로 지적되었다. 또한 잡스도 지적했듯이 모바일 기기에서 실행하기에 적합하지 않은 성능(Performance)과 취약한 보안 문제도 지적되었다.그렇기 때문에 되도록 웹에서 이러한 독점적인 플래시 같은 플러그인의 사용을 줄이고, 브라우저 자체에서 기존에 플래시 등이 하던 역할을 하도록 새롭게 제안된 표준이 바로 HTML5이다. 과거와 달리 PC의 자원이 이미 충분해진 상황이고, 플래시 같은 플러그인을 사용하지 않고 브라우저 자체에서 동영상을 재생할 정도로 브라우저 기술도 발달해 있는 상황인 것이다. HTML5가 제시하는 방향에 많은 사람들이 공감하고 있고, 현재 파이어폭스(Firefox), 사파리(Safari), 크롬(Google Chrome) 같은 대표적인 브라우저들은 HTML5를 지원하고 있다. 그래서인지 애플의 플래시 비난은 생각보다 많은 사람들의 지지를 이끌어냈다. 일각에서는 “애플이 웹 표준을 견인하고 있다”라고 하기도 하였다.
HTML5의 진실
그런데 여기에서 애플의 논리에 휘말려서 자칫 착각할 수 있는 부분이 있다. HTML5는 플래시와 동일 선상에서 비교 가능한가? 플래시는 운영체제에서 실제로 실행되는 플러그인 형태의 애플리케이션(Application)이다. 그렇지만 HTML5는 기술 표준으로 “이렇게 해야한다”라고 하는 규약에 불과하다. 이것을 실제로 구현하는 것은 바로 브라우저에 달려있다.모든 브라우저가 HTML 기술 표준을 모두 동일하게 구현하면 좋겠지만 불행히도 그렇지 않다. 수 없이 많은 비표준을 양산해냈던 인터넷 익스플로러와 넷스케이스의 전쟁으로 거슬러가지 않더라도, 브라우저는 차별화를 위해, 속도 향상을 위해 HTML을 동일한 방식으로 구현하고 있지 않다. 물론 결과물은 최대한 표준에 가깝게 구현하도록 노력하겠지만 사실 많은 부분에서 차이가 있다.이것은 HTML5에도 비슷한 양상을 보이고 있다. HTML5에서는 브라우저 자체에서 동영상을 재생할 때는