jQuery, le bulletin hebdomadaire

Actualité jQuery, épisode 29

Flattr this!

On commence bien entendu par :

jQuery Mobile beta 1 est disponible!

Depuis le temps qu'on l'attendait, la voilà, ça s'approche de la sortie finale, génial non ?! 😉

Voici ce qu'il y a au menu :

  • Nécessite jQuery 1.6 ;
  • Ajout de Blackberry OS 5 et Opera Mini (je vous mets un point compatibilité après) ;
  • Disparition de la barre d'URL pour Android et iOS, il y a un scroll auto de 1px (Android) et 0px (iOS) au chargement, elle n'est pas supprimée, juste cachée ;
  • Rendu plus agréable des transitions et possibilité de les étendre ;
  • Scroll plus rapide ;
  • Zoom par simple ou double tap sur l'écran réactivé ;
  • Bouton "précédent" toujours désactivé par défaut ;
  • Amélioration naturelle du rendu des applications (par exemple : les champs input s'adaptent automatiquement à la taille de l'écran) ;
  • Suppression du DatePicker de jQuery UI (je vous en parlais ici).

Point rapide sur la compatibilité avec les téléphones qui ont servi aux tests :

Niveau A – Support maximum

  • Apple iOS 3.2-5.0 beta : iPad (3.2 / 4.3), iPad 2 (4.3), iPhone (3.1), iPhone 3 (3.2), 3GS (4.3) et 4 (4.3 / 5.0 beta)
  • Android 2.1-2.3 : HTC Incredible (2.2), Droid (2.2), Nook Color (2.2), HTC Aria (2.1), émulateur (2.3). Fonctionne sur 1.5 & 1.6 mais les performances laissent à désirer, exemple sur Google G1 (1.5)
  • Windows Phone 7 : HTC 7 Surround
  • Blackberry 6.0 : Torch 9800 et Style 9670
  • Blackberry Playbook : PlayBook version 1.0.1 / 1.0.5
  • Palm WebOS (1.4-2.0) : Palm Pixi (1.4), Pre (1.4) et Pre 2 (2.0)
  • Firebox Mobile (Beta) : Android 2.2
  • Opera Mobile 11.0 : iPhone 3GS et 4 (5.0/6.0), Android 2.2 (5.0/6.0), Windows Mobile 6.5 (5.0)
  • Kindle 3 : Navigateur WebKit inclut du Kindle 3
  • Chrome Desktop 11-13 : OS X 10.6.7 et Windows 7
  • Firefox Desktop 3.6-4.0 : OS X 10.6.7 et Windows 7
  • Internet Explorer 7-9 : Windows XP, Vista et 7 (quelques soucis CSS connus)
  • Opera Desktop 10-11 : OS X 10.6.7 and Windows 7

Niveau B – Support quasi complet hormis navigation Ajax

  • Blackberry 5.0 : Storm 2 9550, Bold 9770
  • Opera Mini (5.0-6.0) : iOS 3.2/4.3
  • Windows Mobile 6.5 : HTC (pas de modèle précisé)

Niveau C – Support minimal

  • Blackberry4.x : Curve 8330

Pas de support officiel – Peut-être que ça marche, peut-être pas, aucun test ni debug n'est assuré

Quelques éléments ne sont pas encore classés, voilà ce qu'il en est :

  • Nokia S60 : prévu pour la beta 2. Niveaux A/B attendus selon tests ;
  • Meego : Il était prévu que ce soit supporté mais après décision de Nokia de transformer l'OS en plateforme expérimentale, il y a des chances que le support saute ;
  • Samsung Bada : Le projet n'a pas pu être testé officiellement mais les retours utilisateurs indiquent un bon fonctionnement. Le niveau de support restera inconnu pour la 1.0 à priori.
  • Palm WebOS 3.0 : Même chose que Bada, mais Palm devrait prochainement fournir à l'équipe les moyens de tester. Affaire à suivre

Vous pouvez récupérer cette beta ici :

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0b1/jquery.mobile-1.0b1.min.css" />
<script src="http://code.jquery.com/jquery-1.6.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.0b1/jquery.mobile-1.0b1.min.js"></script>

Annonce officielle ici.

Une proposition a été faite pour le core de jQuery : une fonction if-else spéciale. J'avoue être sceptique sur l'utilité, je n'ai peut-être pas tout compris ou alors il y a une subtilité dont je n'ai pas connaissance. L'idée est d'avoir une fonction comme celle-ci :

$.fn.ifElse = function(c,t,f) {
    if (typeof c == 'function')
        c = c(this);
        c ? t(this) : (f ? f(this) : 0);
        return this;
};

Pour pouvoir ensuite faire ça dans le code de votre application :

$('#mydiv').find('.myclass').css(...).find('img').ifElse(function(o) {
    return o.is(':visible');
}, function(o) {
    alert(o.src + ' is visible!');
}).next()......

Il y a une discussion qui est lancée autour, surtout concentrée sur la façon de faire, mais je vais certainement m'en mêler pour comprendre l'utilité d'une telle méthode par rapport à une structure conditionnelle de base.

Je vais finir avec une anecdote. Un message laissé par un développeur qui m'a bien fait rire. Celui-ci a constaté que sur Iceweasel, version Debian de Firefox, le rendu CSS de jQuery Mobile n'est pas correctement supporté. Et il annonce clairement la couleur : si quelqu'un fait en sorte que ce soit supporté ou lui explique comment faire, il y a une prime de 20 $ à la clé. Au delà du côté original et surprenant de la demande, on ne peut que constater une chose, le produit est à peine en beta qu'il est déjà plus qu'attendu par une communauté de développeurs. Fait encourageant pour l'équipe de dev.

Je vous laisse, j'ai reçu un gros bouquin traitant de Javascript, je voudrais le dévorer 😉
(et après je vous en fait une critique, je suis sympa hein)

Flattr this!

A propos de Mathieu

Ingénieur développeur web dans la vente par correspondance B2B, adepte de nouvelles technologies et d'innovation. Vous pouvez aussi me retrouver sur Twitter @mathrobin
Cette entrée a été publiée dans jQuery, avec comme mot(s)-clef(s) , , , , , , , , , , , , , , , , , , , , , . Vous pouvez la mettre en favoris avec ce permalien.

Articles liés