BackboneJS cung cấp cấu trúc cho web app: **tách business logic và UI logic**.
Các module chính
HTTP Request
Client (browser) gửi HTTP request đến server (documents, images...).
Router
Client-side routing: map URL → action/event. URL thay đổi → app state thay đổi. Hỗ trợ pushState và hash fallback.
View
Chịu trách nhiệm **render UI** từ Model. Không chứa HTML markup cứng — dùng template (Underscore template, Handlebars...). Listen model change event → re-render.
Events
Event system mixin: on, off, trigger. Dùng trong Model, Collection, View, Router. Custom event name tùy ý.
Model
Đại diện business entity: data + validation + logic. fetch(), save(), destroy() sync với server qua Backbone.sync (REST/JSON).
Collection
Ordered set of Models. Bind event khi model thêm/xóa/sửa. Hỗ trợ sort, filter, map, forEach...
Data Source
Database connection server-side. Backbone không quan tâm DB — chỉ nói REST/JSON API.
Luồng dữ liệu: View event → Router → Model sync → Server → Response → Model update → View re-render.