애드센스세로

Google 광고

구글애널리틱스


애드센스가로


Canvas+AJAX+ECMAScript

최근 각광을 받고 있는 스크립트 기반의 브라우저 기술 삼총사이다. ActiveX 동작 방법 변경이라는 돌발 변수가 나온 지금 대안으로서 논의되고 있기도 하다. 아마 앞으로는 OpenGL에 가까운 API를 제공해서 3D 그래픽까지 완전히 지원하게 되면 3D 네트워크 게임을 브라우저 기반으로 제공하는 것도 꿈만은 아니다. (사실 브라우저로서 이는 기술적으로는 어려운 일은 아니다. 브라우저에서 OpenGL을 감싸는 랩퍼를 ECMAScript로 노출하기만 하면 되기때문에... 실제로 Internet Explorer만 해도 DirectX에 있는 효과들을 브라우저 내에서 사용할 수 있도록 되어 있다.)

하지만 과연 이 선택이 또 다른 ActiveX를 만드는게 아닐까? 사실 ActiveX도 처음에는 눈에 띄는 효과를 보여준 멋진 기술이었지만 시간이 지나면서 골치덩어리로 전락하지 않았는가? 과연 Canvas+AJAX+ECMAScript는 단지 눈에 띄는 효과로 사람들을 현혹하고 있지는 않을까? HTML에 <B>, <I> 같은 Presentation Element를 추가한 것만으로도 HTML의 Semantic한 특성들을 망쳤다고 생각하는 웹브라우저 전쟁시대의 개발자들의 경험에 비추어 거의 완전한 절차적 프로그래밍 언어로 변화해 가는 웹을 나중에 후회하지 않을 수 있을까?

상상해보자. 화려한 효과를 보여준다는 이유로 대다수의 페이지가 Canvas+AJAX+ECMAScript로 이루어졌다고 하자. 아마 HTML 코드라고는 <canvas> 태그 하나만 남을지도 모른다. 아마 사용자들은 "우와 이런 것도 가능해?" 하면서 신기해 할지는 모른다. 마치 처음 ActiveX를 봤을때 처럼... 하지만 검색은 어떻게 할 것인가? Accessibility는? 미래에는 Vision 인식이 발전해서 웹의 모양을 보고 인식하기를 바라는가? 아니면 페이지가 검색되기만을 바라는 웹 페이지들이 meta 태그를 꼬박꼬박 정직하게 작성하기를 바라는가?

Canvas, AJAX는 분명 화려한 효과를 구현하는 Fast Way임에는 분명하다. 하지만 이게 표준이라고 모든 문제가 사라지지는 않을 것이다. (사실 표준이라기 보다는 몇몇 브라우저 벤더가 만든 단체에서 뚝딱뚝딱 했다고 볼 수 있다... 자격 요건 조차 브라우저를 제작하지 않는 회사는 배제하고서... 웹을 소비하는 프로그램은 브라우저만이 아니다...) 브라우저 제조사로서는 새로운 모델을 실험하는 굉장히 유용한 도구이지만 이를 실제 콘텐트에 적용하는데에는 분명 조심을 기울여야 한다. 또다른 ActiveX를 만들고 있지는 않은지...

http://channy.creation.net/blog/?p=208
http://beyondweb.egloos.com/852391

덧글

  • 세라비 2005/12/15 04:44 # 삭제 답글

    ActiveX의 가장 큰 문제는 그것이 presentation이라는 점에 있기보다는, presentation을 넘어서는 기능을 가질 수 있다는 점때문이라고 생각합니다. malicious/buggy한 code의 "가능성" 말이죠.

    말씀하신대로 accessibility 문제를 무시할 수도 없지만, 그렇다고 기술의 발전이 accessibility를 보존하는 형태로 발전할 것 같지는 않습니다. 마치 현재의 데스크탑 어플리케이션들이 그런 것들을 신경안쓰는 것처럼요.
  • 달삼 2005/12/15 09:36 # 답글

    그렇지 않습니다. 데스크탑의 경우에는 Accessibility를 보장할 수 있는 API들이 충분히 제공됩니다. 윈도우의 경우에는 Active Accessiblity라는 것을 제공하죠. 현재 웹의 AJAX나 CANVAS의 경우에는 이에 대한 논의조차 미비한 실정입니다. 바로 이러한 부분까지 어느정도 정리가 되었을때서야 콘텐트에 적용하는 것이 맞을것이라고 생각하는 것 뿐입니다.

    물론 이를 개발자가 이용하는가는 새로운 문제이긴 하죠. Active Accessiblity만 해도 개발자가 일일이 영역별로 이게 머하는 놈이고 어떤 내용인지를 알려주도록 되어 있으니까요. 바로 이런 서비스를 자동으로 제공할 수 있다는 점에서 선언형 어플이 강점을 지니는 것입니다. alt 속성만 제대로 주어도 나머지는 알아서 하니까요.
  • 달삼 2005/12/15 09:38 # 답글

    그리고 스크립트의 경우에도 malcious한 코드는 조금 나을지 몰라도 buggy한 코드를 줄이는데에는 큰 도움 안되다는 것이 제 생각입니다. 오히려 strong typed한 컴파일 언어가 버그는 더 적을 수도 있죠.
  • 클라비스 2005/12/16 10:19 # 삭제 답글

    AJAX나 CANVAS도 한계점과 문제점을 충분히 숙지하고 영역을 분리해서 적용하는 방향으로 가지 않을까 합니다. 예를 들어 워드프레스처럼 관리자페이지의 웹에디터는 AJAX를 적용하여 표현을 좀 더 넓고 편하게 할 수 있고, 결과물은 표준을 준수하고 검색엔진에서 이해하기 편한 모습으로 바꾸어 표현해주는 것이 좋을 듯합니다. 물론, 여기서 말하는 결과물이란 작성자가 보여주고 싶은 결과물에 대해서만 국한됩니다.
  • 달삼 2005/12/16 10:32 # 답글

    예.. 그런데 우리나라 웹을 보면 화면 전체를 플래시로 도배해놓은 페이지가 많듯이 이를 남용하는 것이 문제지요.
  • 클라비스 2005/12/16 15:51 # 삭제 답글

    예. 그렇죠. 남용이 문제죠.
    그래도 이래저래 고민하는 분들이 계시니 더 나아지겠죠.
    달삼님의 글에서 그런 흔적들이 많이 묻어 나와서 언제나 유익한 정보가 되고 있습니다. 감사합니다. :-)
댓글 입력 영역