Mode:
Duration:
1
Coding works best on desktop or with an external keyboard.
Coding works best on desktop or with an external keyboard.
Static counter with only dark/light theme toggle.
var CounterModel = Backbone.Model.extend({ defaults: { isDark: false }, toggleTheme: function() { this.set('isDark', !this.get('isDark')); } });
var CounterView = Backbone.View.extend({ tagName: 'div', initialize: function() { this.listenTo(this.model, 'change', this.render); }, render: function() { this.el.className = this.model.get('isDark') ? 'dark-theme' : 'light-theme'; this.el.innerHTML = '<h2>Counter: 0</h2><button id="toggle">Toggle Theme</button>'; this.delegateEvents({ 'click #toggle': 'toggleTheme' }); return this; }, toggleTheme: function() { this.model.toggleTheme(); } });
var counter = new CounterModel();
var view = new CounterView({ model: counter });
document.body.appendChild(view.render().el);Backbone.js is a lightweight JavaScript MVC framework that provides structure to web applications using Models, Collections, Views, and Events. It helps developers build organized, maintainable SPAs with minimal boilerplate and strong conventions.
Origin & Creator
Created by Jeremy Ashkenas (also creator of Underscore.js and CoffeeScript) and released by DocumentCloud in 2010.
Industrial Note
Backbone is great for small-to-medium-scale web apps, legacy systems, low-dependency environments, and scenarios requiring simple MVC architecture with minimal overhead.