저는 컴퓨터공학을 전공하고 개발자가 아닌 웹 기획자로 일을 해왔습니다. 주로 기능이 많이 들어간 사이트를 만들면서 어떻게 하면 효율적인 개발을 위한 정보 설계를 할 수 있는지, 어떻게 하면 좋은 사용자 경험을 제공할 수 있는 인터랙션 디자인을 만들어낼 수 있는지를 고민합니다. 이런 맥락에서 기존에 번역했던 웹 표준 HTML과 CSS 책에 이어, 이번에는 HTML5라는 매력적인 기술 전반을 다루는 책의 번역 작업을 맡았습니다.
이 책은 HTML5의 전반적인 내용을 소개 형식으로 다루는 책입니다. 책 안의 예제에는 HTML5 API를 다루는 자바스크립트 코드들이 들어가 있지만 자세한 코드를 보지 않더라도 HTML5를 활용해 어떤 기능을 만들 수 있는지 훑어볼 수 있습니다. 개발자뿐만 아니라 기획자, 디자이너 모두가 앞으로 다가올 웹 환경에 미리 대비하기 위해 꼭 한 번은 읽어봐야 하는 책이라고 생각합니다.
의미가 잘 드러나는 정보 구조를 만들려면 기획자들은 웹 표준 HTML을 반드시 이해해야 한다고 생각합니다. 기존 HTML 버전들은 표현을 위한 부분까지도 어느 정도 포함하고 있었기에 표현을 중심으로 부가 요소처럼 의미를 살릴 수 있는 구조를 고민했었습니다. 하지만 이제 HTML5에서 새롭게 도입된 문서 구조(outline) 개념을 통해 의미에 맞는 정보 구조를 우선 생각할 수 있고 생각해야 하는 시기가 왔습니다. 이런 내용은 이 책의 1장과 2장에서 주로 다룹니다.
과거에는 "이 사이트는 ㅇㅇ브라우저에 최적화돼 있습니다" 같은 메시지만 추가해도 괜찮을 정도로 사이트를 느슨하게 만들던 시기가 있었습니다. 하지만 이제는 다양한 브라우저를 사용하고, 컴퓨터가 아닌 모바일 환경을 통해 웹에 접근하는 경우도 흔하므로, 디자인을 할 때도 여러 가지 환경을 고민해야 합니다. 대상 브라우저가 많지 않던 시기에는 입력 폼 등을 모두 원하는 대로 디자인해도 UI 개발에서 처리할 수 있었지만 앞으로 HTML5를 도입하면서는 이제 더 이상 모든 브라우저에서 동일한 모양으로 보여야 한다는 생각에 변화가 생길 것입니다. 표현 관점에서 1장과 2장의 내용은 기존과 같이 CSS를 사용하므로 큰 변화는 없습니다. HTML5를 사용해 어떤 표현을 할 수 있고, 해야 하는지는 3장과 4장, 5장에서 다룹니다.
개발자 관점에서 이 책은 어쩌면 매우 상세한 내용을 다루지 않는다고 볼지도 모릅니다. 하지만 주요 API가 어떤 원리로 작동하는지 어떤 개념으로 프로세스를 구성해야 하는지를 책 전반의 예제에서 익힐 수 있습니다. 구축을 위한 자세한 내용을 위해서는 수백 페이지나 되는 스펙 문서가 준비돼 있으니 굳이 이 책에서 전부를 다루지는 않습니다. 이 책을 통해 어떤 식으로 기존과는 다른 개념으로 웹 개발에 접근해야 하는지를 아주 가벼운 마음으로 알아가는 것이 더욱 중요하다고 생각합니다. 특히 6장, 7장, 10장의 내용은 기존과 매우 다른 방법으로 웹을 구성하는 개념이라는 점에서 찬찬히 살펴봐야 합니다.