초등학교 3학년인 아들의 담임 선생님을 만났다. 수많은 문제집을 풀게 했는데도 아들의 수학 점수는 엄마 성에 찰 만큼 오르지는 않더라는 이야기가 나왔다. 이때 한줄기 빛 같은 선생님의 말씀. "여러 문제집 보게 할 필요 없어요. 교과서 단원평가만 다 풀 수 있으면 충분해요."
웹과 관련된 일을 하고 사는 사람들에게 웹 표준은 더 이상 새로운 유행이 아니다. 웹 표준을 준수한 문서 제작이 어느덧 주류로 자리를 잡아가고 있고, 수많은 전문가들이 속속 출현하고 있다. 구조와 표현, 동작을 분리하라는 얘기 역시 낯설지 않다.
HTML/CSS에 대한 이해도가 높아지면서 지난 3년간 구조와 표현에 있어서는 괄목할만한 변화가 있었다. 윈도우용 IE가 아닌 다른 브라우저로 문제없이 볼 수 있는 사이트가 계속 늘고 있는 걸 모두 체감하고 있을 것이다. 반면 동작을 맡는 자바스크립트 호환성 현황은 상대적으로 미약한 현실이다. 이처럼 동작면에서도 호환성을 유지하는 웹 표준 사이트 제작을 하고 싶으나 어떻게 시작해야 할지 알려주는 적당한 가이드가 없는 상태에서 접한 『다이내믹한 웹 표준 사이트를 위한 DOM 스크립트』 출간 소식은 그래서 더없이 반가웠다.
그동안 출간된 수많은 자바스크립트 책 가운에 이 책이 눈에 띈 이유가 뭘까 한번 생각해보자. 자바스크립트 책이라면 천편일률적으로 자바스크립트에 대한 일반적인 소개와 문법, 그리고 너무나 단순한 이용법에 대한 설명, 지면을 채우는 게 목적이 아니었을까 싶은 예제코드 분량 등을 연상하는 게 어렵지 않다. 이 책은 HTML과 CSS 레퍼런스가 아닌 바로 본론으로 직행해서 그 책을 끝내고 난 뒤 더 깊이 파고 들어갈 수 있게 만들었던 『실용예제로 배우는 웹 표준』과 느낌이 매우 유사하다. 출간에 즈음한 상황도 두 책이 엇비슷하다. 『실용예제로 배우는 웹 표준: 자바스크립트편』이라고 하면 이 책을 처음 접하는 분들께 적절한 비유가 될 수 있을 것이다.
음악, 동영상 등 인터넷 멀티미디어 컨텐트와 실버라이트, AIR 같은 풍부한 사용자 경험을 제공하는 인터넷 애플리케이션이 뜬다는데 혹시 우리는 웹 표준과 웹 표준을 준수하는 자바스크립트에 너무 연연하고 있는 건 아닐까?
새로 등장하는 인터넷 애플리케이션 개발 플랫폼이 자바스크립트를 중심으로 발전하고 있는 건 자바스크립트의 중흥기가 이미 다가왔음을 말해주고 있다. 위젯/가젯 개발을 비롯해서, 이 추천글을 쓰고 있는 시점에서 폭발적인 관심을 받고 있는 애플 아이폰의 경우에도, 네이티브한 SDK를 제공하는 대신 Ajax 애플리케이션을 기반 플랫폼으로 삼고 있고 이런 경향은 앞으로 더더욱 가속화될 전망이다.
화려하고 정교한 리치 인터넷 애플리케이션을 만들고 싶어 안달이 나있는 우리에게 지금 당장 필요한 것은 웹브라우저 소스보기 기능이나 두꺼운 Ajax 책 컬렉션이 아니다. 초등학교 3학년 수학시험을 잘 보기 위해선 화려한 문제집보다는 교과서 내용을 철저히 이해해야 한다. 이제는 더 이상, 누구나 볼 수 있는 스크립트 소스를 들여다보고 붙여넣기하면서 시간을 보내지는 말자. 핵심 내용에 대한 이해를 기반으로 내가 만드는 코드의 즐거움을 누리고 싶어하는 사람들에게 이 책을 추천한다.
박수만 / 더블트랙(doubletrack.net) 대표이사
에이콘 웹 프로페셔널 시리즈 에디터
http://me2day.net
부엌칼은 잘 사용하면 요리를 할 수 있는 도구가 되지만 잘못 사용하면 사람에게 해를 끼치는 흉기가 될 수도 있습니다. 모든 도구는 용도가 있고 사람은 그 도구를 그 용도에 맞게 잘 사용해야 합니다. 자바스크립트의 경우도 마찬가지입니다. 잘 사용한 자바스크립트는 사용자의 편의를 도모하고 풍부한 사용자 경험을 전달하지만 잘못 사용한 자바스크립트는 낮은 사용성과 접근성의 제약을 불러오게 됩니다.
오히려 자바스크립트가 별로 사용되지 않은 예전 사이트들이 브라우저 호환성이나 접근성면에서 더 탁월한 것을 보면 그동안 우리가 자바스크립트의 올바른 사용을 얼마나 간과했었나 하는 생각을 하게 됩니다. 자바스크립트의 다이내믹하고 신선한 재미만을 추구해 온 나머지, 과유불급이라는 말로 표현할 수밖에 없는 지나친 상황을 많이 보게 됩니다. 올바른 자바스크립트, 사용자를 존중하고 과하지 않고 주어진 역할만을 훌륭하게 잘 해내는 자바스크립트 코드를 만들기 위해 무엇을 개선해야 하는지 이젠 한번쯤 고민해 볼 필요가 있습니다.
『다이내믹한 웹 표준 사이트를 위한 DOM 스크립트』는 이러한 고민을 훌륭하게 해결해 줄 것입니다. 웹 표준을 기본으로 한 문서에 세련되게 자바스크립트를 적용해 두 마리 토끼를 잡는 방법을 알려줄 것입니다. 용어만 들어서는 잘 이해가 가지 않는 자바스크립트 분리를 통한 단계적 기능 축소(Graceful degradation)나 단계적으로 기능을 향상 적용(Progressive enhancement)하는 방법을 아주 쉽고 친절하게 설명해 주고 있습니다. 단계별로 나와 있는 풍부한 예제들과 설명은 올바른 자바스크립트에 대한 이해를 높이고 올바른 사용에 대한 확신을 심어줄 것입니다.
신현석 / (주)시도우 웹표준화 추진팀 팀장
http://hyeonseok.com
웹 2.0, Ajax라는 유행과 더불어 자바스크립트는 그 어느 때보다 뜨거운 사랑을 받고 있습니다. 웹 개발자들은 흔히 '자바스크립트는 너무 쉽다'는 말들을 합니다. 하지만 그럴 때마다 저는 '제대로 쓰는 것은 어렵다'고 대꾸합니다. 이는 자바스크립트 프로그래밍의 어려움을 말하려는 게 아니라 해당 언어의 오남용을 지적하고자 하는 바람 때문입니다. 그런 의미에서 DOM 스크립트를 배운다는 사실은 매우 중요합니다.
『다이내믹한 웹 표준 사이트를 위한 DOM 스크립트』는 그동안 잘못 사용해온 자바스크립트를 정말 제대로 쓸 수 있게 만들 교과서 같은 책이며, 웹의 기본으로 돌아갈 수 있는 길을 제시할 것입니다. 웹 문서의 구조인 DOM과 자바스크립트의 기본을 이해함으로써 표현과 동작을 분리하고 개발하기 편한 방법들을 사용할 수 있습니다. 또한 특정 브라우저에 종속적이지 않고 어떤 사용자라도 환영할 수 있는 환경을 제공할 수 있습니다.
웹은 특정인을, 특정 회사를 위한 것이 아닙니다. 그곳은 모두가 지식을 공유하고 생활을 향유할 수 있는 우리 삶의 터전입니다. 이제 이 책을 통해 그동안 '어쩔 수 없어서…'라는 궁색한 변명을 버릴 수 있다고 믿습니다. 그래야만 우리가 꿈꾸는 새로운 세상을 만날 수 있기 때문입니다.
양주일 / NHN UI Technology Lab. 랩장
http://blo9.com