화요일, 6월 24, 2014

[독서광] The Modern Web: 웹의 미래를 책임지는 멀티플랫폼 반응형 웹 프로그래밍

초창기 웹 기술이 전파되는 시점과 요즘 시점을 비교해보면 격세지감을 느낀다. PC뿐만 아니라 스마트폰, 스마트TV, 심지어 콘솔 게임기에도 브라우저가 장착되어 있으며, 단순한 자료 검색을 넘어 쇼핑은 물론이고 문서 작업까지도 웹 브라우저에서 수행하는 세상이 되었다. '멀티플랫폼'과 '반응형'이라는 용어는 일반화되어 흔히 들을 수 있게 되었다. 한 마디로 웹 기술이 폭발적으로 발전하고 있다. 그렇다면 이렇게 빠르게 바뀌는 세상에서 길을 잃어버리지 않으려면 어떻게 해야 하나?

에이콘 출판사에서 선물로 주신 'The Modern Web'이 (완벽하지는 않지만) 좋은 해법을 제시하고 있다. 이 책은 세부 기술에 대한 방대한 레퍼런스가 목적이 아닌 현대적인 웹 기술에 대한 소개서로 보는 편이 타당하다. 따라서, 이 책 한 권으로 신형 기술을 모두 독파하리라는 기대는 접는 편이 좋다. 하지만 현대적인 웹 기술 관점에서 무엇에 신경을 써야 하고 주의해야 하는지를 파악하고 싶다면 번지 수를 제대로 찾아온 것이다.

이 책의 특징은 다음과 같은 두 항목으로 정리가 가능하다.

  • 웹 개발 기술의 범위는 매우 방대해서 이 책 한 권에서 모두를 다룰 수는 없다. 따라서 이 책에서는 다양한 기기에 걸쳐 웹 프로젝트를 구축할 때 필요하다고 여겨지는 핵심 기법이나 기술을 위주로 다루었다.
  • 이 책에 있는 내용이 모두 폭넓게 적용될 수 있는 것은 아니다. 적어도 이 책에서 설명하는 유형은 그렇지 않다. 웹은 지속적으로 발달하고 있고, 책 출판이란 특정한 한 순간을 하나의 스냅샷으로 담는다는 것을 의미한다. 몇 가지는 변화할 것이고, 몇 가지는 쇠퇴하여 사라질 것이다.

웹 기술의 범위가 무척 넓은데다 아주 빠르게 변하고 있기에 끊임없이 호기심을 품고 공부하는 사람만이 승자가 되리라는 생각이다. 이 책의 지향점을 파악하기 위해 책 목차를 함께 보자.

  1. 웹 플랫폼: 본격적으로 시작하기 앞서 웹을 플랫폼으로 바라보는 시각을 정리한다.
  2. 구조와 시멘틱: 좋은 컨텐츠는 구조부터 제대로 잡혀 있다. HTML5를 시작으로 마이크로포맷, RDFa, 마이크로데이터라는 구조와 시멘틱 관련 표준을 소개한다.
  3. 기기 반응형 CSS: 제대로 잡힌 구조 위에서 멀티플랫폼에 대응하는 CSS 작성 방식을 설명한다. 미디어 쿼리를 시작으로 '반응형'과 '적응형' 개념의 차이와 크기가 다른 화면을 인식해 내용을 배열하는 방법을 소개한다.
  4. CSS 레이아웃에 대한 새로운 접근법: 고정된 좌표에서 벗어나게 돕기 위해 CSS 레이아웃과 관련해 다중 열, 유연한 박스, 그리드 레이아웃 기법을 소개한다.
  5. 모던 자바스크립트: 자바스크립트의 새로운 기능, 중요한 라이브러리, 호환성 격차 해서(폴리필), 디버깅 기법을 설명한다.
  6. 기기 API: 스마트폰/태블릿 등에 탑재된 센서와 주변 장비를 이용하는 API를 소개한다.
  7. 이미지와 그래픽: SVG와 캔버스를 소개한다.
  8. 새로운 폼: 구식 폼 대신 다양한 자료 유형을 인식하고 클라이언트 쪽 검증이 가능한 신형 폼을 소개한다.
  9. 멀티미디어: HTML5에서 새로 추가된 미디어 요소와 대응하는 API를 소개한다.
  10. 웹 앱: 웹 앱, 하이브리드 앱, 애플리케이션 캐시를 소개한다.
  11. 향후 전망: 앞으로 기술 추이를 전망한다.

주의 사항을 하나 언급하고 넘어가겠다. 단순한 용어와 개념 제시를 넘어서 320페이지 곳곳에 실제 HTML 코드와 대응하는 화면 예제, 자바스크립트 코드와 설명이 잘 정리되어 있으므로 쉽게 생각하고 접근했다가는 애로 사항이 꽃필 가능성이 있다. HTML 코드, CSS 코드, 자바스크립트 코드를 기본적으로 읽을 수 있어야 쉽게 따라갈 수 있다. 완전히 첫 걸음을 내딛는 초보자용 도서가 아니라는 사실에 주의해야 한다.

결론: 이 책은 큰 틀에서 기술 동향을 소개하고 있으므로 웹 퍼블리셔와 개발 담당자들이 현재 웹 기술 상태를 조감하기 위한 목적으로 읽어보면 좋겠다. 추천!

EOB

댓글 없음:

댓글 쓰기