// the find
jashkenas/backbone
Give your JS App some Backbone with Models, Views, Collections, and Events
Backbone is a 2010-era MVC framework for structuring JavaScript web apps around Models, Views, Collections, and a REST-syncing layer. It predates React, Vue, and the modern component era. You'd encounter it maintaining legacy codebases at companies like Trello, SoundCloud, or Rdio — the logos in the docs tell the whole story.
The event system is genuinely clean and still worth reading — `listenTo`/`stopListening` got memory management right before most libraries did. The codebase is tiny (~1,700 lines) and fully readable in an afternoon, which is more than you can say for any modern framework. It requires almost no build tooling and drops into a script tag, which occasionally matters. The REST sync convention (overridable `url`, `parse`, `toJSON`) is simple and predictable.
This is effectively unmaintained — commits are sporadic patches, not active development, and the ecosystem of plugins is mostly abandoned. There's no component model; views are raw DOM manipulation glued together by convention, and large apps turn into spaghetti that you have to invent architecture for yourself. It requires jQuery and Underscore as hard dependencies, both of which you'd rather not ship in 2026. No TypeScript support, no SSR story, no module system beyond AMD-era patterns — adopting this new is hard to justify.