2 grosses semaines de vacances, cela fait du bien. Je n'ai pas tenu le blog à jour, mais j'ai continué à partager des liens sur Twitter et à faire ma revue de presse quotidienne. A priori je n'ai pas raté grand chose de l'actualité des applications Web pendant ces 2 dernières semaines. Il est maintenant temps de rattraper le retard sur ce blog en commentant les liens les plus importants, ce qui vu le volume se fera en plusieurs posts. Commençons :
- Forms : un bon tuto plus du code pour faire migrer ses formulaires vers HTML5 en construisant un fallback JS. Web Forms 2 renommé en HTML5 Forms sera sans doute la plus utilisée des fonctionnalités HTML5 et permet d'écrire dans le markup du comportemental habituellement écrit en JavaScript comme la validation, les champs obligatoires ou du texte par défaut, réduisant ainsi les temps de développement grâce aux standards. L'auteur part ici de webforms2, la seule librairie JS que je connaisse qui émule la spec Forms, mais qui n'est pas complète. Il rajoute par dessus le support des widgets, comme l'apparition d'un calendrier pour les champs de type date ou datetime, d'un color-picker pour color ou même le support de placeholder (texte par défaut qui disparait au clic) qui est bizarrement absent de webforms2. Ces widgets proviennent d'autres scripts, et dans votre implémentation vous pouvez tout à fait y préférer ceux de YUI ou jQuery. L'auteur promet de faire encore évoluer cette librairie, mais c'est en lisant cet article que je me rend compte de la somme faramineuse de travail à faire pour supporter complètement les specs HTML5 Forms, autant pour les faiseurs de navigateurs que pour des librairies JS. Malgré cela, il me semble judicieux en tant que webdev de passer d'hors et déjà à la syntaxe HTML5 pour les forms (<input type="email" required pattern="[a-z]@[a-z].com" /> par exemple). Si vous avez déjà du code comportemental écrit en JS, reprenez le pour qu'il analyse le markup au lieu de tout déclarer en JS, si vous n'en avez pas, faites votre propre classe et encapsulez webforms2 dedans pour avoir une bonne base.
- JavaScript : comment détecter qu'une propriété existe en javascript ? Facile, en général on fait un if( instance.property), sauf que cela retourne false si la property en question est une chaîne vide ou 0 en plus de null et undefined, ce qui peut surprendre si l'on vient de PHP car on croit avoir l'équivalent de isset() alors que ce test se rapproche plus de empty(). Si vous voulez éviter les surprises et vous faciliter la maintenance, vous pouvez utiliser une fonction de test (isValue() de YUI par exemple) ou plus simplement if(property in instance). Cette dernière solution pose d'autres problèmes de compréhension si vous avez une chaîne d'héritage objet
- Web Socket : tutoriel pour démarrer un projet utilisant WebSocket (communication permanente entre le client et le serveur) en PHP et Javascript. Plutôt que d'utiliser Node.js (et donc avoir à l'installer), l'auteur utilise une librairie PHP qui fait office de serveur WebSocket (attention, elle demande à pouvoir lancer un PHP en ligne de commande). Côté JS, l'auteur fait l'impasse sur un quelconque fallback Flash (il existe pourtant au moins 3 jeunes librairies : Socket.IO, web-socket-js et jWebSocket). Côté serveur, il faut signaler que PHP est fortement critiqué pour faire serveur de socket car demander à Apache+PHP de tenir ouvertes des connections pendant longtemps n'est pas vraiment ce pour quoi ils ont été développés. Mais cette librairie vous permettra au moins de commencer à tester WebSocket sans installation supplémentaire.
- Browser War : IE9 devrait sortir cet automne en beta. De mémoire MS fait en général 2 ou 3 betas de plusieurs mois avant de finalement sortir. On ne parle plus de "developer preview" comme jusqu'ici mais bien d'un vrai navigateur, avec tout son interface graphique et ses fonctionalités. Je me demande si ils vont rattraper l'avance que prendra Firefox 4 avec la gestion des identités. En attendant, continuons à tester nos sites avec la preview pour remonter des bugs à MS : lorsqu'ils seront en phase de beta, ils auront moins de temps à consacrer aux bugs du moteur, pour corriger en priorité ceux de l'interface.
Articles et liens partagés via RSS, Twitter, Facebook (twitter + blog ou blog seul), identi.ca, Delicious,
Mail
.
Les commentaires récents