백본 (Backbone) :
자신에게 연결되어 있는 소형 회선들로부터 데이터를 모아 빠르게 전송할 수 있는 대규모 전송회선.
백본 홈페이지 : http://backbonejs.org/
백본 예제
도움이 될만한 사이트 모음
백본 첫 개발자를 위한 내용
http://armigar.blog.me/220066638455
백본 피피티 만들 때 도움 되는 것
http://www.slideshare.net/gyutaejo/backbonejs-m-v
투토리얼 동영상 (추천, 처음일경우 꼭 보셈)
https://www.youtube.com/watch?v=FZSjvWtUxYk
백본 시작하기,,
http://linuxism.tistory.com/1488
프론트엔드 웹앱 프레임웍
http://www.slideshare.net/iolo/ss-16821763
백본 괜찮은 예제
http://dogfeet.github.io/articles/2012/backbonejs-by-example.html
네이버 프론트엔드, 백엔드 개념 알차다!
http://helloworld.naver.com/helloworld/819776
개발을 위한 AMD와 Require.js
(http://helloworld.naver.com/helloworld/591319)
JavaScript 개발은 웹 사이트의 규모가 커질수록 소스를 관리하고 배포하는 비용이 커지는 경향이 있습니다. 또한 오래된 소스의 의존성 파악이 어려워 섣불리 수정하지 못하는 상황에 처하기도 합니다. 더 나은 웹 사이트 혹은 웹앱을 위해서는 해결해야 할 과제이며, 이는 RequireJS를 사용하여 라이브러리 차원에서 보완할 수 있습니다.
이 글에서는 RequireJS의 바탕이 되는 AMD(Asynchronous Module Definition)의 기본 개념을 살펴보고 RequireJS를 이용한 개발 가이드를 제시합니다.
백본 장점
(http://itsnat.sourceforge.net/php/spim/spi_manifesto_en.php 참고)
1. Backbone이 무엇인가?
프론트엔드 유지하기 쉽게 만들 수 있는... 초경량 라이브러리이다. 4킬로바이트~!
클라이언트 사이드 웹애플리케이션 개발에 MVC 패턴 적용을 가능하게 해주는 자바스크립트 프레임워크 중 하나.
참고로 자바스크립트 MVC패턴 프레임워크에는, JavaScriptMVC, Spine.js, SproutCore->Ember.js 가 있다.
backbonejs MVC 패턴
M(model, 데이터)
V(view, UI)
C(controller, 로직, 데이터 처리)
코드의 역할을 나눠서 작성하고 관리할 수 있게 한다.
프로그램의 구조를 체계화 할 수 있게 된다.
Models - MVC에서 model이다. 개별 데이터이다.
Collections - model의 집합이다. view와 연결하여, model에 변화가 생길 때 손 쉽게 UI를 갱신할 수 있다.
Router - MVC에서의 controller이다. location.hash의 변경에 따른 처리를 담당한다.
Views - MVC에서 view이다. 화면에 나타나는 UI를 담당한다. 프론트엔드의 특성상, view가 controller의 성격도 가지고 있다.
2. 왜 backbone을 사용하는가?
뭐, 백본을을 사용 안 해도 된다. 이것은 필수가 아닌 선택이다.
하지만, 편리한 기능을 말해주겠다.
(1) Collection과 View가 연동되어 데이터에 변화가 생길 때, 화면 UI 갱신해주는 일을 편리하게 할 수 있다.
(2) Router가 location.hash 변경에 따른 View의 갱신을 처리하는데 이는 Single Page Application의 개발을 대단히 용이하게 해준다. 사용자 UX에서의 장점이고, 트위터 등의 현재 그렇게 되어있다-
(3) 서버사이드와의 연동관련 기능도 있다. 데이터의 CRUD를 편리하게 구현할 수 있다.
(4) Underscore.js를 꼭 사용해야하는데, 여기 유용한 기능들이 많다.
(5) jQuery와 함께 쓸 수 있다.
끝으로,
백본은 유지보수가 매우 어려운 코드로부터 우리를 벗어나게 해준다.
DOM에서 데이터와 상태를 저장하는 것은 잘못된 생각이다.
템플릿은 개발할 때 절대적으로 필요하다, 자바스크립트 내부에 HTML을 두는 것은 당신에게 악업을 제공한다!