Client Side MVC and The Gosh Darn Back Button
summary
Shows how long-lived single-page apps at Shopify admin leak memory (examples: jQuery.data cache causing retained DOM, event-handler closures, and identity-map growth) and how frameworks mitigate it: Backbone's view.remove, Ember/Batman's lifecycle hooks and bindings, and changing from a global cache to storing data on nodes. Demonstrates Batman.js powering the admin, measures a problematic chat client ballooning 50MB to 1GB, and argues lifecycle-managed enter/exit callbacks as the practical fix.
AI-written summary · about
chapters (10)
- 0:00The problem of memory leaks
- 1:20Old world vs new world
- 3:15jQuery data and memory leaks
- 7:13JavaScript garbage collection
- 11:51Why leaks matter today
- 13:40Lessons from iOS development
- 17:38Frameworks and lifecycle
- 22:57Data binding as a solution
- 27:24Trade-offs and protection
- 30:04Q&A and final thoughts
related talks
29mTo a Single Page Web App and Back Again
01h 29mClient-Side UI Smackdown
33mPitfalls and Opportunities of Single Page Applications
46mArt and Science of Shipping Single Page Apps with Ember.js
54mTaking JavaScript Seriously with Backbone.js
51mBuilding Amazing Single Page Applications the Right Way
49mBuilding Web Applications with Ember.js
30mBeyond the DOM: Sane Structure for JS Apps
