Categories
JavaScript Web Development Year in Review

JavaScript in 2016: The Consolidation Year

Last year's prediction was that 2016 would focus on consolidation over innovation. Looking back, that's exactly what happened. React solidified position, Angular 2 shipped, tooling matured, and new frameworks emerged without fragmenting ecosystem completely.

2016 wasn't "everything changed again." It was "things settled."

Framework Landscape Solidified

Three frameworks established themselves as viable long-term choices:

React cemented dominance. Not universal, but clearly winning mindshare. Ecosystem matured, patterns emerged (Redux, React Router), and React Native proved mobile viability.

Angular 2 finally shipped after two-year wait. TypeScript commitment, complete rewrite, and Google backing make it compelling for enterprise. But React's head start during Angular's rebuild cost Angular mindshare.

Vue emerged as legitimate third option. Simpler than React/Angular, growing fast especially in Asia. Vue 2.0's performance improvements and progressive framework philosophy resonate.

These three can coexist. They serve different developer preferences and project needs. This is healthier than one framework dominating or constant framework churn.

Tooling Maturity

Build tools stabilized:

webpack 2 beta showed webpack isn't going anywhere. Tree shaking, better performance, improved DX—webpack's dominance is secure despite complaints about configuration.

Create React App solved "getting started" problem. Zero-configuration React development became reality. This is significant—lowering barriers to entry matters.

Yarn challenged npm's monopoly. Competition improved package management for everyone. npm responded by accelerating development.

VS Code became dominant editor for JavaScript. TypeScript support, excellent debugging, growing extension ecosystem—Microsoft finally got developer tooling right.

Language Evolution

ES2015 became baseline. Transpiling via Babel is standard. ES2016 (small update) shipped. ES2017 (with async/await) is finalized.

async/await reached Stage 4, bringing readable async code to JavaScript. This is most significant language feature since Promises.

TypeScript growth accelerated. Angular 2's adoption, VS Code's support, and large companies standardizing on it suggest TypeScript is winning gradually.

The yearly release cycle (ES2016, ES2017, ES2018…) means JavaScript evolves continuously without massive disruptive changes.

What Shipped in 2016

Major releases:

Angular 2 (September): Complete rewrite finally done

Vue 2.0 (September): Virtual DOM, better performance

React 15 (April): Better warnings, smaller, faster

webpack 2 (beta): Tree shaking, improved config

Create React App (July): Zero-config React

Yarn (October): npm alternative

TypeScript 2.0 (September): Better types, more features

These are significant. Not revolutionary, but solid improvements.

The PWA Push

Progressive Web Apps gained real traction:

  • Service worker support in all major browsers (except Safari)
  • Real-world case studies showing significant impact
  • Tooling improving (Workbox coming)
  • Companies like Flipkart, AliExpress reporting success

PWAs aren't replacing native apps universally, but they're proving viable for specific use cases—especially in emerging markets.

The left-pad Incident

npm's fragility was exposed when one developer unpublished a 11-line package and broke thousands of builds. This highlighted ecosystem dependency vulnerabilities.

npm changed policies. Community discussed sustainability. But fundamental problems remain unresolved.

Yarn's release partially addressed this with lockfiles and better reliability.

React Native Matured

React Native proved itself production-ready:

  • Major companies (Facebook, Instagram, Airbnb) shipping RN apps
  • Performance improvements
  • Ecosystem growing (libraries, tools)
  • Android support maturing

React Native isn't perfect but it's viable alternative to pure native development.

GraphQL Adoption Growing

GraphQL moved from "Facebook experiment" to "serious option":

  • More companies adopting (GitHub, Shopify)
  • Tooling improving (Apollo, Relay)
  • Community and ecosystem growing
  • Patterns emerging

GraphQL isn't replacing REST everywhere, but it's proven itself for complex data requirements.

What Didn't Happen

Web Components didn't take over. Still a standard, still not widely used. Framework-specific components won.

JavaScript fatigue didn't end. It peaked but the complexity and churn remain challenging.

Module bundling didn't become unnecessary. HTTP/2 helps but bundling is still essential.

Native apps weren't displaced. PWAs and React Native are progress but native remains dominant for complex applications.

Framework Fatigue Peaked

2014-2015's endless new frameworks slowed. No major new frameworks emerged in 2016. The ones that exist matured instead.

This is healthy. Constant framework churn exhausted developers. Consolidation around React, Angular, Vue gives stability.

What 2017 Needs

JavaScript ecosystem needs:

Stability. Keep improving existing tools rather than replacing them. Give developers time to learn and invest.

Documentation. Too many tools are powerful but poorly documented. Investment in learning materials matters.

Accessibility. Complexity has grown. Onboarding new developers is harder. Better defaults and simpler getting-started experiences help.

Performance focus. JavaScript bundles are massive. Load times suffer. The ecosystem needs to prioritize performance and bundle size.

Sustainability. Open source maintainers burning out is ongoing problem. Supporting maintainers (financially, recognition) is necessary.

2016 in Perspective

This was the year JavaScript stopped changing constantly and started solidifying. Not stagnating—evolving predictably.

Frameworks established themselves. Tools matured. Patterns emerged. The platform feels less chaotic than 2014-2015.

Challenges remain: complexity, fatigue, sustainability, learning curve. But the ecosystem is healthier.

2016 delivered on consolidation promise. 2017 should continue this: refining and improving rather than replacing and churning.

JavaScript is maturing. Finally.

Resources:

By Shishir Sharma

Shishir Sharma is a Software Engineering Leader, husband, and father based in Ottawa, Canada. A hacker and biker at heart, and has built a career as a visionary mentor and relentless problem solver.

With a leadership pedigree that includes LinkedIn, Shopify, and Zoom, Shishir excels at scaling high-impact teams and systems. He possesses a native-level mastery of JavaScript, Ruby, Python, PHP, and C/C++, moving seamlessly between modern web stacks and low-level architecture.

A dedicated member of the tech community, he serves as a moderator at LUG-Jaipur. When he’s not leading engineering teams or exploring new technologies, you’ll find him on the open road on his bike, catching an action movie, or immersed in high-stakes FPS games.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.