Reflecting on Front-End Trends – What a Decade!
November 1, 2024
Ten years go by fast.
In 2014–2015, most of us were still using jQuery. SPAs were becoming more common, but not yet the norm. Frameworks like AngularJS and Backbone were popular. React was still new. TypeScript was just starting to get noticed.
A lot changed.
What changed
- 2015–2016: ES6 became the standard. Arrow functions,
let
,const
, and modules became everyday tools. Babel helped bridge the gap. - 2017–2019: Framework wars peaked. React matured fast, Vue gained fans, Angular (rewritten) lost some ground. GraphQL started gaining adoption.
- 2020–2022: JAMstack got popular. Static generation with Next.js, Nuxt, Hugo, and newer tools like Astro redefined how we build sites. SSR/SSG hybrids became the default.
- 2023–2024: Signals, edge rendering, and new runtimes like Bun started shifting how we think about performance. Deno, Vite, Qwik, Solid all challenged older models. AI started helping us code.
What stayed
- Good UX still matters. No matter the tool, fast, usable, accessible sites win.
- Simple code wins. Fewer abstractions, smaller bundles, faster sites.
- CSS got better. Container queries and
:has()
unlocked new layout power without hacks.
What we learned
- Don't get too attached to one tool. The landscape keeps shifting.
- Focus on fundamentals: HTML, CSS, JS, accessibility, and clean code.
- Invest in learning patterns, not libraries.
What's next?
Maybe frameworks will disappear. Maybe more things will run at the edge. Maybe AI writes 90% of our boilerplate.
But someone still has to make it usable.
So here's to the next 10 years. And to whatever comes after React.
Recent posts
- At-Least-Once vs. Exactly-Once - Understanding Message Delivery Guarantees
June 12, 2025
Learn about message delivery guarantees in distributed systems. Understand why most production systems implement at-least-once delivery with idempotency rather than attempting exactly-once delivery.
- How Idempotency Saves Your API from Chaos
June 11, 2025
Learn how to implement idempotency in your APIs to prevent duplicate actions and ensure data consistency. Includes practical examples with Supabase and Node.js.
- Vibe Coding ‑ Notes from the First Try
June 6, 2025
Quick lessons from spinning up a new blog with an AI pair‑programmer and Cursor.