Is this related, in any way, 
to https://v8.paulfryzel.com/docs/master/classv8_1_1_module.html ?

Will this documentation be updated as a part of this implementation, if 
appropriate?


On Wednesday, July 5, 2017 at 5:04:07 PM UTC-7, Sathya Gunasekaran wrote:
>
> Contact emails
>
> V8 implementation: gsat...@chromium.org <javascript:>
>
> Blink implementation: kou...@chromium.org <javascript:>
>
> Spec: dome...@chromium.org <javascript:>
>
> Spec
>
> JavaScript side: https://tc39.github.io/proposal-dynamic-import/
>
> This is a stage 3 proposal, which per the TC39 process 
> <https://tc39.github.io/process-document/> is the appropriate time to 
> implement (and ship).
>
> Web side: 
> https://github.com/tc39/proposal-dynamic-import/blob/master/HTML%20Integration.md
>
> This is a (detailed) draft which will be integrated into HTML 
> <https://github.com/whatwg/html/issues/2315> shortly.
>
> Summary
>
> import() is an addition to the JavaScript module system which allows 
> dynamic importing of modules, as opposed to the static/declarative 
> importing provided by the import declaration. It is a new JavaScript 
> "function-like" syntactic form, similar to super().
>
> Motivation
>
> (From 
> https://github.com/tc39/proposal-dynamic-import#motivation-and-use-cases)
>
> The existing syntactic forms for importing modules are static 
> declarations. They accept a string literal as the module specifier, and 
> introduce bindings into the local scope via a pre-runtime "linking" 
> process. This is a great design for the 90% case, and supports important 
> use cases such as static analysis, bundling tools, and tree shaking.
>
> However, it's also desirable to be able to dynamically load parts of a 
> JavaScript application at runtime. This could be because of factors only 
> known at runtime (such as the user's language), for performance reasons 
> (not loading code until it is likely to be used), or for robustness reasons 
> (surviving failure to load a non-critical module). Such dynamic 
> code-loading has a long history, especially on the web, but also in Node.js 
> (to delay startup costs). The existing `import` syntax does not support 
> such use cases.
>
> Truly dynamic code loading also enables advanced scenarios, such as racing 
> multiple modules against each other and choosing the first to successfully 
> load.
>
> ---
>
> Today this is also possible via dynamically creating and inserting <script 
> type="module"> elements. However, this has a number of disadvantages. See 
> https://github.com/tc39/proposal-dynamic-import#using-host-specific-mechanisms
>  
> for more information on that comparison.
>
>
> Interoperability and Compatibility Risk
>
> This is a mature feature in the TC39 process, implying at least support 
> from at least all JavaScript engine teams at each browser. We anticipate it 
> being implemented rapidly, either alongside initial implementations of 
> JavaScript modules or shortly thereafter.
>
> Edge: Public support 
> <https://github.com/tc39/tc39-notes/blob/master/es7/2016-11/dec-1.md#14ii-import-open-issues-and-stage-3-discussion>
>
> Firefox: Public support 
> <https://github.com/tc39/tc39-notes/blob/master/es7/2016-11/dec-1.md#14ii-import-open-issues-and-stage-3-discussion>
>
> Safari: Shipped <https://bugs.webkit.org/show_bug.cgi?id=166926> in 
> Safari Tech Preview
>
> Web developers: Positive
>
> Ongoing technical constraints
>
> None.
>
> Will this feature be supported on all six Blink platforms (Windows, Mac, 
> Linux, Chrome OS, Android, and Android WebView)?
>
> Yes.
>
> OWP launch tracking bug
>
> https://crbug.com/711706
>
> Link to entry on the feature dashboard <https://www.chromestatus.com/>
>
> https://www.chromestatus.com/feature/5684934484164608
>
> Requesting approval to ship?
>
> Not yet, but hopefully soon!
>
>

-- 
-- 
v8-users mailing list
v8-users@googlegroups.com
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to