웹표준 웹표준을 바라보는 세가지 관점이 있다.
우선 브라우저. 만약 W3C의 스팩이 브라우저가 어떻게 랜더링해야 하는가를 완벽하게 정의하고 있고, 브라우저는 그 표준에 맞게 웹문서를 표현하고 있다면, 코딩이야 어떻게 했더라도 웹사이트의 모양새가 동일해야 한다. 안타깝게도 현실은 그렇지 않다. 크로스플랫폼의 문제는 개발자의 탓이라기 보다 W3C와 MS, 모질라와 같은 플랫폼 담당자에게 원천적인 책임이 있다. 이 경우 개발자는 웹표준을 무시한 것이 아니라, 크로스브라우징을 고려하지 않았다는 표현이 더 정확하고, 브라우저간의 이 미묘한 차이를 보정하기 위해서 오늘도 야근 중일 개발자들에게는 비난보다는 연민이 필요하다.
그 다음은 코딩. 시멘틱 웹이라는 말이있다. 시멘틱은 우리말로 '의미론적'이라는 뜻이다. 다시말해, 의미론적으로 올바른 웹사이트를 만들자는 취지이다. 테이블 대신에 레이아웃은 div로 목록은 li로 만들자는 것이다. 웹페이지는 세가지 구성요소를 가지고 있다. 컨텐츠와 컨텐츠의 성격을 정의하는 메타데이터, 컨텐츠의 모양새를 정의하는 스타일이다. HTML은 메타데이터, CSS은 스타일에 해당한다. 이렇게 메타데이터와 스타일을 구분하는 이유는 무엇보다도, HTML을 해석가능한 데이터로 만들기 위해서다. 이렇게 되면, 인간 뿐 아니라, 기계도 문서를 이해할 수 있게 된다. 예를들어 문서내에 중요한 정보를 강조할 때 헤드라인(h1~6)를 쓸 수도 있고, <span sytle="font-weight:bold;font-size:24px">을 이용할 수도 있다. 어느 편이 건 인간은 그 의미를 이해할 수 있다. 하지만, 기계는 가시광선으로 사리를 분별하는 것이 아니라, 메타데이터를 통해 파악한다. 이 경우 헤드라인을 사용하면 <h1>으로 묶인 부분은 제목이고, 다른 부분보다 중요한 정보로 이해된다. 특히, 검색엔진에게 이 정보는 중요하다. 또, 시각장애인들이 컴퓨터를 이용할 때 사용하는 장치도 시멘틱웹의 도움을 받을 수 있다. 이를테면 헤드라인으로 명기된 부분을 읽어줄 때 한박자 쉬면서 좀 더 크게 읽어줄 수 있다. 그런 점에서 웹표준을 준수한다는 것은 개발자가 할 수 있는 최상의 휴머니즘 중의 하나다. 개발자들이 분발해야 할 부분이다.
마지막으로 ActiveX. ActiveX의 무분별한 사용은 사이트 접근성을 저하시킨다. ActiveX를 사용할 수 없는 시스템에서는 웹사이트를 이용할 수 없기 때문이다. 특히, 핵심 UI나 아이템이 ActiveX라면 비난받아 마땅하다. 하지만, 문제는 좀 복잡하다. 지금의 HTML로는 변화하는 시대를 수용하는데 한계가 있기 때문이다. 이것은 표준이 가진 일반적인 딜레마인데, 표준은 기본적으로 기술의 질서정연한 발전을 지향하지만, 과도한 질서는 혁신의 장애가 될 수도 있다. 예를들어, 소리나, 동영상을 재생한다거나, 실험적이고 진보적인 UI를 제공하려고 할 때는 아무래도 플러그인(ActiveX와 같은)이 필요하다. 결국 논리적으로는 모순되는 결론에 도달하게 되는데, 개발자 입장에서는 무비판적인 플러그인의 사용을 자제해야 할 것이고, 플러그인의 입장에서는 크로스플랫폼을 지원하는데 최선을 다해야 할 것이다.
ie8이 나왔다. 여기저기서 탄식이 흘러나온다. 호환성에 대한 짜증 때문이다. 또 한편에서는 MS를 조롱한다. 지지부진한 웹표준의 채택 때문이다. 이것이 MS의 초라한 현실이다. 이것은 스스로 자초한 것이다. MS는 네스케이프가 사라지자 ie6을 끝으로 브라우저 팀을 해체한다. 무료 소프트웨어인 ie를 더 이상 개발할 이유가 없어진 것이다. 독점의 추한 생얼이 드러나는 순간이었다. 그러다 파이어폭스가 등장하면서 모든 것이 달라졌다. 파이어폭스는 폭발적인 인기를 얻었다. 부라부라 MS는 팀을 재조직하고 ie7을 내놓는다. 얼마전에는 구글이 세상에서 가장 빠른 크롬을 발표했고, 다시 애플은 그 보다 더 빠른 사파리 4를 출시했다. 그리고 ie8까지 숨가쁜 브라우저 대전이 다시 시작됐다. 이것은 흡사 90년대 중반 네스케이프와 MS의 각박한 브라우저 전쟁의 데자뷰 같지만 질적으로 다르다. 그 중심에 웹표준이 있기 때문이다. 웹표준은 MS와 네스케이프 간의 브라워저 전쟁의 후유증으로 시작된 운동이다. 신기술의 난립은 개발자들의 분노를 자아냈고, 웹표준이라는 형태의 운동으로 발전해서 W3C와 브라우저 벤더들, 그리고 웹에디터 개발사에 뚜렸한 영향을 미쳤다. 그 소중한 결실을 보고 있는 것이다. 모든 브라우저가 웹표준을 준수한다면 개발자들은 크로스브라우징 때문에 개고생을 하지 않아도 되고, 이용자들은 마음에 드는 브라우저로 갈아타면 된다. 경쟁은 다시 시작되고, 그 결과는 우리 모두가 공유하게 된다.
사족. 웹표준이 논쟁적인 사안이 된 것은 브라우저 전쟁의 후유증과 이에 대한 반성을 모태로 하고 있기 때문일지도 모르겠다. 흡사 반전운동의 성격도 느껴진다. 말 자체도 문제다. 나 역시 이 글에서 웹표준을 다양한 용도로 혼용하고 있다. 그것은 크로스브라우징을 말할 때도 있고, 시멘텍 웹을 이야기할 때도 있으며, W3C의 스팩의 말할 때도 있다. 그것의 역사를 말할 때는 일련의 운동(movement)로도 언급된다. 어떤 이들은 웹표준과 웹2.0을 혼동할 때도 있고, 웹2.0에 대해서 아냐고 물어보면 div를 이야기 할 때도 있다. 언어적인 모호성은 서로 다른 곳을 바라보게 한다. 아쉬운 부분이고 이해는 하지만, 좀 릴렉스 했으면 좋겠다. 각박하고, 조급하게 다툴일은 아닌 것 같다.
+
web 2.0 2009/03/23 14:52