본문 바로가기

Book review

예전에 윈도우 API 책 기억나십니까? HTML도 그렇게 정리 되었습니다 (사전처럼 바로 찾아 쓰는 HTML5 핵심 API - 한빛미디어)


  꽤 지난 일입니다만은 [Windows API 정복]이라는 책을 기억하십니까? 김상형씨가 만든 이 책은 가남사에서 출간되어 공전의 히트를 기록한 책으로 알고 있습니다. 저도 학교에서든 사무실에서든 읽고 작업이나 레포트에 참고했었던 기억이 납니다. 지금은 한빛미디어로 옮겨서 두권 분량으로 증편하여 재 출간되었고 이 책은 저희 집에도 있죠. Windows API는 상당히 방대한 양입니다. 그중에서 가장 많이 쓰이고 핵심적인 것만 모은 책임에도 상당한 두께와 내용을 자랑했었죠. 그만큼 목차나 인덱스 또한 중요했었습니다. 물론 [Windows API 정복]은 가남사 판이나 한빛미디어 판이나 깔끔하게 정리되어 있어서 필요한 정보를 찾아서 이용하기에 수월했습니다.


  웹 프로그래밍을 처음 접해봤던 것이 대학교 시절이었던 걸로 기억하는데 그당시에는 HTML 만을 따로 배우는 수업이 있었던 것으로 기억하고 있습니다. 추후에는 ASP를 배우는 수업에서 HTML을 다룰 기회가 있었었죠. 그 이전까지는 웹이라는 것은 이용하는 것 밖에 몰랐었던 저는 HTML을 통해서 웹페이지의 뼈대가 만들어지고 표를 그리고 이미지를 넣고 텍스트에 하이퍼링크를 삽입하면서 무언가가 뚝딱뚝딱 만들어 지는 것에 신기함을 감출 수 없었습니다. 나중에 제대로 된 웹페이지를 만드는 수업인 ASP를 수강하면서 부터 이해되지 않는 어려움에 고생을 했었지만요. 그 당시에는 태그 몇개가 HTML의 전부인 것으로 알았습니다. 그저 마크업 언어일 뿐이고 브라우저에서 사용자에게 보여지기 위해서 구성되어진 것. 그 이상도 이하도 아니었죠.

  시간은 십년이 넘게 흘러 지금에 이르렀습니다. 그 이후 웹은 빠르고 정확하고 다양하고 강력하게 변화되어 지금의 시대가 도래하였죠. 그리고 마침내 HTML5가 발표되기에 이릅니다. 얄궃게도 HTML은 더이상 이전에 제가 알던 그런 표시형 언어가 아니었습니다. 자체적으로 수많은 기능을 가지고 스크립팅을 이용해서 무긍하게 발전해 있었죠. 그리고 이 책을 만나게 되었습니다.


  [사전처럼 바로 찾아 쓰는 HTML5 핵심 API]
