Categories
JavaScript Node.js Open Source

Node.js and io.js: The Reunification

Node.js 4.0 releases this month, and it's not just a version bump—it's the reunification of Node.js and io.js. After a year of fork drama, the community is back together under a foundation governance model. This is as much about politics as technology.

Understanding what happened and why it matters reveals tensions in open source governance.

Why the Fork Happened

Categories
Frameworks JavaScript Web Development

Angular 2: Breaking Everything for the Right Reasons?

Angular 2 has been in development for over a year, and beta just landed. The reaction is mixed: excitement about modern architecture, frustration about breaking compatibility with Angular 1. Google chose to rebuild rather than evolve, and that decision will define Angular's future.

The question is whether the improvements justify abandoning millions of lines of Angular 1 code.

What Angular 2 Changed (Everything)

Categories
Mobile PWA Web Development

Progressive Web Apps: Making the Web Native-ish

Google introduced the term "Progressive Web Apps" recently, describing web applications that progressively enhance to feel native. With service workers enabling offline functionality and app-like experiences, this could fundamentally change mobile web development.

Or it could be mobile web's latest disappointment. We've been here before.

What Progressive Web Apps Promise

Categories
JavaScript Language Evolution Web Development

ES2015 Is Here. Now What?

ECMAScript 2015 (ES6) was officially finalized this week. After six years since ES5, JavaScript has classes, modules, arrow functions, promises, and dozens of other features. This should feel momentous, but the reality is most developers have been using these features for months via Babel.

The standard finalizing doesn't change what we write—it changes the legitimacy of writing it.

What Actually Changed

Categories
Architecture JavaScript React

Redux: Flux, But Simpler (Mostly)

Redux launched this month and is spreading quickly through the React community. It's another state management library solving similar problems as Flux, but with a radically simpler approach: three principles, one store, pure functions.

After building with it, I'm convinced Redux's constraints are its strength. But those constraints require discipline most teams don't have.

The Flux Problem

Categories
Build Tools JavaScript Web Development

webpack Won the Bundler Wars (Somehow)

A year ago, browserify was the dominant module bundler and webpack was the confusing alternative. Today, webpack is becoming the default choice. This shift happened quickly and reveals what developers actually value versus what they claim to value.

Why webpack Won (Despite Itself)

Categories
JavaScript Mobile Development React

React Native: JavaScript Everywhere, Literally

Facebook open-sourced React Native this week, and the pitch is bold: write native mobile apps using JavaScript and React. Not hybrid apps like PhoneGap—actual native apps with native performance and native UI components.

This is ambitious. The question is whether JavaScript's "write once, run anywhere" promise finally delivers or disappoints again.

What React Native Actually Is

Categories
JavaScript Node.js Tooling

npm 3: Flatter Dependencies (Finally)

npm 3 is in beta, and the biggest change is how it handles dependencies. Instead of deeply nested trees, npm 3 tries to flatten them. This seemingly small change has significant implications for how we use npm, especially for frontend code.

The Nested Dependency Problem

Categories
JavaScript Tooling Web Development

Babel: The Transpiler War Is Over

The ES6 transpiler landscape has a clear leader: Babel. Renamed from 6to5 just last month, Babel is rapidly becoming the standard way to write modern JavaScript today. After a year of Traceur vs 6to5 debates, the community is consolidating.

Why Babel Won

Categories
JavaScript Web Development Year in Review

JavaScript in 2014: The Year Everything Changed (Again)

Twelve months ago, the JavaScript landscape looked different. Angular dominated frontend. Grunt was the build tool. ES5 was the language. Bower handled frontend packages. Node was interesting but niche.

Today, everything's in flux. React is challenging Angular. Gulp is challenging Grunt. ES6 is being used via transpilers. npm is taking over from Bower. Node powers build tools everywhere.

Let's look at what changed and what it means.

React: The Challenging Newcomer