• Ajax 인 프랙티스
  • 실전 예제를 통한 최신 Ajax 기법 마스터

  • 데이브 크레인, 베어 바이볼트, 조드 손네벨드 지음
  • 일래스틱웨어, 최용호, 이승준 옮김

  • 위키북스 오픈소스 & 웹 시리즈_004
  • ISBN: 9788995856499
  • 27,000원 | 2007년 10월 31일 발행 | 600쪽



현장의 소리를 담은 Ajax 분야 최고의 실용서

2006년 아마존에서 선정한 컴퓨터 인터넷 부분의 1위에 올랐던 베스트 셀러 ‘Ajax 인 액션’의 후속 편이지만, 단순 증보판은 아니다. 이 책의 저자는 이 책을 ‘2세대’ 책으로 소개하고 있는데, ‘Ajax 인 액션’이 원론적인 내용을 많이 담고 있었던 반면, 이 책은 제목 그대로 매우 실무적인 내용을 담고 있다. Ajax가 일반적인 웹 어플리케이션의 문제점을 어떻게 극복하는지를 보여주고, Ajax 기반의 어플리케이션 개발에서 발생하는 보편적인 문제들을 분야별로 정리하여 실전 예제를 통해 해결책들을 제시하고 있다. 책 전체를 통해 특정 문제와 이 문제를 풀어내는 솔루션 형식으로 기술하고 있어 분야 별로 찾아보고 실전에 적용하기 알맞게 구성되어 있다. 가장 널리 사용되는 다양한 오픈소스 라이브러리들의 사용 방법을 설명하고, 예제에 적용하여 구현하고 있어 라이브러리 선택을 고민하는 독자들에게 적지 않은 도움을 줄 것이다. 특히, 야후나 구글의 Open API 활용 방법 등 매시업(Mashup)관련 내용들도 상당히 깊이 있게 다루고 있다. 이 책은 분명 여러분이 읽어야 할 두 번째 Ajax 책이 될 것이다!

책 구성

이 책은 크게 두 개의 부분을 나뉘어 있다. 1부는 ‘Ajax 기본’은 2부 내용을 최대한 잘 활용하기 위해 필요한 내용을 담은 4개의 장으로 구성되어 있다. 2부 ‘Ajax 실전 사례’는 클라이언트 측 프로그래밍을 위한 다양하고 실무적인 주제들을 다루고 있다. Ajax를 직접 활용하는데 초점을 맞추고 있으며, Ajax 애플리케이션에서 잘 동작하는 실질적인 예제와 동작하는 원리를 설명하고 있다. 1장은 Ajax가 다른 기술들과 어떻게 다른지부터 설명하고 있다. 다양한 브라우저들에서 Ajax를 사용하기 위한 접근법을 설명하고, Ajax가 생성하는 응답을 어떻게 다루는지 살펴본다. 마지막으로 Prototype 라이브러리를 활용하여 훨씬 더 견고하게 만드는 방법도 간략하게 살펴본다.

2장에서는 JSON, XML, XSLT를 포함하는 다양한 Ajax 통신 방법을 검토한다. 또, SOAP 웹 서비스를 Ajax로 이용하는 방법을 면밀하게 조사할 것이다.

3장은 객체지향 자바스크립트의 개념을 소개한다. 전형적인 Ajax 애플리케이션을 포함해서 양이 많아지는 클라이언트 측 코드를 관리하는 데 적용할 수 있다. 객체지향의 주요한 개념들인 객체 생성, 퍼스트 클래스로서의 함수, 클래스 메서드로서의 함수, 함수 컨텍스트 그리고 클로저에 대한 설명을 객체지향 기술과 연관 지어 설명한다. 3장의 마지막 부분에서 Prototype 라이브러리를 사용하여 손쉽게 자바스크립트 클래스를 생성하는 방법도 살펴본다.

4장에서는 Ajax 자바스크립트 라이브러리인 Prototype, Dojo 툴킷, jQuery 그리고 DWR에 대해 자세히 알아 본다. 이 라이브러리가 제공하는 모든 기능을 다 설명하지는 못하지만, Ajax를 활용하는데 특별히 관심을 가지고 봐야 할 부분들을 집중적으로 다룬다. 각 라이브러리들을 실제 적용하는 예제들도 함께 살펴본다.

