ResourceLoader/nan

ResourceLoader is the delivery system in MediaWiki for JavaScript, CSS, interface icons, and localisation text. It was first deployed to Wikipedia in 2011 and released later that year as part of.

It is responsible for MediaWiki's low-cost high-performant front end, built on three principles that enable quick deployment of new code seen by Web clients on all pages in less than 5 minutes.



Iú-kuan ResourceLoader


ResourceLoader was created in 2010 by Roan Kattouw, Trevor Parscal, and Timo Tijhof.

ResourceLoader loads script and style resources on-demand and only for browsers that are capable of running them. Tsi̍t-kuá tu̍t-tshut kong-lîng:

Both JavaScript files, CSS files and interface messages are loaded in a single request.
 *  Minifying and concatenating 
 *  This reduces the size of the code, saving bandwidth cost and download time. 

The server can provide multiple module bundles in response to a single request from the browser. These are unpacked in the browser and can be re-used from the cache on subsequent page views, even if they need a different set of modules.
 *  Batch loading and local cache defragmentation 
 *  This reduces the number of requests made. 

A module can contain static files but also generated data from PHP, and virtual files that represent source code from an external source (e.g., a wiki page).
 *  Bundle static files with generated data and virtual files 
 *  This allows granular configuration without overhead of additional API requests. 

