- Since MediaWiki 1.26, gadgets are now required to use ResourceLoader - see ResourceLoader/Migration guide (users) for more details.
- → See ResourceLoader/Features for a complete walk through of ResourceLoader
ResourceLoader solves this problem by loading resources on-demand and only for browsers that can run them. Although there is much more to it, the overall flow for client-side performance can be summarized by these 3 points:
- Minifying and concatenating
→ which reduces the code's size and parsing/download time
- Batch loading
→ which reduces the number of requests made
- Data URI embedding
→ which further reduces the number of requests, response time and bandwidth
Optionally images referenced in stylesheets can be embedded as data URIs. Together with the gzipping of the server response, those embedded images, together, function as a "super sprite".
- Features – Complete overview of ResourceLoader features.
- Developing with ResourceLoader – notes on configuring your development environment and on switching ResourceLoader between development and production modes.
- Migration guide for extension developers – a guide to making extensions to work with ResourceLoader.
- Migration guide (users)
- Core modules – an overview of all core modules, supported with documentation and examples.
- Vocabulary – the terminology used in ResourceLoader (such as Loader, Module, Requirement, etc.)
These presentations detail the purpose and results of ResourceLoader.
These presentations go more in-depth towards developers already familiar with MediaWiki development.
- Requirements – requirements gathered during the creation of ResourceLoader.
- Version 1 Specification – the design document for the creation of ResourceLoader.
- Version 2 Specification – the design document for the 2011/2012 extension of ResourceLoader to support cross-wiki module loading.
The current implementation of the MediaWiki mobile view as provided by Extension:MobileFrontend has many caveats. For tips to using ResourceLoader to the best of its ability, please see Writing a mobile friendly ResourceLoader module.