Everything Has Changed

[Bruges, Belgium][16], the Venice of the North. The oil-painting techniques of the Flemish school gained world renown here during the renaissance. _Photography by our own [Max Imbert][17]._

I’m really excited about hackery these days. That’s because all the big things that bothered me about Web development have recently been fixed. It’s kind of amazing: we have (fake) co-routines in JavaScript, a real component model (with sophisticated layout and rendering engines to support it), and high-fidelity technologies for cloud deployment.

For someone who loves the idea of Web apps, this feels like when I first discovered the joys of programming.And the idea that Web apps can’t be used on mobile and tablet platforms without compromising on the experience is among the biggest anti-Open Web myths still making the rounds. So when I say Web apps, I’m not merely talking about in-browser apps.

Co-routines in JavaScript (Kinda)

First, ES6 makes it possible to fake co-routines. This works, today, in both in Node and the browser.It’s even available in CoffeeScript. Which means the biggest hole in the most widely used programming language in history just got fixed.

Component-Based HCI

Next comes flexbox and Web components, so Web developers can build human-computer interfaces with components like platform developers do. The Web has finally caught up with Smalltalk-76!I’m serious. Also, Alan Kay’s own account of early Smalltalk development makes for a fascinating read.

Deployments When, How, and Where You Want Them

Finally, with the Docker 1.0 release and the rather quiet arrival of CoreOS, it’s easier than ever to actually deploy your apps. You can get them running locally and then deploy them pretty much the same way. Best of all, you’re in complete control of what you deploy and how and where you deploy it. Which is something we’ve actually never had before.No, Heroku and it’s variants never gave you this kind of control—you still can’t run Heroku apps from West-coast data centers for some reason—or the high-fidelity reproduction of your local development environment.

Thank You, Open Web

Just two years ago, none of this was working and a lot of it seemed like it might never work. I spent a lot of time trying (and mostly failing) to build various libraries to solve each of these problems. Thankfully, there are lots of talented people who believe in an Open Web and have been empowered to make it awesome. All I can say is: well done.