The JavaScript Ecosystem in 2019: A Deep Dive

January 10, 2019 (7y ago)

The State of JavaScript in 2019

By January 2019, JavaScript had become the most popular language on GitHub for the 5th consecutive year. But beneath the surface, tensions were brewing.

The React Monopoly

React's dominance was undeniable. According to the 2019 State of JS Survey:

  • 71% of developers had used React
  • 74% would use it again
  • Satisfaction rates beat Vue and Angular

But why?

The Virtual DOM Explained

React introduced the Virtual DOM — a JavaScript representation of the actual DOM. When state changes:

  1. React creates a new Virtual DOM
  2. Diff algorithm compares old vs. new
  3. Minimal updates to real DOM

This is O(n) instead of O(n²). For complex UIs, this is transformative.

// Before: Direct DOM manipulation (slow)
document.getElementById('counter').innerHTML = count;

// After: State-driven (fast)
function Counter() {
  const [count, setCount] = useState(0);
  return <div>{count}</div>;
}

The TypeScript Question

TypeScript adoption exploded in 2019:

  • 46% of JS developers used TS (up from 21% in 2017)
  • VS Code became the most popular editor
  • Angular adopted TS by default

Why TypeScript Won

  1. IDE support — Intellisense, refactoring
  2. Scalability — Large teams need contracts
  3. Error prevention — Catches bugs at compile time

As Anders Hejlsberg (creator of TypeScript) said:

"TypeScript is JavaScript that scales."

The Framework Wars

Vue.js

  • 28% adoption
  • Simpler API, easier learning curve
  • Strong in China (Alibaba, Xiaomi)

Angular

  • 28% adoption
  • Enterprise favorite
  • Steep learning curve but opinionated

Svelte

  • Emerging contender
  • No Virtual DOM — compiles to vanilla JS
  • The "radical" alternative

The Build Tool Chaos

2019 was the year of build tools:

| Tool | Purpose | Creator | |------|---------|---------| | Webpack | Bundler | Sean Larkin | | Parcel | Zero-config | Dev Campbell | | Rollup | ES modules | Rich Harris | | Babel | Transpiler | Sebastian McKenzie |

The average developer spent 4+ hours configuring Webpack. This was insane.

"We are not paid to configure webpack. We are paid to solve business problems." — @ravenous

My Stack in 2019

What I actually used:

  • React — For everything
  • Create React App — To avoid webpack config
  • TypeScript — For sanity
  • Styled Components — CSS-in-JS
  • Firebase — Backend without the pain

The Serverless Wave

AWS Lambda went mainstream in 2019:

  • Pay only for compute
  • Auto-scale
  • No server management

This was revolutionary for solo developers. I could ship a full-stack app without managing infrastructure.

Example: API Route

// Next.js API route (serverless)
export default function handler(req, res) {
  const data = { message: 'Hello World' };
  res.status(200).json(data);
}

Deploys to Lambda automatically. Zero config.

What's Coming: 2020

The trends I saw emerging:

  1. TypeScript everywhere — It won
  2. Server-side rendering renaissance — Next.js dominance
  3. JAMstack — Static + API = fast
  4. WebAssembly — Performance for complex apps

Conclusion

2019 was the year JavaScript matured. The ecosystem consolidated around React + TypeScript + Serverless.

The fragmentation was becoming consolidation. And that was a good thing.


References


Next: The Frustration with jQuery