Optimizing ClojureScript Apps For Speed
summary
Focuses on cutting initial download and server work rather than micro-optimizing runtime: use outer/inner modules to delay app code (outer can shrink ~30%), enable gzip/CDN/caching, and prefer server rendering over client-only boot. Tests with Selenium and Nashorn prove complexity and slowness (Nashorn render ~1s), while Node works but adds a runtime. Introduces foam (Om port to cljc) to render Om components on the JVM in ~1 ms, avoiding Node or headless browsers and keeping deployment simpler.
AI-written summary · about
chapters (13)
- 0:00Introduction to performance
- 0:58Why speed matters
- 2:13Impact on conversions
- 3:55Optimizing front-end
- 8:17CDN usage
- 14:35Server-side rendering
- 17:51Node.js approach
- 18:14How Foam works
- 18:29Foam benefits
- 21:41Future developments
- 28:26Walkthrough of code
- 28:47Q&A: Component porting
- 36:16Closing
related talks
38mProduction Ready ClojureScript: Tales from the Frontier
27mThe Functional Final Frontier
38mThe challenges and benefits of a functional reactive frontend
29mDesign decisions in React-based ClojureScript applications
30mBuilding CircleCI's Front end With Om
35mClojureScript & User Interfaces: Simplicity yields Possibilities
50mOptimizing Performance of Web Apps: Removing Bottlenecks for a Better Experience
49mClojureScript: Fun and productive web development with next level tooling
