jQuery를 공부하면서 Node로 빠져 잠시 외도를 하다 다시금 HTML5로 돌아왔다. 


HTML5에 대한 시작이 늦어진 것은 현재의 내 수준에서 가장 적합한 책이 어떤 것인지 도저히 가늠할 수 없어서였다. 물론 반드시 책으로 공부해야만 하는 것은 아니다. 하지만 검색어만 쳐도 수두룩하게 나오는 관련 정보의 양이 너무 많고 또 그것들이 각각의 주제별로 단편화되어 있을 때는 검색엔진의 결과속에서 허우적대기보다는 그냥 몇 권의 책을 정해놓고 끝까지 독파하는 것이 시간을 아낄 수 있는 가장 효율적인 방법이라고 생각하기 때문에 최근에는 궁금한게 있으면 우선 관련 도서부터 찾게 된다. 


어쨋든 그래서 시작이 늦어졌는데 그것은 '과연 HTML5가 무엇인가'라는 질문에 확실히 대답할 수 없기 때문이었다. 머 Geolocation도 있고 Canvas도 있고 local storage도 있고 여러 새로운 개념이 있다고 하는데 이것들을 뭉뚱그려 그냥 HTML5로 부르자는 것인지, 아니면 어떤 정신(가령 웹 2.0이 나오면서 회자되었던 '공유와 참여'와 같은 그런)을 가지고 구현하는 서비스에 필요한 기술적 규약을 얘기하는 것인지 쉽게 알 수가 없었다. 


HTML5를 공부하는데 그런 정의가 머 그렇게 중요하냐고 얘기할 수도 있겠지만 적어도 어떤 관점에서 HTML5를 바라보고 또 접근해야 하는지를 알아야 보다 가치있는 서비스가 나오지 않을까 하는 생각을 하다보니 쉽게 고를 수가 없었던 것이다. 


머 어쨌든 결과적으로 그런 고민끝에 선택한 책은 'Head First HTML 5'이다. 아쉽게도 아직 국내 번역판이 없어서 그냥 원서로 봐야한다. 

 

 


 

이론과 실제의 적절한 균형


영어로 쓰여진 원서를 봐야 했지만 크게 어려운 점은 없다. 오히려 난해하게 쓰여진 다른 번역서나 국내의 일부 책들보다 HTML5가 가진 주요 특징들의 개념적 이해를 돕는데 꽤 친절한 편이고 또 새로운 개념을 이해하는데 도움이 되는 꽤 적절한 예제를 섞어 제시함으로써 이론과 실전의 양쪽 균형을 적절히 맞추었다고 생각한다. 


총 열 개의 챕터로 구성되어 있는데 스토리지나 웹워커, 웹서비스 구현 등 내가 관심있는 부분부터 우선 보다보니 반대로 책을 뒤에서부터 앞으로 보게 되었다. 물론 첫 장부터 마지막 장까지 순서대로 진행하는 것이 가장 좋게끔 구성이 되어있지만 관심분야를 기술한 챕터부터 선별적으로 본다고 해도 아무런 문제가 없다. 



도식적 설명으로 충분한 개념이해에 도움


전반부 4장까지는 HTML5의 기본이 되는 자바스크립트에 대한 얘기들을 하고 있다. 자바스크립트에 이미 충분한 경험이 있다면 넘어가도 큰 문제는 없겠지만 여태까지 당연히 그렇게 알고 관습적으로 코딩해왔던 부분들에 대해 개념적으로 짚어주는 부분들이 많기 때문에 한번 쯤은 체크하고 넘어갈 것을 추천한다. 반대로 경험이 부족한 개발자라면 개념에 대해 확실히 이해할 수 있도록 도움을 주니 잘 파악해 둘 필요가 있겠다. 


5장부터 10장까지는 지오로케이션이나 JSON 기반의 웹서비스 구현, 웹스토리지와 웹 워커 등 HTML5의 새로운 개념들에 대한 내용들을 각 주제별로 한 챕터에서 두 챕터로 나누어 다루고 있다. 개인적으로는 웹서비스에 대해 다룬 6장의 내용이 좋았는데 후반부는 각 주제별 구성이므로 관심있는 부분부터 보면서 진행해도 무리가 없다. 


많은 챕터에서 도식화된 그림을 제시함으로써 개념적인 이해를 돕고 있는것은 이 책의 큰 장점 중 하나라고 할 수 있다. 단순히 예제 소스코드를 나열하고 또 그 코드를 실행한 결과만을 스크린샷으로 보여주던 것이 기존 개발서적의 일반적인 설명 패턴이었다면 이 책은 데이터의 흐름이나 처리 프로세스 등을 도식화하여 그림으로 제공함으로써 개념적인 부분을 쉽게 이해할 수 있도록 도와준다. 



왜 HTML5이어야 하는가에 대한 책


아직 HTML5가 머냐는 물음에 확실한 대답은 못하겠다. 교과서적으로 얘기한다면 이 책의 후반부에서 다루고 있는 이런저런 새로운 기능들로 구현한 서비스 또는 그 서비스를 구현하는 기술(?) 정도로 얘기할 수 있을 지 모르겠지만 적어도 이 책을 통해서는 그런 기술적 정의보다는 왜 HTML5이어야 했는지에 대한 'Why와 How'에 대한 답을 얻을 수 는 있을 것 같다. 


Posted by 라스모르
,