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.
ResourceLoader loads script and style resources on-demand and only for browsers that are capable of running them. Some highlighted features:
- Minifying and concatenating
→ This reduces the size of the code, saving bandwidth cost and download time.
- Batch loading and local cache defragmentation
→ This reduces the number of requests made.
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.
- Bundle static files with generated data and virtual files
→ This allows granular configuration without overhead of additional API requests. 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).