{"id":"gns1w1dx1ke588s","title":"Framework Churn: What Survives When the Hype Cycle Moves","slug":"framework-churn-what-survives","summary":"New frameworks ship weekly. HTML, HTTP, CSS, and SQL outlive all of them. I bet on boundaries and boring ops.","imageUrl":"https://briancrabtree.me/images/journal-framework-churn-what-survives.webp","category":"Engineering","date":"2026-04-13T18:00:00.000Z","featured":false,"likes":25,"author":"Brian Crabtree","content":"<h2>Churn is a feature of the market</h2>\n\n<p>Venture-backed frameworks optimize for conference demos and acquisition headlines. Your product optimizes for uptime and payroll. Those timelines do not match. I am not cynical; I am scheduling upgrades I can afford.</p>\n\n<p>Teams that chase every major version burn quarters. Teams that freeze forever rot. The skill is timed adoption.</p>\n\n<p>Reading source of abandoned frameworks teaches more than hot takes. I still reference solid patterns from retired tools. Conference talks optimize for novelty. Production optimizes for mean time to recovery.</p>\n\n<pre><code>// Decision checklist\n// 1. Can vanilla HTML + CSS ship the page?\n// 2. Does React buy routing/state worth the bundle?\n// 3. Can Vite SSG cover content without Next overhead?</code></pre>\n\n<h2>Layers that age slowly</h2>\n\n<p>Semantic HTML, HTTP caching, relational data models, and POSIX deploy scripts survive pivots. Put business rules in services you own, not buried in magic config of the framework du jour.</p>\n\n<p>Design tokens in CSS variables migrate across React, Vue, and static. Prop-drilling color hex does not.</p>\n\n<p>Vendor acquisitions kill frameworks quietly. I watch parent company earnings and OSS commit frequency quarterly. I keep a personal changelog of major deps updated per client per quarter for liability.</p>\n\n<h2>Adoption heuristics</h2>\n\n<p>I adopt when ecosystem pain without it exceeds migration cost, when security patches require it, or when hiring pool forces alignment. I delay when the problem is bundle size and the proposal is another meta-framework.</p>\n\n<p>Read release notes for breaking changes in routing and data, not blog titles.</p>\n\n<p>Bootcamps update curricula slower than Twitter. Hiring mid-level with fundamentals beats fresh grad with only one SPA tutorial. Copy-paste tutorials skip migration chapters. Official upgrade guides are longer and honest.</p>\n\n<h2>Exit strategies</h2>\n\n<p>Isolate UI behind stable API contracts. Keep content in CMS or markdown in git. Avoid proprietary hosting lock-in without export path. Micro-frontends are rarely the answer; modular monoliths often are.</p>\n\n<p>Legal open-source license changes forced migrations before. I keep dependency license scan in CI.</p>\n\n<p>Sabbatical projects are where engineers should experiment, not production payroll without budget.</p>\n\n<h2>Documentation as insurance</h2>\n\n<p>Architecture decision records beat oral history when the lead who picked Svelte leaves. I write one page: why we chose X, what we will not use it for, when we revisit.</p>\n\n<p>Polyfills were the old churn; now it is build tools. Vite ecosystem moves fast but config surface stayed smaller than webpack 2019.</p>\n\n<p>Open source maintenance burnout killed projects I loved. Fund maintainers or do not depend.</p>\n\n<h2>What I still teach juniors</h2>\n\n<p>Learn DevTools, HTTP, SQL explain, and git bisect before memorizing hook rules. Frameworks are interchangeable with months of practice; fundamentals are not.</p>\n\n<p>I keep a personal list of technologies I will not adopt without paying client for migration insurance.</p>\n\n<p>Standards bodies move slower than npm but faster than enterprise procurement cycles.</p>\n\n<h2>Practical stance</h2>\n\n<p>If you are mid-panic about the latest JavaScript framework, map what breaks if you stay put six months. Often the answer is dependency cleanup, not migration. I help separate fashion from fire.</p>\n\n<p>Stability is a feature you sell to risk-averse industries. Framework churn is why they pay premium for boring stacks.</p>\n\n<p>Choosing boring is not insulting your team. It is respecting their nights and weekends. For a related angle I keep coming back to, see <a href=\"/journal/when-frameworks-are-worth-it/\">When Frameworks Are Worth It: My Decision Framework</a>.</p>","tags":["frameworks","architecture","engineering"],"views":83}