- From: Ian Hickson <ian@hixie.ch>
- Date: Wed, 24 Jul 2013 18:18:01 +0000 (UTC)
- To: Anne van Kesteren <annevk@annevk.nl>
- Cc: whatwg@whatwg.org, Adam Barth <w3c@adambarth.com>
On Wed, 9 Jan 2013, Anne van Kesteren wrote: > On Wed, Jan 9, 2013 at 9:32 PM, Ian Hickson <ian@hixie.ch> wrote: > > Advantages of putting this in JS over multipart: > > > > - it's backwards-compatible > > - it's easier to parse a static barrier than a multipart/*'s wacky > > syntax. > > - it doesn't impact any of the current fetching logic, since it's > > still just one resource instead of introducing a layer in between > > <script>'s logic and the JS logic. > > - it automatically works anywhere you can use JS, not just where HTTP is > > involved. > > - it can be shimmed more easily (if you trust the JS not to have > > arbitrary injection and be written with the shim in mind, especially). > > - it doesn't run into weird problems like what if a part has the wrong > > MIME type. > > - it's way easier to deploy (authors hate having to set MIME types). > > - it doesn't run into the problem that all UAs have historically ignored > > the MIME type of script. > > Adding magic meaning to certain JavaScript comments seems like a pretty > big downside though. Furthermore, multipart logic, however weird, is a > sunk cost both on consumer and producer side, whereas introducing > /*@BREAK*/ seems like a very steep uphill battle. And actually <img> is > a precedent for checking a MIME type before sniffing/executing and it > hasn't been much of a problem. (The problems there were mostly figuring > out how SVG should work.) Yeah, but the multipart logic has pretty big disadvantages -- mainly the opposite of the advantages for a built-in feature: - not backwards compatible - not as simple to understand, use, implement, or spec - doesn't really work outside HTTP - harder to shim - more edge cases to define (e.g. what if the MIME types of the parts change unexpectedly) - requires setting MIME types, which authors hate I think JavaScript would be the logical place to support this. We don't use multipart/* logic to do incremental rendering of HTML, we don't use it for incremental rendering of images (only for animating them), why would we use it for incremental execution of script? I think scripts, just like image formats, HTML, XML, etc, should have built-in support for incremental processing. -- Ian Hickson U+1047E )\._.,--....,'``. fL http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,. Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.'
Received on Wednesday, 24 July 2013 18:18:25 UTC