아마존 독자가 열광하는 댄 씨더홈의 웹 표준 가이드 제2탄!
아무리 멋진 모양과 좋은 내용으로 가득 찬 웹사이트를 만들었더라도 다양한 상황과 폭넓은 사용자층을 고려하지 않았다면 절반의 성공에 불과합니다. 댄 씨더홈의 『(개정판) 웹 2.0을 이끄는 방탄웹』은 유연성과 가독성, 사용자 편의성 등 성공적인 웹사이트가 갖춰야 할 핵심사항을 구비하기 위한 웹 표준 전략에 대한 책입니다. 각 장마다 기존의 흔해 빠진 방식으로 제작한 웹사이트를 사례로 들어 문제점을 분석하고 어떤 한계점을 가지고 있는지 설명합니다. 그리고 이 사이트를 XHTML과 CSS로 재구축하여 엄청난 양의 코드를 깔끔한 마크업으로 정리하고 CSS를 통해 빠르게 로딩되면서 접근성이 높은 방탄웹으로 변신시키는 기법을 소개합니다. 특히 마지막 장에서는 이 책에서 다룬 기법을 종합해 완전무결한 방탄웹을 만들어 봅니다. 특히 개정판에서는 마이크로소프트 인터넷 익스플로러 7에 대응하도록 내용을 보강하고, em을 이용한 유동적인 레이아웃 등의 예제들을 추가했습니다.
먼저 고백해야겠습니다. 완전무결한 방탄웹이란 세상에 존재하지 않습니다. 이 말을 듣고 바로 책을 던져버리기 전에 잠시만 제 설명을 더 들어주시기 바랍니다. 경찰관이 방탄조끼를 입고 몸을 보호하는 것처럼, 웹디자인을 보호할 수 있는 조치를 취할 수 있을 것입니다. 이 책은 웹사이트에 방탄장치를 붙여 다양한 상황에 유연하게 대처할 수 있는 전략을 제시합니다.
방탄웹이란
완벽하게 방탄이 되는 방탄조끼를 만들기 위해서 지속적으로 노력하지만, 방탄조끼가 100퍼센트 완벽하게 신변보호를 보장해 주지는 않습니다. 그렇다고해서 방탄조끼를 입는 것과 입지않는 것을 비교할 수는 없을 겁니다. 웹사이트 구축 관련 기법에서도 이 규칙은 그대로 적용됩니다. 최대한 다양한 조건에서도 잘 보이는 유연한 웹페이지를 만들기 위해 필요한 단계를 제대로 밟아나갈 때 정말 다른 결과물을 만들 수 있습니다. 즉 지속적인 과정이라는 것입니다. 이를 통해 의미를 살린 XHTML과 CSS 같은 웹 표준을 활용한 멋진 디자인을 좀 더 쉽게 할 수 있습니다.
최근 몇 년간 CSS로 레이아웃을 만든 사이트가 많아지면서 CSS를 제대로 활용하는 방법에 대한 관심도 높아지고 있습니다. 이렇게 CSS 기반의 디자인을 하는 목적은 적은 코드량, 높은 접근성과 유지보수성 등 디자인 관점에서 취할 수 있는 기술적인 장점을 얻고자 하는 데 있습니다. 하지만 단지 CSS와 XHTML을 사용한다고 해서 저절로 모든 것이 좋아지지는 않습니다. 핵심 내용과 디자인을 분리하여 높은 유연성을 추구할 때, 웹을 이용하는 모든 사람들에게 좀 더 나은 디자인을 제공할 수 있습니다. 자, 그럼 여기서 말하는 유연성이란 무엇을 의미할까요?
왜 중요한가
이 책을 처음 구상할 즈음 훌륭한 웹디자인은 두 가지 요소를 갖춰야 한다는 생각이 들었습니다. 한 가지 요소는 완성된 페이지를 통해서 방문자들이 보게 될 비주얼한 구성요소입니다. 이는 디자이너가 조화롭게 만든 그래픽 이미지, 색상, 타이포그래피로 구성됩니다. CSS 젠 가든(http://www.csszengarden.com)에 방문해보시면 XHTML과 CSS를 이용해서 얼마나 멋진 비주얼 디자인을 갖출 수 있는지 쉽게 알 수 있을 것입니다.
훌륭한 웹디자인을 구성하는 두 번째 요소는 방탄웹 특성을 갖도록 구축하는 것입니다. 바로 이 점이 이 책에서 중점적으로 다루고자 하는 요소이기도 합니다. XHTML과 CSS를 쓰면 이런 장점을 쉽게 얻을 수 있습니다. 또한 유연하면서도 쉽게 주변환경에 적응 가능하고 접근성이 높으면서도 멋진 모양을 갖춘 웹디자인을 하기 위해 웹 표준의 장점을 이용할 수 있습니다. XHTML과 CSS 같은 웹 표준 도입이 빠르게 확산되면서 표준의 올바른 활용법과, 가장 적합한 구현 방법에 대해서 설명하는 자료의 필요성도 점점 더 높아지고 있습니다.
이 책의 구성
이 책은 각 장마다 방탄웹을 만드는 방법에 대해 소개합니다. 현재 존재하고 있는 웹사이트의 디자인을 살펴보고, 기존 방식의 문제점을 먼저 살펴봅니다. 그러고 나서 XHTML과 CSS를 활용해 유연성이 높으면서도 적은 양의 코드를 작성합니다.
대부분 예제는 페이지에 들어가는 디자인 구성요소를 다룹니다. 각 구성요소들이 어떻게 방탄웹을 구성해가는지 쉽게 볼 수 있을 것입니다. 마지막 장에서는 앞서 살펴본 개별 예제들을 이용해서 완벽한 페이지를 하나 구성해볼 것입니다. 각 예제의 기법들을 다시 한번 복습하면서 각각을 한데 모은 페이지를 만들어 보겠습니다.
각 예제들은 단계별로 구성되어 있어서 XHTML과 CSS 초보자라도 쉽게 따라할 수 있습니다. 이런 과정을 통해서 웹 표준이 가져다주는 이점과 각 지침들을 준수할 때 좀 더 견고한 방탄웹이 되는 이유를 설명하겠습니다.
★ 이 책에서 다루는 내용 ★
■ 키워드, 퍼센트값, em을 이용해 사용자가 직접 글씨 크기를 조절할 수 있는 방법
■ 글씨 크기와 텍스트 분량에 따라 크기가 늘어나는 내비게이션 메뉴바 만드는 방법
■ 가로형 디자인 요소를 세로 방향으로 확장하는 방법
■ 표 모양 디자인에 쓰이는 플로트 활용 방법
■ 예기치 못한 상황에 대비할 수 있는 박스 모양 디자인 방법
■ 이미지나 CSS 없이도 무리 없이 내용을 읽을 수 있는 페이지 만드는 방법
■ 데이터 테이블에서 모양 꾸미기용 코드를 제거하고 CSS로 다시 만드는 방법
■ 창 크기나 글씨 크기에 관계없이 자유자재로 늘어나는 페이지 레이아웃 만드는 방법
에이콘출판사 도서정보 페이지(http://www.acornpub.co.kr/book/bulletproof-web2)에서 개정판의 예제 코드를 다운로드 받을 수 있습니다. 원서 파일의 영문 예제와 번역서의 한글 예제 파일을 다운 받아서 zip 파일을 열면 각 장별로 폴더가 정리되어 있습니다. 각 폴더 안에는 완성된 예제와 관련된 html 파일과 이미지 폴더들이 들어 있습니다. 모든 CSS는 간결하게 내용을 볼 수 있게 하기 위해 모든 문서의 [head] 태그 안에 넣어 두었습니다.