The fundamental problem with viewing JavaScript as the new VM is that it creates the illusion of control. Sure, if we are building an internal Web app, we might be able to dictate the OS/browser combination for all of our users and lock down their machines to prevent them from modifying those settings, but that’s not the reality on the open Web.

Aaron Gustafson, A Fundamental Disconnect.

This isn’t (just?) FUD around JavaScript and web apps, it’s the reality. And this is the timbre of so many posts over the years: that you have no control over the ultimate runtime of your application’s interface and therefore [fill in the blank].

And so we’re left in this weird never-never land where we can’t really spend all the resources that we need to ensure that we’re reaching (literally) everyone, but neither can we justify rubber-stamping a “best in WebKit (on top of modern hardware)” banner as a way of coming in under-budget. There’s the notion that you can just follow a couple of best practices and be just fine but this doesn’t really acknowledge that not everyone doing front-end development is a Front-End Developer.

To Gustafson’s point about Hanselman’s point about JavaScript deployment basically being a VM… I wouldn’t say that he’s being unfair. After all, Hanselman is a smart guy and I must imagine that he’s making these statements in a sort of Inspired Visionary way. But at the same time… yes, calling the browser a VM is over-selling it a bit. And for all the reasons that Gustafson spells out.

Tags: JavaScript
So I can’t believe I forgot to mention this here on ye olde Tumblr but…
I wrote this book. It came out in June. It’s about PhantomJS and uses a cookbook approach to present a variety of testing strategies — unit testing, end-to-end testing, continuous integration, and more. (Plus some PhantomJS fundamentals.)
You can pick up a copy from the Packt website: goo.gl/NJnFq1

So I can’t believe I forgot to mention this here on ye olde Tumblr but…

I wrote this book. It came out in June. It’s about PhantomJS and uses a cookbook approach to present a variety of testing strategies — unit testing, end-to-end testing, continuous integration, and more. (Plus some PhantomJS fundamentals.)

You can pick up a copy from the Packt website: goo.gl/NJnFq1