2009/10/15 18:48

웹 표준과 Active X의 역사...

인터넷 익스플로러, 넷츠케이프가 경쟁하던 시절에 웹 표준은 없었다. 웹 브라우저 개발사는 신기술을 이것저것 내뱉기에 여념이 없었다. 급기야 넷츠케이프는 브라우저 상업화에 들어가 이메일에 채팅, 검색에다가 3D 등의 온갖 잡다한 기술을 총 집약한 인터넷 세트를 만들어낸다. 그러다가 시ㅋ망ㅋ하고 마이크로소프트의 인터넷 익스플로러가 승리한다. 익스는 마소를 떠나 애플의 맥 오에스까지 정ㅋ벅ㅋ한다. 이 때의 HTML은 표준 따위 지킬리가 없고, 서로 다르기 위해서 무던히도 노력했다.

서로 다르려는 노력은 급기야 완전히 독립된 웹을 만들어냈다. HTML과는 다른 마크업 언어를 쓰며, 철저히 MS의 상업 라이센스가 있는 기술을 바탕으로 한 인터넷 기반의 또 다른 웹, Microsoft Network (MSN) 이었다. 윈도 95 Plus!가 배포될 무렵에 사람들이 한 번씩 아이콘을 봤던 기억이 있었을 것이다. 저작 도구부터 채널 선정 및 전송에 열람까지 모두를 자신의 통제 안에 놓고 싶어했던 MS의 작품이었지만, 결국 완전히 망했다.

마이크로소프트가 넷츠케이프를 따라잡으면서 가장 탐을 냈던 기술이 있다. 바로 외부 프로그램을 가져와 새로운 기능을 넣는 '플러그인', 즉 '꽂아넣어'~다. MS에서도 짝퉁이 나오니, 바로 'Active X'. '활달한 거시기' 정도의 뜻이 되겠다. (둘 다 어감이 미묘하다. 야한 생각하지 마라.) 모두가 욕을 하지만 매일매일 쓰는 플래쉬가 이 플러그인과 Active X의 최강 스타가 되겠다. 이는 실행 가능한 프로그램의 배포를 편하게 해주었다.

웹 브라우저 제작은 아주 어려운 기술이다. 네트워크 전송과 외부 프로그램과의 호환, 복잡한 문서 모델과 실행 가능한 스크립트 언어, 멀티 스레드에 보안, 멀티미디어와 동적 레이아웃, 글꼴 표시 등 까지 고려해야한다. 따라서 인터넷 익스플로러 이후로 제대로 된 경쟁자가 나오기까지 오랜 시간을 벌 수 있었고, 인터넷 익스플로러는 6.0에서 완전히 성공했다 자축하며 5년 이상 메이저 업그레이드를 멈추기에 이르른다.


망한 넷츠케이프가 지네 제품을 아무나 갖다 쓰라고 버렸다. 모질라 재단에서 가져가서 대충 갖다 썼는데, 이 허접한 인터넷 세트는 시류에도 맞지 않아 역시 쓰레기통 행이었다. 몇몇 개발자가 이 쓰레기를 갖다가 완전 해체하고 브라우저만 떼어내는 작업을 시작했다. 피닉스라는 이름을 붙였다가 상표권 문제로 파이어버드, 모질라 파이어버드로 바뀌었다가 파이어폭스로 이름을 바꾼다

넷츠케이프의 잔해가 널리 퍼져 웹 브라우저 제작이 오픈소스계에 완전히 녹아들어 인터넷 익스플로러에 견줄만한 경쟁작들이 생길 양분이 되었다. 마이크로소프트의 윈도 독점적 배급권은 다른 운영체제를 내주는 꼴이 되어 토양이 되었다. 그리고 마이크로소프트가 몇년간 나태해진 시간은 경쟁작들이 충분히 자랄만한 시간을 벌어줬다. 이 수혜자로는 파이어폭스가 가장 대표적이며, 오페라와 컨커러 등의 브라우저도 득을 봤다.

