Well, not any worse than any other cross-platform technology. This has been bugging me for a while now. You know, the clueless managers that ask you questions like “HTML5 seems to have a performance issue, it doesn’t run well on my Internet Explorer 6!”. This has to stop.
It’s generally accepted that PS3 Games don’t run on a PlayStation 1. It’s also accepted that the newest PC games don’t run well on 10 year old computers or smartphones. Yet, mysteriously, HTML5 must have a huge performance issue, due to the fact that the crazy game prototype your intern has been building doesn’t run on my 3-year old Android phone. Are you kidding me?
If you want to complain, go all in. Where are the tweets and blog posts about DirectX’s performance issues? OpenGL? Hell, even Cocoa (ever tried jailbreaking your iPhone 1 and trying to run the latest apps on it. Yeah.)?
This happens because expectations are way too high. HTML5 – or the set of technologies that we think it is – is a relatively young, and since it is marketed as being able to run everywhere latest browsers run, folks easily jump to the conclusion that it doesn’t only have to run, but has to run well. No technology can do that. Only magic can.
Of course, building HTML5 games and apps that only runs on selected devices (i.e. 50%) defeats one of the stronger selling arguments of it: build once, run everywhere. But Android 2.x is being phased out more quickly than before, Internet Explorer is outperforming many, if not all other browsers in terms of rendering performance, and customers adopt new hardware faster than ever. If you’re going to build a product that is going to be released 12 months from now, build for the set of devices that people will use then, not now.
So in the words of Jay-Z: HTML5’s got 99 problems but performance ain’t one of them.
(Sloth picture by Duplisea)