JQuery

JQuery

jQuery Mobile Gallery

jQuery Mobile Gallery

jQuery Mobile Gallery est une galerie de sites web mobiles développés, vous l’aurez deviné, avec la librairie jQueryMobile. Je vous conseille d’aller y faire un tour si vous être intéressé par cette librairie prometteuse.

On peut déjà y trouver une bonne trentaine d’exemples de site mobiles qui pourront sûrement vous aider à vous donner un bon aperçu de ce vous pouvez faire avec jQueryMobile. Un coup d’oeil au code source vous aidera à mettre rapidement le pied à l’étrier si vous souhaitez créer votre propre site mobile.

Vous pouvez visiter la galerie à l’adresse suivante: http://www.jqmgallery.com

Sortie de jQueryMobile en version 1.0alpha3 et son grand frère jQuery en version 1.5

Sortie de jQueryMobile en version 1.0alpha3 et son grand frère jQuery en version 1.5

Ces derniers jours ont été prolifiques en news au sujet de l’écosystème jQuery. Le 31 janvier est sortie la version 1.5.0 de la librairie qui nous propose différentes améliorations intéressantes et sûrement attendues depuis longtemps par bon nombre de développeurs.

Les changements principaux de cette version concernent une réécriture complète du support Ajax fournissant une API encore plus efficace et consistante, et l’intégration d’un mécanisme qui permet de chaîner différents callbacks sur des appels de fonctions qu’ils soient asynchrones ou non.

L’API Ajax fournit maintenant un object jqXHR retourné par l’appel de la méthode jQuery.ajax() qui permet de gérer de façon consistante l’objet XMLHttpRequest quelque soit la plateforme utilisée. Par exemple, il est maintenant possible d’annuler facilement une requête JSONP ce qui n’était pas le cas auparavant.

// Assign handlers immediately after making the request,
// and remember the jxhr object for this request
var jxhr = $.ajax({ url: "example.php" })
.success(function() { alert("success"); })
.error(function() { alert("error"); })
.complete(function() { alert("complete"); });

// perform other work here ...

// Set another completion function for the request above
jxhr.complete(function(){ alert("second complete"); });

Une explication complète du mécanisme appelé: ‘Deferred Objects‘ est disponible sur le site de jQuery.

jQuery expose maintenant, par le biais de la méthode jQuery.sub() un moyen simple de créer et modifier un clone de jQuery dans la même page sans pour autant interférer avec la déclaration par défaut. il est ainsi possible d’overrider des méthodes natives jQuery sans craindre d’incompatibilité avec d’autres scripts d’une même page basée sur jQuery. Cela rend aisé l’écriture d’API basées sur jQuery sans risquer une collision de namespaces.

(function(){
var sub$ = jQuery.sub();

sub$.fn.myCustomMethod = function(){
      return 'just for me';
    };

sub$(document).ready(function() {
      sub$('body').myCustomMethod() // 'just for me'
    });
})();

typeof jQuery('body').myCustomMethod // undefined

Cette version inclut également des améliorations de performance puisque la gestion de certaines méthodes de traversée de l’arbre DOM ont largement été optimisées comme les méthodes: .children(), .prev(), and .next(). Ces améliorations sont particulièrement importantes sous webkit (Chrome et Safari), mais elles sont également intéressantes sous Internet Explorer, puisqu’elles permettent de faire décoller un peu les performances de notre cher navigateur.

A ce jour quelques 4500 tests passent avec succès sur un nombre impressionnant de browsers (dont IE6, mais également Firebox 4 beta), ce qui pousse au respect au vue de l’hétérogénéité de ce joyeux petit monde.

Pour finir sur une note intéressante, le système de build de jQuery est maintenant basé sur l’environnement serveur JavaScript: NodeJS, ce qui est plutôt original, mais qui permet au navigateur de réduire sa dépendance envers Java/Rhino, et de se tourner vers de nouvelles solutions JavaScript innovantes.

Une road map de la librairie est disponible à l’adresse suivante: http://docs.jquery.com/Roadmap.

Presque 3 longs mois après la sortie de la version précédente, jQuery Mobile vient de sortir sa troisième version alpha, accompagnant à une semaine d’intervalle la release de son grand frère jQuery en version 1.5.0. L’attente ne fut pas vaine, puisque de nombreuses améliorations sont au rendez-vous:

  • Quelques 150 bugs fixés, environs 250 nouveaux tests unitaires
  • Une amélioration substantielle de la navigation et du core de la librairie
  • Un support de première classe pour de nouveaux browsers mobiles: Firefox Mobile (Fennec), Opera Mobile / Mini. Un support de première classe est également proche pour les plateformes Windows Phone 7 et Nokia.
  • Un support amélioré des browsers des plateformes iOS, Android, BlackBerry 6, Palm WebOS, et de nose browsers de bureau.
  • La prise en charge d’un date picker, non packagé dans la version. La prise en charge de nouveaux composants devrait arriver dans les prochaines versions (Progress Bar, Spinner, Time Picket)
  • La prise en charge du clavier a été améliorée et permet de mieux simuler un comportement natif au sein du navigateur.
  • De très nombreuses autres améliorations ont été intégrées à cette version. Une liste exhaustive peut être trouvée sur le blog de jQuery Mobile.