5장에서는 이벤트 처리에 대한 내용을 살펴본다. 다양한 이벤트 모델을 브라우저 간 호환성 이슈와 함께 살펴보고 Prototype 라이브러리를 활용하여 어떻게 호환성을 지원하는지 알아본다. 가장 널리 사용되는 이벤트 타입들에 대해 알아보고, 이벤트 타입들이 Ajax 애플리케이션에 어떻게 적용되는지 논의한다.

데이브 크레인이나 DWR의 제작자 조 워커(Joe Walker)등 저명한 필자들의 글을 옮기게 되어 한편으로는 조금 부담스러웠지만, 매우 기쁜 마음으로 작업할 수 있었다.

이 책은 2006년 아마존의 컴퓨터 인터넷 부분 1위의 데이브 크레인의 “Ajax 인 액션”의 명성을 그대로 느낄 수 있는 책이다. 데이브 크레인이 Ajax 분야의 저명한 6명의 필자와 함께 저술한 이 책은 “Ajax 인 액션”과 달리 상당히 실질적인 문제들에 대한 해결책들을 담고 있다.

6명의 다른 저자와 부문을 나누어 썼음에도 불구하고, 책 전체의 논지와 일관성이 매우 뛰어나다. 특히, 소스코드에 불필요한 군더더기 없이 정말 필요한 최소한의 내용만을 기술하고 있어 핵심을 파악하기에 좋다. 역자 역시 지난 몇 년간 Ajax 분야의 개발을 해왔고, 현재도 Ajax 기반의 솔루션을 제작하는 일을 하고 있다. Prototype을 비롯하여 DWR 등 오픈소스 라이브러리들을 많이 써왔는데, 실전에서 부닥치는 문제들은 라이브러리 외적인 문제들도 상당히 있었다. 이 책은 이러한 문제들을 체계적으로 정리하고 있다. 예를 들어, 웹 페이지의 상태의 유지 문제라든가, 히스토리 관리문제 등 실제 접했던 문제들을 명확하게 풀어주고 있다. 특히, Open API에 대한 소개와 실전에 바로 적용할 만한 예제와 코드들은 이 책의 제목대로 ‘프랙티스’를 제공한다.

이 글을 옮기면서 Ajax 어플리케이션 개발 전체를 한 번에 체계적으로 정리하는 느낌을 받았다. 독자 여러분도 역시 이 책을 통해 Ajax 전체를 정리하는 느낌을 얻기 바란다.

2007년 10월, 이승준

데이브 크레인(Dave Crane), 베어 바이볼트(Bear Bibeault), 조드 손네벨드(Jord Sonneveld)

이 책은 Ajax 분야의 최고 베스트 셀러였던 “Ajax 인 액션”을 저술한 데이브 크레인(Dave Crane)과 6명의 저자들이 공동으로 집필한 Ajax 실용서이다. 데이브 크레인은 Ajax와 웹 어플리케이션 개발 분야의 저명한 저술자이자 개발자이다. 지난 10년간 주로 Perl, Java 기반의 웹 개발을 해왔다. 이 책의 필자진은 "Prototype and Scriptaculous in Action", "jQuery in Action"을 저술한 Java Ranch(자바 개발 리소스 웹 사이트)의 스탭인 베어 바이볼트(Bear Bibeault), 구글의 조드 손네벨드(Jord Sonneveld), ClearNova사의 크리스 그레이(Chris Gray), JBoss의 제품 메니저 램 벤카타라맨(Ram Venkataraman), 전세계적으로 가장 널리 사용되는 오픈소스 프레임워크 중의 하나인 DWR의 제작자 조 워커(Joe Walker) 그리고, JavaServer Faces 기반의 오픈소스 프레임워크인 ICEfaces의 개발자 테드 고다드(Ted Goddard) 이다.

일래스틱웨어

위키북스 오픈소스 & 웹 시리즈 에디터인 일래스틱웨어는 2002년 7월에 설립한 소프트웨어 개발 전문 회사로서, 비즈니스 환경의 변화에 탄력적으로 적응할 수 있도록 하는 프로세스와 사용자 인터페이스(UI) 관련 제품에 대한 연구/개발에 주력하고 있는, 신기술 개발 중심의 젊은 기업이다.

