- From: Kornel Lesiński <kornel@geekhood.net>
- Date: Wed, 09 Feb 2011 22:47:50 -0000
- To: "Kyle Simpson" <getify@gmail.com>
- Cc: "public-html@w3.org" <public-html@w3.org>
On Wed, 09 Feb 2011 00:31:59 -0000, Kyle Simpson <getify@gmail.com> wrote: > ?> Isn't this just a quality of implementation issue? > > No, frankly it isn't. No matter how good the implementation of the > JavaScript engine on mobile, the mobile device will always be much more > limited in processing power than a desktop browser environment. By quality of implementation I mean the fact that script parsing *can* be non-blocking. As far as I understand if you use <script async>, then the spec already allows browsers to download *and parse* the script asynchronously (syntax tree is not dependent on DOM state, so parsing can be done without any interaction with the page or UI). The only time when spec requires browsers to block UI is during execution of the script itself. However, if the script you're loading doesn't immediately do any heavy work in top level (global) scope (i.e. all code is in functions), then it shouldn't cause perceptible delay, even on today's hardware. e.g. if you have file: function make_the_script_run(){ // lots of stuff // megs of code // thousands of definitions }; and load it with <script async>, then all the heavy bits can be (in good quality implementation) parsed asynchronously without any adverse effect on UI (other scripts and UI events can be executed while this one is still parsing). Execution of top level of that script will not execute huge amount of code, it will only hook up one already-parsed function in global scope, which is very quick. I wouldn't want to add API to the platform that only solves implementation issue in today's (and near-future) implementations, because the API is going to outlive them. In near future you'll have to use workarounds anyway, because it will take some time before feature is specced, implemented, ships with next OS and all users upgrade their OS/phones. -- regards, Kornel
Received on Wednesday, 9 February 2011 22:48:21 UTC