My MacBook Pro runs JavaScript 26.7x as fast as my iPad
globelogger.com
globelogger.com
Yes, a million times yes.
> "I think oit's plenty fast enough to run most non-game apps."
Right, and that's the same argument used by a bajillion people before someone else came and ate their lunch (including Apple!). Nokia had a functional, but slow, sluggish, and substandard user experience on their phones. Apple came in and stomped all over that with their slick, super-fast, snappy UI.
IE was functional - sites worked and all - but was slow and bloated when Firefox came along and blew it out of the water in every way that mattered.
Performance always matters. When you're making the "meh, good enough" argument, you're in a prime position to be taken out spectacularly by a competitor who cares.
The complexity of JS-based webapps is going to get higher, not lower. A web-browsing device that performs JavaScript badly is a BFD.
Only if that's the winning tradeoff. If, in fact, "ability to run well on a mobile device that is desperate to conserve battery power" turns out to be a more valuable trait in a particular segment of the market than "has lots and lots of complex JS logic that takes power to run" then software will evolve accordingly.
I think nobody would argue that performance doesn’t matter, it’s just that you can’t always have everything and then you better pick the right stuff. Apple probably thinks that JS performance is good enough. For now. And that’s a attitude I would have no problems with.
In principle, yes, but if you're marketing a device that is some kind of ultimate web-browsing machine, and you have to crank down JS performance to hit battery life... then the technology for your device isn't there yet.
Apple has made the claim forever that they don't execute until the right technologies are there (an argument they repeated for iPad) - and have frequently accused competitors of launching something before it's ready (IMHO, a valid point). This would seem to fit into that case - assuming JS performance is deliberately low as a trade for battery life.
Here on a Macbook Pro (Chrome latest version), Google docs is not always a pleasant experience -- especially when opening nontrivial spreadsheets.
As according to everyone the web shall displace desktop apps in about every area, this means that really complex web application must be able to run.
A slow browser will only lead to the webapps we have today which are not very complex in comparison to full fledged desktop apps (see Google Docs vs. Office, Mailclient vs. gmail, etc.).
If browsers continue to perform that different and also continue to implement different features with different syntax, where will this lead? To web apps that are built for the slowest browser and the most minimal features available. The only way out of this dead end, that i see are web applications that are just browser specific (aka "The website was developed and tested with browser XXX. Please download XXX _here_ or continue on your own risk").
And both ways sound horrible to me. Look at some HTML5 "tech demos" and see what web apps could be capable of and then look at the web. We are still years behind and it will take several more years to have web sites that implement new features.
I wrote a small HTML5 offline-capable web app, processing a ~100KB JSON file with around 200 items. For ease of development, I initially used a JSON query library, which was perfectly fast on my laptop, a bit pokey on my 3GS, and - as I found out rather late - amazingly slow on an iPhone 3G.
I removed the library in question and rewrote my queries to use JS1.6's filter function; along with some template optimization, I managed to get the delay down to somewhat reasonable... but it's still a touch pokey on original 3G iPhones and older Android phones for my tastes.
There's likely more optimization I could have done, but I tested far too late on slower devices and just didn't have enough time. In the future we're looking at either writing a native app or using HTML5 database storage - but most importantly, testing far more regularly on slower devices. We've also reconsidered writing some truly large applications in HTML5, as we're rather worried devices will just be too slow, and we won't find out until late in development.
(The app in question is http://pax.expojunkie.com/, if anyone wants to take a look.)
tl;dr: Yes, JavaScript performance can be a problem. If you're writing a JavaScript-heavy site, get the slowest device you expect your users to have and test it regularly.
(Disclaimer: I do power management for a living but I haven't used an iPad.)
I can say that frequently make a frowney face at my iPhone and wonder what the heck it is doing while I wait, but that I never have done that to my iPad. So while the iPad browser is not in the running for "fastest javascript platform on the planet", it is "fast" for everything I've done in real life with it.
Edit: put "fast" in quotes per the suggestion below
for those who haven't watched it, it's a video about how awful the HTML5 experience is on the iPad so far, not only because of speed but because developers haven't developed for the touch events.
How many extra apps do you think that move would make people buy: 2? 5? So you think they'd cripple performance and lose hundreds of thousands of sales so that they can get people to spend an extra $20 or so at the app store, of which they'll get all of $6? If they wanted your extra $6 that badly they'd just up the price on the device.
I just don't understand this constant assumption that every decision Apple makes is anti-competitive and designed to achieve lockin. Isn't it way more rational to assume that they want to make the device as good as possible because they make money by selling devices, and that their decisions are primarily driven by that motive?
If you're going to make up some conspiracy theory, at least make sure it has some foundation in logic.