Backbone.js의 핵심 종속성: Underscore.js
Backbone.js가 동작하기 위해 반드시 필요한 유일한 하드 종속성(hard dependency)은 Underscore.js입니다. Underscore.js는 내장 객체를 확장하지 않으면서도 다양하고 유용한 함수형 프로그래밍 헬퍼 함수를 제공하는 자바스크립트 라이브러리입니다.
Underscore.js 없이는 Backbone.js 자체가 전혀 작동하지 않기 때문에, 프로젝트에 Backbone.js를 도입할 때는 Underscore.js를 가장 먼저 포함해야 합니다.
고급 기능 사용 시 필요한 추가 종속성
Backbone.js의 기본 기능 외에 더 고급 기능을 활용하려면 상황에 따라 추가적인 라이브러리가 필요합니다. 대표적인 예는 다음과 같습니다.
RESTful 데이터 영속화(Backbone.sync): 서버와의 데이터 통신을 위해 jQuery의
$.ajax또는 이와 유사한 AJAX 기능을 제공하는 라이브러리가 필요합니다.히스토리 지원(Backbone.Router): 라우팅 및 브라우저 히스토리 관리 기능을 사용하려면 HTML5 History API를 지원하는 환경이 필요합니다.
DOM 조작(Backbone.View): 뷰(View)를 통한 DOM 조작에는 jQuery 또는 Zepto 같은 DOM 조작 라이브러리가 필요합니다.
정리
요약하면, Backbone.js의 필수 종속성은 오직 Underscore.js 하나뿐입니다. 그러나 RESTful API 연동, 라우팅, 뷰 렌더링 등 실질적인 애플리케이션 개발 과정에서는 jQuery나 Zepto 같은 보조 라이브러리를 함께 사용하는 것이 일반적입니다.