최용호

네트워크, 시스템 보안, 분석, 설계자로 일해 왔으며, Java와 J2EE 보안과 네트워킹, CCNA 등의 분야에서 다양한 책들을 우리말로 옮겼다. 현재 국내 대표 개발자 커뮤니티 사이트 중의 하나인 비팬(BPAN.COM)의 대표로 일하고 있다.

이승준

지난 13년간 C/C 과 Java 개발을 주로 해왔으며, 현재 ㈜일래스틱웨어의 대표로 기업용 웹 2.0 프레임워크를 지향하는 어플리케이션 프레임워크 제품인 EnRichClient를 제작하고 공급하는 일을 하고 있다.

  • 제 1부 Ajax 기본
  • 1 Ajax를 끌어 안은 개발자들
    • 1.1 혁신 기술로서의 Ajax
    • 1.2 Ajax의 기본 특징
    • 1.3 프레임워크를 사용하여 Ajax를 단순하게 만들기
    • 1.4 요약
  •  
  • 2 Ajax 사용법
    • 2.1 서버 측에서 생성하는 자바스크립트
    • 2.2 JSON 소개
    • 2.3 Ajax와 함께 XML과 XSLT 사용하기
    • 2.4 Ajax로 웹서비스 활용하기
    • 2.5 요약
  •  
  • 3 객체지향 자바스크립트와 Prototype 라이브러리
    • 3.1 객체지향 자바스크립트
    • 3.2 Prototype 라이브러리
    • 3.3 요약
    •  
  • 4 오픈소스 Ajax 툴킷
    • 4.1 Dojo 툴킷
    • 4.2 Prototype
    • 4.3 jQuery
    • 4.4 DWR
    • 4.5 요약
    •  
  • 제2부 Ajax 실전 사례
  • 5 이벤트 다루기
    • 5.1 이벤트 처리 모델
    • 5.2 이벤트 객체와 이벤트 전파
    • 5.3 Prototype기반의 이벤트 처리
    • 5.4 이벤트 종류
    • 5.5 이벤트 실전배치
    • 5.6 요약
    •  
  • 6 폼 검증과 전송
    • 6.1 클라이언트 측 검증
    • 6.2 데이터 전송
    • 6.3 요약
    •  
  • 7 컨텐트 네비게이션
    • 7.1 웹 사이트 네비게이션 개요
    • 7.2 전통적인 웹 기반 네비게이션
    • 7.3 데스크탑 네비게이션을 웹 애플리케이션에 적용
    • 7.4 데스크탑과 웹 사이
    • 7.5 요약
  •  
  • 8 뒤로가기, 새로고침, 실행취소 처리하기
    • 8.1 브라우저 네비게이션 기능에 대한 접근 막기
    • 8.2 브라우저 네비게이션 컨트롤 사용하기
    • 8.3 실행취소 동작
    • 8.4 요약
  •  
  • 9 끌어다 놓기
    • 9.1 자바스크립트 끌어다 놓기 프레임워크들
    • 9.2 Ajax를 위한 끌어다 놓기
    • 9.3 요약
  •  
  • 10 사용자 편의성
    • 10.1 네트워크 지연 극복하기
    • 10.2 입력오류 감지하고 방지하기
    • 10.3 포커스와 레이어의 순서
    • 10.4 요약
  •  
  • 11 클라이언트 상태 관리와 캐시
    • 11.1 클라이언트 상태의 유지
    • 11.2 서버 데이터의 캐싱
    • 11.3 클라이언트 상태의 유지
    • 11.4 요약
  •  
  • 12 오픈 API와 Ajax
    • 12.1 야후! 개발자 네트워크
    • 12.2 구글 검색 엔진
    • 12.3 플리커 사진 서비스
    • 12.4 기다려라! 그들이 말하길, 더 많은 것이 있다.
    • 12.5 요약
  •  
  • 13 Ajax기반 매시업 제작
    • 13.1 여행기록 공유 서비스 소개
    • 13.2 여행기록 공유 서비스의 데이터 파일
    • 13.3 TripomaticDigester 클래스
    • 13.4 여행기록 공유 서비스의 애플리케이션 클래스
    • 13.5 여행기록 공유 서비스 페이지
    • 13.6 요약

관련 글