후대 웹브라우저들은 인터넷 익스플로러가 군림하는 윈도에서 자라날 수 없어서 맥과 리눅스, 유닉스를 바탕으로 자라났다. 윈도에서 당연히 쓸 수 있었던 기술들을 쓸 수 없어, 모든 것들을 새로이 작성해야 했다. 인터넷 익스플로러가 기준이 되어줬으면 좋았겠지만, 익스플로러는 새로운 기술 발전을 따라가지도 못할 뿐더러 같은 회사의 제품인데도 버전에 따라 동작이 달라 웹 개발자들에게 악명이 높았다. 결국 마이너리거끼리 새로운 약속을 만들어야 했다. 이 때부터 비로로 웹 표준이 의미를 가지기 시작했다. 독점에 표준은 필요없기 때문이다.

대표적인 특징으로, 파이어폭스는 Active X를 지원하지 않는다. 파이어폭스가 웹 표준을 사랑하기 때문으로 선전이 되어있는데, 꼭 그런 것만은 아니다. 윈도와 리눅스, 맥을 포함한 다양한 환경에서 작동하기 때문이다. 파이어폭스는 Active X를 대신할 확장 기능(Extension)을 만들었고, XUL라는 운영체제 독립적인 독자 기술 위에서 구현하도록 했다. 이것 또한 웹 표준과는 거리가 있는 기술이다.


한편, 매크로미디어의 플래쉬라는 제품은 웹의 급속한 성장에 더불어 아주 빠르게 보급되었다. 우리가 보는 번쩍이는 광고와 인터넷 동영상이 대부분 바로 플래쉬를 통해서 이뤄지는 것이다. 플래쉬는 운영체제를 가리지 않고 브라우저도 가리지 않으며 Active X와 플러그인, 확장 기능 등의 거의 모든 기술을 전부 지원한다. 한 마디로 명실상부한 다중 운영체제용 실행 환경이다.

매크로미디어는 어도비에 인수되었고, 이 뒤로 더 많은 기회를 누린다. 자바스크립트 수준에 불과했던 액션스크립트에 32비트 JIT 최적화 기술이 적용되고, 그래픽 가속까지도 자유자재로 사용한다. 이러한 발전을 바탕으로 단순한 애니메이션 이상의 기능을 구현할 수 있게 됐고, 데스크탑용 응용프로그램 실행환경으로까지 발전하기 시작했다. 현재는 주로 메신저 등의 용도로 쓰이고 있지만, 앞으로는 더욱 다양한 영역에 진출할 것이다.

현재로써는 웹 표준 문제를 가장 현실적으로 해결할 수 있는 기술을 꼽자면 플래쉬가 가장 유력하다. 운영체제와 브라우저를 가리지 않으며 충분히 쓸만한 사용성과 성능을 제공한다. 물론 개발 도구가 공개되지 않은 기술을 사용하며 유료라는 문제가 있어 공개 표준으로 제정되기에는 법적인 문제가 많다.


애플은 타도 MS를 외치는 회사이다. (광고부터가 MS를 대놓고 깐다. ㅋㅋ) 애플웍스라는 오피스도 자체 제작했지만 웹 브라우저만큼은 MS에 종속되었다. 자체개발하기에 무리가 있었기 때문이다. 파이어폭스가 있었지만, 맥에서 썩 예쁘게 돌아가는 편은 아니었으며 개발자들도 리눅스와 윈도에 집중했다. 그러던 와중에 애플은 컨커러라는 오픈소스 웹 브라우저 개발팀과 협력하여 웹키트라는 엔진과 그를 바탕으로 사파리라는 새 브라우저를 만들어낸다.

웹키트는 후발주자의 장점을 십분 발휘해, 다른 웹 렌더링 엔진과는 차원이 다를 정도로 설계와 문서화가 잘 되어있다. 이런 설계를 바탕으로 애플은 웹키트를 아이폰에도 적용했다. 그리고 윈도용 아이튠즈에도 윈도로 포팅된 웹키트 엔진이 내장되어 있다. 다양한 운영체제에서 쓸 수 있는 셈이다. MS의 모바일 인터넷 익스플로러가 다른 엔진을 쓰는 것과 대조적이다.

모바일 사파리는 입력 인터페이스에 차이를 가져왔다. 좁은 화면에서 정확히 입력하기 위해 표준 위젯들을 변형했다. 그 밖에도 현재 화면의 방향, 탭, GPS, 전화 등의 정보와 기능을 활용한다. 이러한 차이점은 앞으로 더 많은 단말기가 나올 수록 더 커질 것이다. 데스크탑에서 논하던 웹 표준은 점차 의미가 달라질 것이다.


