제대로 배우는 Backbone.js 프로그래밍
저자 애디 오스마니
역자 이지훈
출간예정일 2014년 6월 23일 (월)
정가 28,000원
페이지 400
판형 173 * 230
ISBN 978-89-94774-68-8 (93000)
원서정보 Developing Backbone.js Applications
책 소개
Backbone.js 애플리케이션 개발하기
유용하고 실용적인 이 책 《제대로 배우는 Backbone.js 프로그래밍》에서는 Backbone.js를 이용해 단일 페이지 애플리케이션(SPA) 모델로 사이트를 구축하는 방법뿐만 아니라, 모델-뷰-컨트롤러(MVC) 아키텍처의 Backbone 특유의 맛을 살려 구조화된 자바스크립트 애플리케이션을 만드는 방법을 배울 수 있다.
MVC, SPA, Backbone의 기본적인 사항들을 시작으로, Backbone으로 간단한 Todo 리스트 앱, RESTful 책 라이브러리 앱, 그리고 모듈화된 앱과 같은 샘플 애플리케이션을 직접 구축해볼 것이다. 구글 크롬팀의 엔지니어이기도 한 이 책의 저자는 또한 프레임워크의 고급 사용법에 대해서도 다루고 있다.
- Backbone.js로 MVC가 클라이언트 측에 이득을 줄 수 있도록 하는 방법을 배운다.
- 쉽게 읽을 수 있고, 구조화하고, 확장할 수 있는 코드를 작성한다.
- Backbone.Marionette와 Thorax 확장 프레임워크로 작업한다.
- Backbone.js를 사용하면서 쉽게 접할 수 있는 문제를 해결한다.
- AMD와 RequireJS를 사용하여 코드를 모듈로 구성한다.
- Backbone.Paginator 플러그인으로 컬렉션에 대한 데이터의 페이지를 매긴다.
- 보일러플레이트 코드로 새로운 Backbone.js 애플리케이션을 부트스트랩한다.
- jQuery Mobile과 함께 Backbone을 사용하면서 이들 간의 경로 문제를 해결한다.
- Jasmine, QUnit, SinonJS로 여러분이 구축한 Backbone 앱을 단위 테스트한다.
“웹 애플리케이션을 작성하는 것은 복잡한 과정이지만, 저자는 Backone.js를 사용하여 그 과정을 간단하고 쉽게 세분화했다.”
— Samuel Clay, NewsBlur의 설립자
— Marc Friedman, CommScope, Inc의 선임 수석 소프트웨어 연구원
독자 대상
초중급
이 책은 초보자뿐만 아니라, 클라이언트 측 코드를 보다 잘 만들고 싶어하는 중급 개발자들을 위해 쓰였다. 이 책을 최대한 활용하기 위해서는 자바스크립트의 기초 사항을 이해하고 있어야 하지만, 가능한 이 책에 그러한 설명을 넣기 위해 애썼다.
소스 코드 다운로드
http://shop.oreilly.com/product/0636920025344.do
저자 소개
애디 오스마니 Addy Osmani
구글 크롬팀의 프로그램 엔지니어이며, 자바스크립트 애플리케이션 아키텍처에 대한 열정이 있다. 그는 TodoMVC와 같은 잘 알려진 프로젝트를 생성했으며, Yeoman, Modernizr, jQuery와 같은 다른 오픈 소스 프로젝트에도 기여했다. 파워 블로거(http://addyosmani.com/blog/)인 애디는 《Learning JavaScript Design Patterns》(O’Reilly)를 집필하기도 했다.
역자 소개
이지훈
컴퓨터시스템응용기술사이자 정보시스템 수석감리원이다. 12년차 자바 개발자로 SDS와 SK C&C에서 근무했으며, 현재 LG 전자에서 스마트TV 관련 시스템을 운영 중이다. 안드로이드와 아이폰앱 개발자로 활동하고 있고, 새로운 기술을 접하길 좋아한다. 《나 홀로 개발자를 위한 안드로이드 프로그래밍의 모든 것》(에이콘출판사)을 집필했고, 《알기 쉬운 UX 디자인 평가: 대규모 온라인 사용성 조사 가이드》(지앤선), 《HBase 인액션: 빅데이터를 위한 NoSQL 데이터베이스》(비제이퍼블릭)를 번역했다.
목차
1장. 개요
- MVC란
- Backbone.js란
- 자바스크립트 MVC 프레임워크는 언제 필요하나
- 왜 Backbone.js를 고려해야 하는가
- 이 책의 구성
2장. 기초
- MVC
- MVC가 주는 이점
- 정리
3장. Backbone의 기본
- Backbone 설치 가이드
- 모델
- 뷰
- 컬렉션
- RESTful 지속성
- 이벤트
- 라우터
- Backbone Sync API
- 의존성
- 요약
4장. 연습 1: Todos - 첫 번째 Backbone.js 앱
- 정적 HTML
- Todo 모델
- Todo 컬렉션
- 애플리케이션 뷰
- 개별 TodoView
- 시작
- 실행
- 완료와 삭제기능
- Todo 라우팅
- 요약
5장. 연습 2: 책 라이브러리 - 첫 번째 REST ful Backbone.js 앱
- 설정
- 인터페이스 엮기
- 백엔드 생성
- 서버와 통신하기
- 요약
6장. Backbone 익스텐션
- MarionetteJS (Backbone.Marionette)
- Thorax
- 요약
7장. 문제와 해결책
- 중첩 뷰 다루기
- 중첩 뷰 내에서의 모델 관리
- 자식 뷰에서 부모 뷰 렌더링
- 뷰 계층구조 배치
- 뷰 계층구조 렌더링
- 중첩 모델 또는 중첩 컬렉션으로 작업하기
- 모델 속성 검증
- 다수의 Backbone 버전들 사용 시 충돌 피하기
- 모델과 뷰 계층구조 만들기
- 이벤트 수집기와 중재기
8장. 모듈 개발
- RequireJS와 AMD를 이용하여 모듈화하기
9장. 연습 3: Backbone과 RequireJS 모듈 앱
- 개요
- 마크업
- 설정 옵션
- 모델, 뷰, 컬렉션의 모듈화
- 라우터 기반의 모듈 로딩
- 의존성 관리를 위한 또 다른 패키지
10장. Backbone.js 요청과 컬렉션의 페이지 처리
- Backbone.Paginator
- Paginator.requestPager
- Paginator.clientPager
- 요약
11장. Backbone 보일러 플레이트와 Grunt-BBB
- 시작하기
- 새로운 프로젝트 생성
- 다른 유용한 툴과 프로젝트들
- 요약
12장. Backbone과 jQuery Mobile
- jQuery Mobile을 이용한 모바일 앱 개발
- jQuery Mobile을 위한 기본 Backbone 앱 설정
- Backbone과 jQueryMobile을 이용한 워크플로우
- Backbone에 jQM 고급 기술 적용하기
13장. Jasmine
- 행위 주도 개발
- 테스트 슈트, 스펙, 그리고 스파이
- beforeEach()와 afterEach()
- 공유된 스코프
- 설치하기
- Backbone을 이용한 TDD
- 컬렉션
- 뷰
- 연습
- 참고 문헌
- 요약
14장. QUnit
- 시작하기
- 단정문
- 단정문에 구조 추가하기
- 단정문 예제
- 픽스처
- 비동기 코드
15장. SinonJS
- SinonJS란?
- 스텁과 목
- 연습
- 더 읽을 거리
16장. 결론
부록 A. 심화 학습
- 간단한 JavaScript MVC 구현
- MVP
- MVP 또는 MVC?
- MVC, MVP 그리고 Backbone.js
- 네임스페이싱
- Backbone 종속성
- Backbone vs 다른 라이브러리와 프레임워크
부록 B. 리소스
- 학습을 위한 도서와 과정
- 익스텐션/라이브러리
출판사 리뷰
해외에서는 몇 년 전부터 Backbone.js나 Angular.js와 같은 자바스크립트 MV*프레임워크가 많이 사용되었지만, 국내에 이들이 알려지기 시작한지는 얼마 되지 않았다. MV* 프레임워크를 소개하는 수준의 서적은 있었지만, Backbone.js를 본격적으로 심도 있게 다루는 서적인 아마 이 책이 처음일 것이다.
Backbone.js는 Javascript MV* 프레임워크 중에 가장 많은 라이브러리와 Q&A를 가지고 있다. Stackoverflow에서 Backbone.js를 찾아보면 많은 질문과 답변들이 이루어졌다는 사실을 알 수 있다. 근래에는 Angular.js나 ember.js 등도 많이 사용되고 있다. 저자도 책의 후반부에서 소개했지만, Angular.js, ember.js, backbone.js 중에 어느 것이 가장 좋다라고 단정 짓는 것은 바보 같은 행위다. 현재 가장 인기 있다고 좋은 프레임워크도 아니고, 가장 많은 라이브러리를 가지고 있다고 좋은 프레임워크도 아니다.
프레임워크를 선택할 때에는 프로젝트의 성격과 범위에 맞아야 하고 향후 유지보수를 위한 지원까지 고려해서 결정해야 한다.
Backbone.js는 Angular.js와 다르게 Full-Stack 라이브러리를 제공하지 않고 최소한의 필수 기능만 제공하여 개발자들이 좀 더 유연하게 사용할 수 있도록 제공한다. 부족할 수도 있는 기능들은 Marionette와 같은 Backbone.js 기반의 라이브러를 사용해서 해결할 수 있다. Backbone.js는 jQuery와 Underscore.js와 같은 유틸리티 라이브러리에 강한 의존성을 가지고 있기 때문에 풍부한 jQuery 셀렉터와 강력한 Underscore.js의 유틸리티를 같이 사용할 수 있다. Angular.js는 jQuery Lite에서 제공하는 수준의 셀렉터를 제공한다. 이와 같이 Backbone.js는 다른 MV* 프레임워크와 다르게 최소한의 기능만 제공하기 때문에 다른 프레임워크와 같이 쉽게 융합하여 사용할 수 있다는 장점이 있다. 이는 애플리케이션 개발 시에 문제가 발생하였을 때 다른 오픈소스를 이용하거나, 오픈소스를 분석해서 문제를 좀 더 쉽게 해결하는 것이 가능하다는 것을 의미한다. Angular.js나 ember.js와 같이 Full-Stack기능을 제공하는 프레임워크도 오픈소스이긴 하지만, 프레임워크에서 가해지는 제약사항이 Backbone보다 크고 다른 오픈소스와의 융합도 어렵다.
전문가를 위한 안드로이드 프로그래밍 (0) | 2014.06.12 |
---|---|
XWF를 이용한 포렌식 분석 (0) | 2014.05.16 |
아두이노 프로젝트 65: 65가지 예제로 배우는 실전 워크샵 (0) | 2014.05.08 |
댓글 영역