When you visit search.yahoo.com, some lazy-loaded JavaScript resources are served from a Node.js server.
That server uses YUI server-side to calculate JS module dependencies for that page's autocomplete feature. Since the response is very cacheable, and resolving dependencies doesn't happen on the client anymore, this technique improves loading time for that feature by 40%.
It also delivers less code for modern browsers. Feature tests from the browser are sent in the request, which server-side YUI considers for eliminating code only needed by older browsers.
- Downloading and parsing metadata about modules YUI can load (eliminated)
- Calculating what files to download based on the metadata (moved to the server)
These tasks are usually started by the script loader inside of YUI's seed file, which is a small script that provides the loading API in the browser.
Instead of doing these two steps, the seed simply asks the server for what's needed and gets it back, near-instantly: it's likely in your browser cache, or a Yahoo! CDN edge cache primed from another visitor.
Most savings come from a combination of less code downloaded and cachability of the result. Slower browsers (old IE, mobile phones) also benefit from less execution time, because they are particularly slow at doing the loading themselves -- IE 6 users enjoy 60% faster feature startup after the switch to server-side loading.
That server uses YUI server-side to calculate JS module dependencies for that page's autocomplete feature. Since the response is very cacheable, and resolving dependencies doesn't happen on the client anymore, this technique improves loading time for that feature by 40%.
It also delivers less code for modern browsers. Feature tests from the browser are sent in the request, which server-side YUI considers for eliminating code only needed by older browsers.