구글도 웹키트에 승차하여 크롬이라는 브라우저를 만들어낸다. 크롬은 멀티프로세서 기술과 실시간 최적화 자바스크립트 엔진을 쓰는 데에다, 렌더링 결과물이 상당히 인터넷 익스플로러와 비슷하여 사용자들 사이에 빠르게 퍼져나간다. 특히, 안드로이드라는 핸드폰에 기본 브라우저로 채택했고, 앞으로 나올 크롬 OS는 이 기술을 바탕으로 할 것이라고 한다.

구글은 한국 사용자들을 위해 Active X 기술을 지원하기로 말했으며, 구글 크롬의 특정 버전은 Active X 컨테이너를 지원한다. 크롬은 현재 윈도에서만 작동하기에 가능한 일이다. 웹키트와 Active X의 만남은 티맥스소프트의 스카우터라는 브라우저에서도 선보인 기능이며, 앞으로 응용 프로그램 실행 외에 더 복잡한 기능들을 지원할 것으로 보인다.


구글은 운영체제나 기계를 만들어 파는 회사가 아니다. MS나 애플과는 완전히 다른 이익 관점을 가지고 있어, 모든 환경에서 접근 가능한 기술을 선호한다. 자바스크립트라는 실행 환경이 있었지만, 그 성능이 떨어져서 많은 말썽을 일으키곤 했다. 구글이 그런 자바스크립트를 정말 '엽기적'으로 끼어맞추어 다양한 최신 기술을 보인 것이 AJAX이다. AJAX를 꽃피우기 위해서 구글은 새로운 자바스크립트 실행 환경이 필요했고, V8 엔진을 만들어 구글 크롬에 탑재한다.

V8는 그 때까지의 상식을 완전히 깼다. 자바스크립트는 단순한 애니메이션이나 검사 정도를 위한 실행 환경이었지만, 이를 적극적으로 활용하여 본격적인 애플리케이션을 돌릴 정도의 성능으로 만들었다. 덕분에 구글의 메일과 오피스 등은 크롬에서 아주 빠르게 작동한다. 파이어폭스의 모질라 재단과 사파리도 이러한 자바스크립트 최적화 대열에 동참했고, 조만간 그 결과물이 보급될 예정이다.


웹은 더 이상 페이지를 보여주는 것만이 전부가 아니다. 멀티미디어나 고급 확장 기능을 위해서 쓰는 방식은 여전히 웹 브라우저마다 제각기 다르며, 이를 단일화할 방향은 거의 보이지 않는다. Active X와 플러그인, 확장 기능등의 형태로 제공되는 플래쉬가 바로 그 증거다. 그리고 그 누구도 쉽게 해결할 수 없는 문제이기도 하다.

보안, 결제 분야에 국한해서 말한다고 해도 현재 나와있는 상용 기술 들 중에서 하나를 택하여 구현하는 것을 비난할 수는 없다고 본다.

트랙백

이 글과 관련된 글 쓰기 (트랙백 보내기)
TrackbackURL : http://link.egloos.com/tb/4255767 [도움말]

핑백

덧글

  • 최종욱 2009/10/15 18:55 # 답글

    ... 역시 시험기간이 다가오니까 잡설이 술술 나오는군요. 인문대를 갔어야 하는데... ㅋㅋㅋ
  • joogunking 2009/10/16 16:51 # 삭제 답글

    와우.어쩜 저렇게 딱딱한 내용을 쉽고 재미있게 쓰실수 있나요?
    쉴새없이 한순간에 다 읽었습니다.^^. 감사합니다.
  • 최종욱 2009/10/16 21:48 #

    ㅎㅎ 제가 쓸데없이 많이 잡설하는 편이라... 재미있게 읽으셨다니 기쁩니다!
  • infiniti 2009/10/19 11:42 # 삭제 답글

    꽤 긴 내용의 글인데도, 금방 읽게 되는군요. 정말 재미있게 잘 읽었습니다.
  • 2009/10/30 18:04 # 답글

    비공개 덧글입니다.
  • 최종욱 2009/11/08 11:28 #

    헛... 너무 늦게 읽었습니다. 해도 괜찮습니다만, 정확한 내용은 아닙니다 :-)
덧글 입력 영역