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:
- React creates a new Virtual DOM
- Diff algorithm compares old vs. new
- 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
- IDE support — Intellisense, refactoring
- Scalability — Large teams need contracts
- 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:
- TypeScript everywhere — It won
- Server-side rendering renaissance — Next.js dominance
- JAMstack — Static + API = fast
- 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.