"combining can sometimes make loads slower, due to deferral of JS execution (have to download entire combined JS file before any of the JS can be executed).
A second reason is that combining can make the resources take longer to download, due to the way that TCP slow start works"
"Simplify.js is a tiny high-performance JavaScript 2D/3D polyline simplification library by Vladimir Agafonkin, extracted from Leaflet, a JS interactive maps library of the same author. It uses a combination of Douglas-Peucker and Radial Distance algorithms. Works both on browser and server platforms."
"At Artsy we've been building Node.js applications that share code and rendering between the server and browser. We've seen many benefits from this - pages load faster, we can optimize SEO, developers are more productive, and JavaScript coding is just an overall better experience."
"A grunt task which takes a html file, finds all the css and js links, and outputs a version with all the css and js written inline for ease of pasting into a cms"
The point of $script.js is to get back to the basics of loading script's w/o blocking other resources. $script.js is fancied with a nice observer interface to make dependency management easier paired with fail-safe callbacks to allow for lazy loading techniques.
"Asm.js is a clear step towards enabling near-native performance for the Web platform, which is why we're excited to bring it to Chakra in an upcoming release."
Intéressant mais rien de vraiment nouveau... les Streams, ça existe depuis Java 1.0 (1996), et sans doute avant dans d'autres langages.
Tant mieux si ça arrive dans node.js !
Deux recherches plus approfondies sur le sujet :
http://www.iamcal.com/png-store/http://iamcal.github.com/PNGStore/
Au final, entre les problèmes de génération d'images (liés aux librairies), les problèmes d'implémentation des canvas dans les navigateurs, les limitations liées au format d'image et le peu de gain retiré face au mod_gzip, je ne suis pas convaincu que ce sera la révolution de l'année en matière de performance front...
C'est franchement de la grosse bidouille, le seul avantage que je vois c'est que ça permet de charger des JS et CSS sans les exécuter, de faire du préchargement en background pour un futur module à afficher, une popin par exemple...
Mais il existe déjà des techniques plus simples pour faire ça donc...
Librairie de chargement asynchrone de fichiers JavaScript. Elle est légère et rapide, facile à prendre en main et volontairement succinte.
À tester et comparer face à d'autres solutions plus complètes, telles que RequireJS, head.js, $scriptjs ou encore LabJS.
via @DirtyF
y'a bien un spécialiste qui va nous pondre un comparatif un de ces quatres, ça commence à faire beaucoup mais c'est bon signe pour la performance, à adapter toujours en fonction du contexte de toute façon.
moi en tout cas ça me parle.
à faire attention : comme pour d'autres loaders, il faut que le cache soit bien configuré car il fait une requête pour mettre en cache, et une 2nde requête pour exécuter, normalement depuis le cache. Si le cache n'est pas bien configuré (que veux dire "bien" : au moins 10 minutes d'expiration ?), la ressource sera téléchargée deux fois.
Pour les sites complexes avec beaucoup de JS, surveiller DOMContentLoaded (fin du parsing) plutôt que juste Load (fin du chargement) pour améliorer le ressenti utilisateur
Au sommaire, 23 liens sur : Arcep, Awwwards, scripts JS, DDoS et émotions, WebPageTest, FB Live, brotli et Varnish, métadonnées XML et images, 3rd party scripts, Offline First, WordPress to Hugo, Canonical AMP, démarrer en webperf, perf-tool
YSlow for Command Line runs on Node.JS and requires a HAR file as input source in order to analyze page performance. It is currently available as a NPM package for installation.