HTML에 API가 있다니?! 그 자체 만으로도 컬쳐쇼크였죠. ^-^;; 웹에 대한 작업은 거의 안했었고 해봤자 아주 사소한 수준에 그친 경우였기 때문에, 그리고 개발을 모르던 시절처럼 그저 이용하기에만 바빴기 때문에 기술의 발전 조차 눈치채고 있지 못하던 사이에 플래시가 할 수 있는 것 이상의 기능을 HTML이 가지고 있다는 사실에 놀라움을 금치 않을 수 없었습니다. 그리고 그만큼 코드는 복잡해져 있었죠. 흥미가 당겼죠. 하지만 이전까지 웹을 하지 않던 저에게는 어렵더군요. 그리고 복잡했습니다. 책을 펼쳐보았을 때 단 한가지는 확실하게 느낄 수 있었습니다. 이 책을 본다고 해서 내가 새로운 HTML을 다루기에는 쉽지 않겠구나.

  이 책은 초보자를 위한 입문서는 아닙니다. 종전에 Windows API가 그러하였듯 레퍼런스 용이고 그렇기에 핵심적인 내용과 실용적인 예제로 구성되어 있습니다. 말 그대로 웹을 HTML5의 기본을 아는사람이 보면 바로 활용해서 쓸 수 있도록 말이죠. 목차를 살펴보면 HTML에서 핫이슈로 보여지는 토픽별로 잘 정리가 되어 있습니다. 목차가 이렇게 잘 되어 있다는 것은 독자가 필요한 정보를 찾는데 매우 큰 도움이 된다는 장점이 있다는 것이죠. 저 개인적으로도 전문서는 목차와 인덱스가 잘 갖추어져 있어야 한다는 생각을 하고 있습니다. 물론 편집자나 저자. 역자는 그만큼 고생을 하겠지만 말이죠. 더불어서 인덱스도 아주 훌륭하게 되어 있습니다. 딱히 사진을 찍어 놓은 것이 없어서 보여드리진 못하지만 정말 깔끔하게 잘 정리되어 있습니다.


  자아 그럼 내용은 어떨까요? 모든 내용은 API이기 때문에 스크립트로 작성이되어 있고 덕분에 친숙한 코드로 적혀 있습니다. 제가 그나마 Adobe Flex / AIR를 잠시 다루어 보았기 때문에 익숙한 형태의 코드가 많아서 이해할 수 있었던 부분이 꽤 있었습니다. 그리고 표를 통해서 브라우저 별로 어떤 내용이 표시되는지 값은 어떻게 되어 있는지 구별이 되어 있다던가 특정 요소의 속성과 함수가 깔끔하게 정리 되어 있는 것이 눈에 들어옵니다.


  깔끔하게 정리 된 도표와 간결하지만 실용적인 예제가 장점의 전부가 아닙니다. 제가 생각하는 이책의 최대의 장점은 따로 있죠. 웹 브라우저 마다 DOM트리가 다르기 때문에 같은 코드도 다르게 해석되어 표현되는 경우가 많이 있었습니까. 그리고 웹표준을 지키지 않는 IE의 이전 버전들도 있고 HTML5를 다루지 않는 버전의 브라우저에서는 말할 것도 없이 제대로 표현이 되지 않는 경우가 발생을 하겠죠. 이 책은 각 요소별로 브라우저의 몇 버전 이상에서 부터 해당 요소를 지원하는지가 다 표시 되어 있습니다. 거의 모든 요소에 깔끔하게 말이죠!!! 이는 정말 저자의 노력의 산물이 아닐까 싶습니다. (원본에서 부터 있었다면 말이죠) 웹 개발 책에서 이런 내용이 있는 것은 처음 봤기 때문에 더더욱 감동할 수 밖에 없었던 부분이었습니다.


  그 외에도 많은 장점이 있습니다만 일일이 나열하면 본문이 언제 끝날지 모르겠습니다. 단점은 없느냐 라고 물어보실만 한데 저는 아직까지 단점은 모르겠습니다. 필요한 요소나 API가 무엇인지를 안다면 찾아보고 예제를 이해하는데는 초보자도 큰 어려움이 없을만큼 꽤 쉬운 코드로 작성되어 있어서 웹에 대한 기반 지식이 부족하여 이해할 수 없는 부분을 제외하고는 그럭저럭 읽혀지는 것으로 보아서는 저자인 하타노 후토미씨는 예제 하나하나에도 꽤 공을 들였다는 생각이 들더군요. 주석도 풍부하게 달려있고 말이죠.


  그렇기에 말씀드립니다만, 저는 단점을 잘 모르겠습니다. 여러분이 직접 읽어보시고 판단해 주십시오. 최근에 읽어본 기술서 중에서 저는 가장 맘에 든다고 힘주어 말씀 드릴 수 있을 것 같습니다.

  기술의 발전은 이미 인류의 진화보다 빠른 속도로 진행되고 있습니다. 우리의 삶을 편리하게 만들어주는 기술이 빠르게 발전하는 만큼 우리 개발자들은 더 많은 학습을 하고 그 속도에 발을 맞추어야 하게 되었죠. 하지만 저는 즐겁습니다. 버거우리 만큼 많은 학습량도 하나에 깊이를 두지 못하고 이것저것 해보게 됨에도 즐겁습니다. 저는 어찌보면 전형적인 개발자 타입의 인간은 아닌것 같습니다. 하지만 그래도 아직은 개발이 좋습니다. 올해 안에 제 개인적인 프로젝트를 공개하는 홈페이지를 만들텐데 그때는 이 책을 많이 참고 할 것 같습니다. :)