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.
- → See ResourceLoader/Architecture to learn about the system's principles and overall design.
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 allow 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).
- Architecture – overview of ResourceLoader's architecture and how its features work.
- Developing with ResourceLoader – how to create, register and load modules in MediaWiki core and extensions.
- Core modules – documentation for of all built-in modules that ship with MediaWiki core.
- Package modules – How to use ResourceLoader with packageFiles.
- Migration guide (users) - convert gadgets and user scripts from before 2015 to use ResourceLoader
These presentations detail the purpose and results of ResourceLoader.
A very complete presentation of why, how and what ResourceLoader does.
These presentations go more in-depth towards developers already familiar with MediaWiki development.
A walk through ResourceLoader's features and how to develop with it in a MediaWiki extension.