15년 전에 필자가 자바스크립트 관련 도서를 처음 집필할 때는 책에 넣을 내용을 찾느라 바빴습니다. 그런데 본서를 집필할 즈음에는 수많은 소재 가운데 어떤 것을 선별해서 넣을지 고민해야 하는 상황으로 바뀌었습니다. 최근 몇 년 간 자바스크립트의 놀라운 성장세를 지켜 본 필자로서는 대체 이 언어가 얼마만큼 더 클 것인지 몹시 궁금합니다. 개인적으로 프로그래밍 언어나 개발 도구로서 자바스크립트만큼 유용한 것도 없다고 생각합니다. 이보다 더 널리 사용되는 언어는 HTML뿐입니다.
이 책은 자바스크립트를 가볍게 접해 보았으나 이제는 새로운 기술을 사용해 보고 싶은 분들, 혹은 자바스크립트의 기본기와 응용 능력을 동시에 키우고 싶은 분들을 대상으로 했습니다. 이 책에서 다룰 내용을 정리하면 다음과 같습니다.
● String, Array, Number, Math 등과 같은 자바스크립트 객체를 다루는 방법
● 재사용 가능한 객체를 생성하는 방법
● 문서 객체 모델(Document Object Mode, DOM)에서 새로운 객체를 만들거나 질의하는 방법
● 효율적이고 정확한 질의를 위해 새로운 선택자(Selector) API를 사용하는 방법
● 자바스크립트를 통해 새로운 미디어 요소인 video, audio 등과 같은 HTML5 기술을 다루는 방법
● 인터랙티브한 애플리케이션 제작
● 웹 페이지 공간 관리
● 단순한 것부터 복잡한 것까지 다양한 방법으로 데이터 저장하기
● 자바스크립트로 확장 가능한 벡터 그래픽(Scalable Vector Graphics, SVG)과 canvas 요소를 다루는 방법
● 라이브러리를 사용하고 배포하는 방법
● 접근성 있는 리치 인터넷 애플리케이션(Accessible Rich Internet Applications, ARIA)을 사용하여 자바스크립트 애플리케이션의 접근성을 보장하는 방법
● 전형적인 데스크톱 브라우저를 벗어나 모바일 폰 웹 애플리케이션이나 포토샵 확장 기능과 같은 환경에서 작업하기
● jQuery 플러그인을 만들고 사용하는 방법
● Ajax 애플리케이션 개발
● 웹 브라우저의 디버거를 사용한 자바스크립트 애플리케이션 디버깅
● 새로운 HTML5 드래그 앤 드롭 다루기
● HTML5 크로스 문서 기술을 사용한 통신
● Web Worker를 사용한 동시성 프로그래밍(concurrent programming) 구현
● 클라이언트측 자바스크립트에서 File API를 사용해서 데스크톱 파일에 직접 접근하는 방법
이 목록이 자바스크립트의 전부를 포함하고 있지는 않습니다. 책 한 권에 한 언어의 전부를 담기란 어려운 일이기 때문입니다. 하지만 이 책의 마지막 페이지를 덮을 즈음에는 독자 여러분이 자바스크립트로 무엇이든 할 수 있다는 느낌을 받을 수 있었으면 하는 바람입니다.
자, 그럼 시작해 볼까요!