ACDEFGHIJKLMNOPQRSTUVWXYZAA
1
Contact & info : http://eric.daspet.name/ , @edasfr or @webperf_fr
Authors of js loaders and webperf experts are more than welcome to request write access to the grid. Please ask, we are waiting for you.
LABjsHeadJSControlJSRequireJSLoad.jsYepNope.js$script.jsLazyLoadcurl.jsJsDefer (w/o Jquery)jquery.defer.jsBootstrapPINF JS LoaderBravoJSNBL.jsJSLoadjQlJSLStealJSbdLoadYUI 3 GetDominateJSrequire-kisssmoothie
2
Features (please read the "Warnings" worksheet)http://labjs.com/http://headjs.com/http://stevesouders.com/controljs/http://requirejs.org/https://github.com/chriso/load.jshttp://yepnopejs.com/http://www.dustindiaz.com/scriptjs/https://github.com/rgrove/lazyload/https://github.com/unscriptable/curlhttps://github.com/BorisMoore/JsDeferhttps://github.com/BorisMoore/JsDeferhttps://bitbucket.org/scott_koon/bootstrap/src/a94d219da3e9/READMEhttps://github.com/pinf/loader-jshttp://code.google.com/p/bravojs/http://berklee.github.com/nbl/http://code.google.com/p/jsload/https://github.com/Cerdic/jQlhttp://www.andresvidal.com/jslhttp://jupiterjs.com/news/stealjs-script-managerhttp://bdframework.org/bdLoad/http://developer.yahoo.com/yui/3/get/http://github.com/cdata/dominatejsDeadhttps://github.com/letorbi/smoothie
3
This comparaison is not maintained and was initiated by the crowd. Most of this data may be wrong or outdated. Please use it as a start for your research, not as an end.labjsheadjs
4
Author(s)Kyle SimpsonTero PiirainenSteve SoudersJames BurkeChris O'HaraAlex Sexton & Ralph HolzmannDustin DiazRyan GroveJohn Hann @unscriptableBoris MooreBoris MooreScott KoonChristoph DornWes GarlandBerkleeEric NguyenCédric MorinAndres VidalBrian MoschelRawld GillAdam Moore/YUI TeamChris Joel & Jason BenterouAJ ONeal @coolaj86Torben Haase
5
Size minified4.7 KB6.3 KB3.6 KB
(w. closure adv.)
13 KB
(+1 KB order plugin)
2 KB3.4 KB1.4 KB1.6 KB4.5KB to 6.4KB4.7 KB2.6 KB1.3 KB22 KB10.7 KB971 B9.8 KB1.5 KB2.1 KB11.4 KB17.9 KB (incl. YUI core)48 KB1.7 KB
6
Size minified and gziped2.2 KB1.9 KB1.5 KB5.3 KB
(+650B order plugin)
1 KB1.6 KB643 B904 B2.2KB to 2.9KB2.5 KB1.6 KB699 B6.2 KB3.6 KB593 B718 B855 B7.21 KB (incl. YUI core)10 KB1023 B
7
LicenseMITMITApache 2.0BSD or MITMITWTFPLMITMITMITApache 2.0MITMITMITLGPLMIT and GNUBSDMITLGPL
8
Load JS files without blockingYY (tested)YYYYYYYYYYYYYYYYYYN
9
Load independent JS files/groups in parallelparallelY (tested)Y (tested)YYYYYYYYYYYYYYYYYYN
10
Ability to execute a callback after loading a script asynchronouslycallbackY (tested)Y (tested)YYYYYYYYYYYYYYYN
11
Execute independent JS files independently from the call order (chrome, safari, ie)no-orderY (tested)Y (tested)YY?N (by design)?NYYYNYYYYN
12
Execute independent JS files independently from the call order (firefox, opera)no-orderN (tested)N (tested)YY?N (by design)?NYYYNYYYYN
13
Avoid loading a JS file twice if the HTTP cache is missing (same domain) (chrome, safari, ie)load-twiceY (tested)N (tested)NN?NN ?YYYYYYYYYN
14
Avoid loading a JS file twice if the HTTP cache is missing (cross domain) (chome, safari, ie)load-twice-xN (tested)N (tested)NN?NN ?YYYYYYYYYN
15
Avoid loading a JS file twice if the HTTP cache is missing (cross domain) (firefox, opera)load-twice-xY (tested)Y (tested)NN?NN ?YYYYYYYYYN
16
Able to avoid executing a JS file twice if called twicenoexe-twiceY (tested)Y (tested)Y??Y?NYYYYYYYYYY
17
Able to execute a JS file twice if called twiceexe-twiceY (tested)N (by design)N??Y?YY/NNNN ?NNN ?N ?CachedN
18
Allow to define dependencies (executed before the wanted script)depY (tested)Y (tested)YYYYYPartiallyYYYYYYYYYN
19
Load dependencies in paralleldep-parallelY (tested)Y (tested)YYYYY ?YYYYYYYYNYN
20
Load JS files outside the "same domain" policyexternalY (tested)Y (tested)YY?Y?YYYYYPlannedNYYY
21
Feature detection and no user agent sniffingYNNY?Y?NYN/AN/AYYYYNY
22
Future proof with async=falseYY (tested)N/APartialyNN/ANYYNNNPlannedPlannedNPlannedN
23
Ability to define shortcuts or ids (not full urls) to JS files / groupsNY (tested)NY/NNYYNYYYNYYNYNN
24
Ability to pre-define dependencies in the <head> or somewhere centralNYNYNNNNYYYNYYYYNY
25
Compliant with the CommonJS Modules specNPlannedNY?N/AIn ProgressNYNNNYYNNNY
26
Supports plugins/extensionsNNNYNYNNYNNNPlannedYNNNN
27
Let use classic <script> external tags (controlJS style)NNYNNNNNNYYNNNNYY
28
Patches page's document.readyState (FF<=3.5) for DOM-ready detection in dynamically loaded jQuery, etcYNNNNY?NYYYNNNNY?NN/A
29
Control which and when scripts are executed (load without execute)NNYNNYNNYNNNYYNNN
30
Overwrite document.writeNNYNNNNNNNNNNNNY?YN
31
Aggregation detection and support (bulk download)NNNY (w. plugin)NNNNNYYNYvia PluginNNN
32
Callback if script is missing (404) or in error (500)NPlannedNYYYnot sureNYYYNNNYPlannedN/A
33
Fallback domain / mirror if the main URI failsNNNNY/NYNNYNNNPlannedNNPlannedN/A
34
Allow for returning valuesNNNYNNNNYYYNNNNNN
35
Allow passing of parameters or contextNNNYNNNNYYYYNNNNN
36
Load CSSNY (tested)NY/NNYY ?YYPlannedPlannedYPlannedNYNPlannedN
37
Load CSS without blockingNNNY/NNYY ?YYPlannedPlannedYPlannedNYNN
38
Load CSS in parallelNY (tested)NY/NNYY ?YYPlannedPlannedYPlannedNYNN
39
Ability to define priorities in loading queueNNNYNNNNY/NNNNYYYYN
40
Conditional LoadingY (tested)Y
41
42
43
44
CommonJS Package/1.1 supportNYNYNNYvia PluginNN
45
CommonJS Package/Mappings/C supportNNNPlannedNNYvia PluginNNN
46
CommonJS AMD supportPlannedYNYNNYNNNPlanned
47
Runs in browserY (tested)YYYYYYYYYY
48
Runs on serverNYNNNNYYUntestedMaybeN
49
ASYNC package downloading, provisioning & linkingNNNNNNYNNNN
50
Tools/ability to inline and optimize multiple scripts/modules/resourcesNYNPlannedNNYNYNN
51
Command-line supportNNNNNNYNNNY
52
WebWorker support (importScripts())NYNNNNYvia PluginNNN
53
Deferred/Promise integration (allowing 'joins' for callbacks)PlannedNYYYN
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100