Revue de Presse Web de hier :
- CSS et bonnes pratiques : bel exemple d'enrichissement progressif : au détour d'un exemple sur l'utilisation du pseudo-élément :after, de sélecteur d'attribut (a[target="_blank"]) et de quelques propriétés CSS3 (border-radius), l'auteur démontre que dans certains cas il n'est pas besoin d'attendre que tous les navigateurs supportent la même chose pour utiliser une techno : IE6 et 7 n'affichent rien, et le rendu n'est clairement pas pixel-perfect pour les autres, mais la fonctionnalité est le plus souvent là. A négocier au cas par cas avec son designer bien sur, et cela demande un peu plus de travail, ne serait ce que pour visualiser le rendu sur chaque navigateur à chaque modif, mais bien maîtrisée cette pratique permet d'améliorer l'expérience de la majorité de vos utilisateurs.
- HTML5 drag&drop : exemple d'implémentation en production d'un drop de fichiers depuis le bureau, avec barre d'upload. Dispo depuis FF3.6 (voir la première démo Mozilla), leur implémentation utilisait dans une première version la FileAPI et l'event onprogress de XHR (en théorie compatible avec la prochaine version de Chrome donc). Etre précurseur a un prix et ils ont ainsi pu découvrir que charger des fichiers de plus de 25Mo n'était pas raisonnable. Ils vont donc utiliser une autre méthode recommandée par Mozilla (mais je n'arrive pas à savoir si elle est standard), qui les obligera à faire des modifications côté serveur, en attendant FF4 et FormData (et là non plus je ne sais pas quels browsers vont assurer ce standard). Leur métier principal est de charger des fichiers, on peut donc comprendre qu'ils modifient autant de code pour une minorité d'utilisateurs, d'autant qu'ils ont eu des retombées presse, mais je doute que beaucoup d'entre nous les suivent. Rappelons que la seule alternative actuelle pour faire du drop de fichier depuis le bureau dans un browser est ... les applets Java ou ActiveX
- JS : module YUI3 pour exécuter du code JS qui n'est pas encore là. Un peu sur le même principe que Facebook, un listener est posé sur toute la page, qui capture tous les évènements, les annule et les stocke. Lorsque le JS concerné arrive et que les listeners sont posés, tous les évènements sont joués, appelant ainsi les callbacks. L'avantage par rapport à FB, c'est que cette complexité est cachée par la librairie, il n'y a donc pas de modification majeure de code à faire. Par contre le fait d'annuler tous les clics d'une page par exemple, signifie que vous empêchez votre utilisateur de naviguer tant que le JS n'est pas là, comportement acceptable seulement sur de vraies applications Web (Gmail, FB, ...).
- Perfs : les principales métriques à surveiller pour évaluer l'impression de performance d'un site. La plus importante à mon sens est le délai avant la première apparition d'un bout du site. Si vous suivez déjà la directive "Flush early", vous faîte au moins apparaître le header de votre site le plus tôt possible alors que la page continue d'être calculée, ce qui demande déjà à ce que navigateur ait téléchargé CSS+JS du header. Ce qui est plus difficilement mesurable, c'est le délai avant l'apparition d'un morceau utile du site, ce qui varie selon la page : formulaire de login pour une homepage, corps d'article pour un journal / blog ... Les autres métriques sont plus classiques (temps total passé en DNS, poids total, temps d'attente ...) et sont mesurables par le logiciel Dynatrace AJAX Edition. Si vous le couplez avec Selenium, vous serez en mesure d'avoir un historique de ces métriques et de les vérifier à chaque montée de version.
- Browser War : sortie de la preview 3 d'IE9. Support surprise de Canvas, ainsi que <video> et <audio>, des polices WOFF le tout boosté par l'accélération matérielle (ils n'ont pas la problèmatique de Mozilla d'être cross-platform). Les démos sont effectivement impressionnantes de fluidité sur des machines qui ont une carte graphique valable (sur mes machines virtuelles, on ne voit pas la différence avec FF). EcmaScript 5 a l'air complètement supporté, le DOM est plus conforme (mais pas encore assez selon la 2nde partie de ce post), CSS2.1 est complètement supporté, CSS3 arrive doucement, ainsi que WebTiming (mesures véritables des perfs JS/rendering) arrive aussi. Continuez à tester votre site avec IE9 pour signaler des bugs : ils m'en ont fixé un, mais la nouvelle version m'en a apporté 2 autres ... C'est pénible à faire, mais ça sera pire si la version finale sort avec ces bugs sur votre site :)
- Browser War : les ventes de Seven se portent bien, merci pour eux, mais pour les webdevs ça signifie surtout une diminution directe du nombre d'IE6 qui vont passer directement à IE8, surtout que ce sont les réseaux d'entreprise qui commencent à s'y mettre, principaux fournisseurs d'IE6 en Europe / US.
Articles et liens partagés via RSS, Twitter, identi.ca ou Delicious
Les commentaires récents