Ce qu’il faut retenir également, c’est l’annonce d’une bêta dans le mois qui va suivre, puis la sortie de la release 1.0 dans la foulée. Les objectifs fixés sont d’améliorer les performances générales de la librairie,
d’améliorer l’expérience utilisateur et la réactivité, et de fournir un support à un nombre plus important de browsers et plateformes mobiles. Bien que le sujet ne soit pas vraiment abordé dans le billet de l’annonce de cette sortie, on devrait également voir dans un avenir proche, une meilleure prise en charge de nos chères tablettes: iPad, PlayBook, et compagnie (après la sortie de la 1.0 ?).

Bien que l’annonce de cette release soit réjouissante pour le monde des développeurs mobiles, il n’en reste pas moins vrai que le niveau de performance souffre encore fortement la comparaison avec les applications natives (Gestion de liste), et la gestion de la navigation entre les différents écrans présente encore quelques dysfonctionnements. Il n’y a pas de doute que ce type de défauts seront rapidement gommés avec la sortie des prochaines versions.

Vous pouvez retrouvez ces informations sur le site de jQuery Mobile, leur blog et les suivre sur twitter via le compte: @jquerymobile.

Annonce de jQuery Mobile

Annonce de jQuery Mobile

C’est une nouvelle qui va à coup sûr faire du bruit dans un monde du développement mobile déjà bouillonnant, puisque vient d’être annoncé la sortie pour la fin d’année de la version mobile du framework jQuery. Et ce n’est pas par la petite porte que le célèbre framework web souhaite faire son entrée, puisque contrairement à ses concurrents déclarés, tels que jQTouch ou bien Sensha Touch, jQuery Mobile se veut être un framework JavaScript ciblant la quasi totalité des plateformes mobiles web actuelles (Blackberry, Windows Mobile, iOS pour l’iPhone et l’iPad, Android, Symbian, Bada, …), et permettant de développer des interfaces riches capable de faire rougir bon nombre d’interfaces graphiques natives.

Avec l’avènement d’HTML5 (WebStorage, WebSockets, Vidéo, Géolocalisation, …), du CSS3, et des navigateurs mobiles dernière génération proposant des moteurs JavaScripts performants, la guerre du web semble se trouver un nouveau terrain de bataille, et le web mobile aura sous peu toutes les armes nécessaires pour déstabiliser le business modèle à peine naissant des Markets, tel que l’iTunes App Store ou bien l’Android Market. Le marché des applications mobiles semble donc suivre la voie de son grand frère, celui des applications PC, et proposera à terme de nombreuses applications riches directement par le web.

L’annonce parue sur le site de jQuery Mobile indique que l’un des objectifs du framework est de pouvoir développer une application unique pour toutes les plateformes mobiles. Ce concept, ne semble pas nouveau puisque l’objectif de J2ME sorti il y a 10 ans déjà était bien de développer une solution unique, rappelez-vous: « Write Once, Run everywhere ». Le slogan semble être ici: « Write Less, Do More », mais l’objectif de fond est bien le même.

Palm avec sa plateforme WebOS et Firefox sont déjà sponsors du projet. Bien qu’encore en développement intense, la sortie première sortie du framework est prévue pour fin 2010. Ce framework pourrait bien être une des grandes surprises mobile de 2010, et pourrait devenir très rapidement un framework incontournable pour le développement web d’applications riches pour mobile.

Pour en apprendre plus sur cette déclinaison de jQuery, vous pouvez suivre les liens suivants et apprécier les designs présentés :

ExtJS, une API de RIA sérieuse?

ExtJS, une API de RIA sérieuse?

Le framework ExtJS, est une librairie JavaScript destinée à la création d’interfaces utilisateur dont le résultat visuel est assez proche de celui d’Apollo. Ce framework présente l’avantage de ne reposer que sur des technologies standard W3C, donc nul besoin de runtime flash ou java. Cette librairie est sortie récemment en version 2 et semble très bien finie.

Un petit tour sur le site de l’éditeur vaut bien mieux qu’un long discours, je vous invite donc à aller y faire un tour :

Cette librairie est d’autant plus intéressante qu’elle propose une licence LGPL v3, ce qui facilite son inclusion dans de nombreux projets.

Je ne connais pas assez ce type de librairies, mais il se pose à mon avis le problème du référencement du contenu d’applications exploitant ce type de technologies, attention donc à l’utilisation que vous souhaitez en faire.

A mon avis cette librairiea un grand avenir, c’est à mon avis la meilleur librairie de RIA JavaScript à l’heure actuelle.

extjs.JPG

Parmis les autres librairies JavaScript incontournables du momenton notera également JQuery, Prototype ou bien encore Scriptaculous.