Quantcast
Channel: MathieuRobin.com » iphone
Viewing all articles
Browse latest Browse all 10

Des nouvelles de jQuery, épisode 44

$
0
0

En pleine période JSconf et de JQcon, voilà de l’annonce et de nouvelles choses qui se sont produites cette semaine dans le monde merveilleux de jQuery. (comment ça vous espériez que je dise bisounours ?)

Tout d’abord : jQuery 1.7 beta 1 est disponible ! jQuery Mobile RC 1 aussi !

Commençons par la 1.7 du core. Le changement le plus important se situe du côté de la gestion des évènements. A mon avis, ce changement nécessitera un billet séparé que j’ai le temps de tout étudier en profondeur. Dans les grandes lignes, les méthodes bind(), delegate(), live() et leurs opposées respectives unbind(), undelegate() et die() dégagent. Enfin elles deviennent obsolètes et même si maintenues ne doivent plus êtres utilisées. Elles sont remplacées par un duo simplifié de méthodes : on() et off(). Je reprends le tableau proposé par l’annonce officielle pour proposer des exemples de ce changement :

 

Old API	                                      New API
$(elems).bind(events, fn)	              $(elems).on(events, fn)
$(elems).bind(events, { mydata: 42 }, fn)     $(elems).on(events, { mydata: 42 }, fn)
$(elems).unbind(events, fn)	              $(elems).off(events, fn)
$(elems).delegate(events, selector, fn)	      $(elems).on(events, selector, fn)
$(elems).undelegate(events, selector, fn)     $(elems).off(events, selector, fn)
$(selector).live(events, fn)	              $(document).on(events, selector, fn)
$(selector).die(events, fn)	              $(document).off(events, selector, fn)

Reste à savoir si l’unification de bind() et live() ne va pas poser des soucis de performances. bind() qui est derrière les méthodes telles que click() obtenaient de bien meilleurs résultats que live() qui était littéralement un escargot. Une batterie de tests est nécessaire.

Pour le reste, c’est une compilation de petites nouveautés pratiques. La fonction removeAttr() peut maintenant supprimer plusieurs éléments. Exemple :

 

var div = $("<div id='a' alt='b' title='c' rel='d'></div>");
div.removeAttr( "id alt title rel" );

La fonction removeData(), comme pour removeAttr(), permet maintenant de supprimer plusieurs données en passant une chaîne de noms séparés par des espaces, ou via un tableau de noms. Dailleurs, il faut que je signale que, dans la documentation, il y a deux pages « clones » concernant removeData()…

Du côté des animations, une amélioration a été apportée permettant un esthétisme amélioré. L’arrêt prématuré d’une animation bloquait en l’état l’élément dans une taille qui n’était pas celle souhaitée. Ce souci est réglé.

Pour finir sur jQuery 1.7 beta 1, le support du HTML 5 a été amélioré et la gestion des évènements change et submit pour les formulaires sous IE 6, 7 et 8 a été amélioré. Vous pouvez consulter l’annonce officielle, contenant un changelog détaillé, et un billet très intéressant sur le blog d’Addy Osmani, l’un des contributeurs rappelons le.

Avant de passer à l’activité en générale, on va quand même faire un crochet sur l’annonce de jQuery Mobile RC 1. Etant donné qu’ils sont sur une phase de stabilisation du framework, peu de grosses nouveautés.

Ceci dit, ils en ont profité pour améliorer le widget « pliant » (collapsible) et l’accordéon. Au passage, ils ont ajouté un attribut data-content-theme. Je n’ai pas encore saisi la teneur de cet élément, désolé, je vous en reparlerai donc plus tard, quand j’aurai compris. Apparemment cela permet de changer une partie de l’apparence de l’accordéon en retirant les coins arrondis entre autres.

Les transitions et les barres d’outils pour iOS 5 ont été revus mais elles ont aussi été désactivées par défaut. Pour la simple et bonne raison que tant que cet OS n’est pas disponible en version définitive, ils préfèrent émettre des réserves sur la viabilité de cet élément sur cet OS.

Du côté du champ de recherche, l’icône d’illustration est désormais personnalisable. C’était le dernier qui manquait à l’appel. Pour l’anecdote, IE 6 et 7 ne pourront pas afficher cet icône, la technique de sprite utilisée n’étant tout simplement pas supportée par ces navigateurs. Décidément, ceux sont vraiment une calamité ceux-là.

Je compte vous en parler prochainement dans un billet à propos du maquettage d’applications jQuery Mobile : un ThemeRoller dédié est en préparation ! C’est Tyler Benzinger, un ingénieur de chez Adobe, qui s’y colle. Je vous propose une vidéo mise en ligne par Scott Jehl pour en avoir un aperçu.

Idem du côté du DownloadBuilder, je vous en parlais déjà la semaine dernière, cet outil permettra de charger une version personnalisée de jQuery Mobile adaptée à vos besoins.

Et pour finir, vu que beaucoup d’utilisateurs ont râlé (exemple), une documentation « classique » est en préparation, la documentation exemple n’étant apparemment pas suffisante.

Sortons des annonces pour passer aux forums. Un utilisateur s’est plaint (ce qui peut se comprendre), que les contrôles de formulaire que sont les checkboxes, les radios, les textfields, textareas, et autres ne soient pas encore personnalisables. Scott Gonzales a rappelé que cela fait partie de la roadmap pour la version 2.0.

Du côté des plugins, je vous propose MobiScroll, proposé originellement par LaFermeDuWeb. Un très bon Date-DateTime-Time-NimporteQuoi Picker. Construit selon les normes les plus récentes de construction de plugins, celui-ci permet comme sa catégorisation l’indique de saisir facilement une date, une heure, une date et une heure ou encore une combinaison d’images à la méthode machine à sous. Il reprend le style graphique des widgets équivalents sur nos OS mobiles tels qu’Android et iOS, sur lesquels il est aussi compatible.

Au passage, l’ami Gilles Felix de chez Novius-Labs a mis à jour son superbe plugin inputFileThumb. Celui-ci remplace agréablement le champ de fichier de vos formulaires. Je ne pouvais que transmettre l’info 😉 Vous pouvez jouer avec aussi sur GitHub.

D’ailleurs en parlant de chargement de fichiers, TutorialZine a proposé un tutoriel très complet sur un chargeur de fichiers utilisant jQuery et HTML 5. Je ne peux là aussi que vous suggérer d’y jeter un oeil.

Le site Speckyboy a par ailleurs proposé une liste de 40 plugins récents pour jQuery. Pour info.

Enfin, l’équipe de développement du core a recommandé via Twitter la troisième édition du livre « Learning JQuery« .

Pour info, comme je l’ai suggéré, la JQcon et la JSconf, c’était ce weekend. J’espère pouvoir vous en parler rapidement. Vous pouvez déjà jeter un oeil aux photos de la JQcon. D’ailleurs, pour info, si les concernés se reconnaissent, un parapluie et un téléphone Motorola ont été oublié dans une des salles de conférence.

Flattr this!


Viewing all articles
Browse latest Browse all 10