전 세계에서 가장 많이 팔린 Ajax No.1 베스트셀러! 아마존 독자가 열광하고 전 세계 전문가들이 극찬한 최고의 Ajax 책
기초부터 고급 기법까지 Ajax의 모든 것을 상세하게 소개한다 사이트에 바로 응용할 수 있는 5가지 실전 프로젝트 수록
“세상을 놀라게 할 Ajax 책” 셰인 위트백 디지털 스펙트럼, AjaxMatters.com
“진심을 다해 추천하는 책이다.” 에릭 해처 『Java Development with Ant』와 『루씬 인 액션』의 저자
“『Ajax 인 액션』은 세상을 휩쓴 Ajax 기술의 거센 물결에 합류하는 가장 효과적인 방법이다.” 어니스트 프리드먼 힐 샌디아 국립 연구소의 컴퓨터 공학자, 『Jess 인 액션』의 저자
“굉장히 매력적이고 읽기 편한 책” 프랭크 재니아 IBM 수석 개발자
“Ajax에 대한 정보가 절실히 필요한 모든 이에게 강력 추천한다.” 베어 비볼트 Works.com의 설계/기획 팀장, JavaRanch.com의 운영자
웹 사이트에 접속하는 사용자들은 전통적인 웹 사이트 구성 방법에 이미 식상해 있다. 웹 페이지를 보다 보면 스크롤 위치가 자꾸 바뀌는 통에 짜증이 나고, 페이지를 새로 받아오는 동안 멍하니 기다리기도 하며, 새로 받아온 페이지에 눈을 적응시키느라 스트레스를 받는다. 불편한 점이 이만저만이 아니다. 자바스크립트와 XML을 사용해 비동기적으로 통신하는 방법, 즉 Ajax라고 알려진 방법을 적용하면 웹 사이트에 접속하는 사용자에게 훨씬 훌륭한 기능과 인터페이스를 제공할 수 있다. 일단 한번 Ajax 인터페이스에 맛을 들인 사용자는 입맛을 바꾸기가 쉽지 않다. Ajax는 웹상에서 물 흐르듯 직관적인 인터페이스를 사용자에게 제공할 수 있는 새로운 개념이다.
Ajax 인 액션은 이렇듯 새로운 개념을 직접 구현하는 데 꼭 필요한 내용을 담고 있다. 애플리케이션 프로그램의 전체적인 기능을 그대로 유지하면서 서버와 클라이언트 부분으로 어떻게 분리하는지를 설명한다. 또한 유연하고 유지보수가 용이한 상태로 애플리케이션을 관리하는 방법도 알려주며, 프로그램을 적절하게 잘 설계해 브라우저 호환성 등의 문제에도 얼마나 잘 대응할 수 있는지를 설명한다. 이 책을 읽기 전에 전통적인 웹 사이트에서 주로 사용하던 낡은 프로그래밍 기법은 버려야 한다. 독자는 프로그램 실행 코드의 상당 부분을 웹 브라우저로 옮겼을 때 어떤 장점이 있는지를 몸소 체험할 수 있다. 이 책은 지금 웹 사이트를 개발하거나 개발해 본 경험이 있는 웹 개발자의 필독서이다.
[ 이 책에서 다루는 주요 내용 ]
Ajax의 기본 개념
Ajax에서 디자인 패턴이 중요한 이유
Ajax를 사용할 때 실수하기 쉬운 부분
Ajax를 활용하는 실전 프로젝트: 검색어 자동완성 기능, XSLT를 활용한 실시간 검색 등
Prototype, Scriptaculous, x, Rico 등의 Ajax 라이브러리를 활용한 예제
Ajax 유저빌리티와 보안, 성능 문제
[ 이 책의 특징 ]
Ajax는 이미 단단한 기반을 확보하고 있는 여러가지 웹 관련 기술을 한데 모아 새롭고 재미있는 방법으로 활용하는 방법이다. 완전히 새로운 기술을 처음으로 접해 공부해야 한다면 백지부터 시작하기 때문에 오히려 간단할 수도 있다. 하지만 Ajax는 다르다. 이전에 사용하던 상당수의 방법과 개념을 버려야 한다. 이런 특성 때문에 Ajax 인 액션은 다른 출판사의Ajax 책이나 인 액션(In Action) 시리즈가 늘 해왔던 것과는 약간 다른 방법으로 구성되어 있다. 책을 읽다보면 다른 점을 느낄 수 있을지도 모르겠지만, 이런 방법이 Ajax를 설명하기에 가장 적합한 방법이라고 생각한다.
또한 Ajax는 그 자체로 대부분 클라이언트측에 치우쳐 있는 기술이라고 볼 수 있는데, 클라이언트 프로그램이 완전히 바뀌기 때문에 서버측 프로그램도 모두 바꿔야 할 필요가 있다. 이 책은 주로 클라이언트측의 프로그램을 중심으로 하고 있고, 대부분의 프로그램 예제도 자바스크립트로 작성되어 있다. Ajax를 사용하면 몇 가지 기본 원칙을 통해 서버와 클라이언트를 자연스럽게 분리시킬 수 있고, 완전히 분리되어 있기 때문에 어떤 종류의 서버측 언어라도 사용할 수 있다. 그러다 보니 다양한 언어를 사용하는 개발자를 배려할 필요가 있었고, 예제 프로그램에서 서버 부분에 PHP, 자바, C#, 비주얼베이직.NET 등 다양한 종류의 프로그래밍 언어를 활용했다. 더 중요한 점은 서버측 프로그램을 최대한 간결하고 특이한 방법을 사용하지 않는 방향으로 구성했기 때문에, 필요하다면 직접 다른 언어와 환경에 맞춰 쉽게 포팅할 수 있도록 했다. 특정 부분에서 언어적인 특성을 활용하는 경우가 있다면 해당 언어에 익숙하지 않은 독자라도 쉽게 이해할 수 있도록 상세한 내용을 최대한 설명하려고 노력했다.
[ 이 책의 구성 ]
1부는 Ajax가 무엇인지, 소프트웨어 개발 시 활용하면 어떤 면에서 유용한지를 설명하고, 개발 결과물의 품질을 높일 수 있는 몇 가지 도구도 살펴본다. 2부는 Ajax 애플리케이션이 실제로 동작하게 만드는 데 필요한 핵심 기법을 살펴보고, 3부는 2부에서 살펴봤던 것처럼 여러 기법을 사용해 개발 개념을 확인하는 수준에서 제품 수준까지 품질을 끌어 올릴 수 있는 방법을 알아본다. 4부는 좀 더 실무적인 관점으로 5개의 Ajax 프로젝트를 단계별로 설명하면서 진행하고, 끝으로 각 프로젝트의 결과물을 리팩토링해 독자들이 직접 자신의 웹 애플리케이션에서 활용할 수 있는 컴포넌트로 탈바꿈시킨다.
[ 이 책의 대상 ]
모두 Ajax에 직접적인 관심을 가진 사람들을 대상으로 해서 이런 독자들에게 꼭 필요한 내용을 최대한 책에 담으려 노력했다. 웹 브라우저를 단순한 터미널 형태의 개념으로 생각하고 서버측 프로그램을 개발하던 개발자가 방향을 잡는 데 도움이 될 수 있도록 지침을 마련했다. 적당히 돌아가는 정도로만 프로그램을 작성하며 디자인 작업을 주로 하던 디자이너에게도 소프트웨어 설계와 배경에 대한 지식을 전달할 수 있도록 구성했다. 원래 어떤 일을 했던 간에 Ajax는 여러 분야를 함께 활용해야 하는 기술이기 때문에 익숙치 않은 작업을 해야 할 경우가 많다. 독자의 관심 분야를 약간 넓은 범위로 확장한 다음 새로운 기술을 배울 수 있도록 신경을 기울였다.
[ 부록 CD 소개 ]
본문에서 예로 들었던 예제 프로그램의 소스코드는 모두 부록 CD에 들어있으며, http://www.manning.com/crane 페이지에서 다운로드 받을 수도 있다. 닷넷 서버나 J2EE 애플리케이션 서버, 리눅스 장비, 아파치 서버, MySQL 데이터베이스, PHP/파이썬/펄(LAMP) 등의 환경을 각자 사용하기 편한 위치에 갖고 있지 않은 경우가 상당수 있을 것이라고 판단되며, Ajax에서 중점적으로 다루는 부분은 역시 클라이언트측의 프로그램이다. 따라서 가능한 경우에는 아파치, 톰캣, IIS 등의 웹 서버에서 간단하게 활용할 수 있도록 가상(mock) 서버 프로그램을 최대한 마련해 고정적이고 의미 없는 내용이지만 예제를 작동시켜 볼 수 있도록 준비했다. 이런 가상 프로그램은 실제로 동작하는 원본 프로그램과는 별개로 만들어져 있고, 데이터베이스나 웹 서버를 잘 다루는 사람이라면 실제 동작하는 예제를 사용해 보는 것도 좋다. 부록 CD 안에 설정하는 방법을 간단하게 설명한 readme.txt 파일이 있으니 참고하자.
[ 온라인 서비스 ]
매닝 출판사의 사설 웹 포럼에 접속해 책에 대한 의견을 나눌 수 있고, 기술적인 질문을 올리거나 저자나 다른 사용자로부터 도움을 얻을 수 있는 http://www.manning.com/crane 페이지에 접속해보자. 또한 한국어판 출간에 즈음해 옮긴이가 『Ajax 인 액션』의 독자들에게 도움이 될 수 있는 내용을 모아 Ajax 관련 커뮤니티(www.ajaxinaction.net)를 오픈할 예정이다. 커뮤니티에는 질문과 답변, 관련 업계 소식, 자료실, 자유게시판, 오탈자 신고 등의 내용을 준비하고 있다. 『Ajax 인 액션』을 읽으면서 궁금했던 점, 짬짬이 만들었던 Ajax 프로그램, 새로운 웹을 이끌어가는 개발자의 지식과 정보 등을 함께 공유할 수 있는 장을 마련하고자 한다.
[ 추천의 글 ]
최근 3년간 인터넷 서비스 사업을 통해 고객을 만나면서 깨달은 소중한 진리가 하나 있다. “어떤 경우에도, 변명의 여지 없이, 고객이 늘 옳다”는 것이다. 하지만 “대부분의 경우”엔 업계의 트렌드를 의식하게 되고, 고객을 ‘교육’하겠다는 안일한 생각을 하게 되며, 기술적인 제한점들을 극복하지 못하게 되는 등 일하는 사람 입장에서 생각하게 된다.
그간 우리는 이런 틀 안에서 애플리케이션이나 서비스를 기획하고 개발했지만, 사용자나 고객은 이를 이해하지 못했다. 그저 장바구니에서 물건 하나를 지우고 포토앨범에서 사진을 볼 뿐인데 왜 무겁게 페이지 전체가 다시 떠야 하는지 불편함을 호소했지만 우리 고객센터, 기획팀, 개발팀은 한계를 이해하지 못하는 고객의 아우성으로 치부하고 회식자리 안주감으로 삼을 뿐 다른 방법을 찾지 못했다(대부분 액티브X 등으로 해결해오긴 했다). 하지만 Ajax는 웹 페이지라는 틀에 갇힌 웹 애플리케이션에서 벗어나 사고의 폭을 넓혀주고 새로운 세상에 눈을 뜨게 해줬다.
Ajax라는 이름을 얻기까지 5년 넘게 주목조차 받지 못하다가 여러 성공 사례가 생기고 트렌드가 되고 나니 너도나도 이용하게 된 현실은 우리에게 어떤 의미가 있을까? Ajax의 모든 것을 총망라해서 자세히 다루고 있는 이 책에서 설명하는 내용을 완벽히 소화하는 것은 물론 중요하다. 하지만 Ajax 기술 쪽에 방점을 두지 않아도 좋다. 고객에게 더 나은 사용편의성을 제공하는 문제에 대한 관점이 변화되고 생각의 틀을 넓히게 되는 계기가 되었음에 감사하고 그것만으로도 이 책을 읽은 큰 보람이 있었다.
구글의 성공 사례에 힘입어 웹 2.0이 화두로 떠오르면서 Ajax는 관련 책들을 봇물처럼 쏟아내며 출판시장에서도 바람몰이를 하고 있다. 이에 즈음해 『실용예제로 배우는 웹표준』과 『웹 2.0을 이끄는 방탄웹』에 이어 ‘에이콘 웹 프로페셔널 시리즈’의 야심찬 세 번째 주자로 선을 보이는 『Ajax 인 액션』이 드디어 국내 독자들을 찾아왔다. 단순히 개발기법들을 소개하는 것이 아니라 개발방법론의 노하우를 배울 수 있다는 것이 개발자들에게 있어서 이 책이 중요한 의미를 지니는 이유라고 손꼽을 수 있다. 또한 국내 독자에게 처음 웹 표준이라는 개념을 선보인 웹 프로페셔널 시리즈의 앞선 두 권의 책에서는 디자이너, 기획자, 개발자 순으로 무게 중심이 실려있었다면, 이번 책은 개발자에게 가장 큰 무게 중심이 실려있을 뿐 여전히 이 세 가지 영역에 중첩되는 내용을 제공하고 있다. 즉 이 책을 통해 개발자와 디자이너는 더욱 생산성 높고 활기 넘치는 협업을 이룰 수 있고, 기획자는 기존 웹 애플리케이션의 틀을 넘어서는 서비스를 기획할 수 있을 것이다.
『Ajax 인 액션』은 최신 추세에 발걸음을 맞춘 새로운 정보를 제공할 뿐만 아니라 웹 표준에 기반한 방법들을 지속적으로 제공한다는 점에서 웹 프로페셔널 시리즈의 전편들과 맥을 같이하고 있다. 사용자가 실제로 편하게 쓸 수 있는 서비스를 교묘한 편법이 아닌 정석으로 풀어갈 수 있는 정보를 담은 좋은 책들이 웹 프로페셔널 시리즈의 이름을 걸고 앞으로도 계속 이어지길 바라며 시리즈 에디터로서 함께 노력하고자 한다. 아마존 독자들의 열광적인 성원과 전 세계 전문가들에게 극찬을 받으며, 출간된 지 수 개월이 넘도록 아마존 컴퓨터 분야 베스트셀러를 차지하며 전 세계에서 가장 많이 팔린 Ajax 책으로 연일 새로운 기록을 만들어내고 있는 『Ajax 인 액션』이 국내 독자들이 아쉬워 하는 2%를 가득 채워줄 최고의 Ajax 서적이 될 것이라 감히 가늠해 본다.
- 박수만 / 에이콘 웹 프로페셔널 시리즈 에디터 |