Processing.js: Very Cool, But JavaScript Nuts Go Overboard
I think ports, hacks, and tech projects are fantastic. I’m a believer in experiments and proof of concept. So when I saw the port of Processing to JavaScript, I was impressed. I think this stuff is valuable, even if it’s imperfect.
Processing.js could indeed be useful in some cases, and it’s a testament to developer John Resig’s prowess as a JavaScript guru. But it’s limited by the restrictions of JavaScript. That isn’t a deal-breaker — it just means you need to adjust expectations and use this tool as what it is.
Unfortunately, the word "JavaScript" is magical to a lot of the Web development community in a way that seems to make them lose sight of reality.
Processing.js Aftermath [John Resig blog]
That’s sad. Because if "Java" remains a four-letter word (erm … well, you know what I mean), it really will be a massive blow to the open future of rich client media.
The Reality
Processing in Java is …
- Extensible (you can easily add Java libraries to add features)
- Massively compatible (you need only Java 1.3 or later, which believe it or not is already on the majority of machines — on CDM, we see roughly the same penetration as we do for Flash)
- Fast (significantly faster than JavaScript for processor-intensive operations)
- 3D
- Functional in the browser and as desktop software on every platform
- Compatible with desktop features (hardware support, MIDI, synthesis, audio, video … see the extensible bit)
Processing in JavaScript is …
- Limited to JavaScript’s capabilities — and thus not nearly as extensible
- Massively incompatible (IE7 doesn’t work at all. Firefox 3 is recommended, even though it’s not out yet.)
- Slow, often unstable, and CPU-hungry
- Browser-only
- Loses all desktop functionality (hardware support is significantly less than what you get with Flash)
This is not to say it’s not a good idea, or that it’s not fun to play with. In fact, none of the above restrictions take away from the coolness of John’s project — I’m really glad he did this, and I think it has a lot of potential. But let’s see how the JavaScript-happy blogosphere takes the news…




