oxman
Membre
Messages : 746
Inscription : May 2008
Réputation : 10
|
[Ajax] Mootools ou jQuery ?
C'est toujours pareil, ça dépend de ce que fait le script 
De façon générale on le met en bas car ainsi la page s'est déjà affichée avant de commencer à charger la librairie javascript etc.
Pourquoi ne pas utiliser mootools ?
|
|
| 07-11-2008 09:40 PM |
|
Sephi-Chan
Administrateur
      
Messages : 4,492
Inscription : Aug 2006
|
RE: [Ajax] Rafraîchissement de bloc
Effectivement, il est souvent plus intéressant de faire télécharger les librairies Javascript une fois le reste de la page chargé. Ça permet d'afficher plus rapidement le site sur le navigateur.
Syndrom a écrit :Pourquoi ne pas utiliser mootools ?
La question serait peut-être pourquoi utiliser Mootools ?
Sephi-Chan
www.sephi-chan.fr
|
|
| 07-11-2008 10:33 PM |
|
oxman
Membre
Messages : 746
Inscription : May 2008
Réputation : 10
|
RE: [Ajax] Rafraîchissement de bloc
Parce que c'est le framework Javascript le plus intéressant actuellement ?
Très puissant, léger, rapide, syntaxe très agréable.
|
|
| 07-11-2008 10:36 PM |
|
Sephi-Chan
Administrateur
      
Messages : 4,492
Inscription : Aug 2006
|
RE: [Ajax] Rafraîchissement de bloc
Question de goût, je préfère la syntaxe de jQuery. Ensuite les fonctionnalités et le pois sont sensiblement les mêmes, hein.
www.sephi-chan.fr
|
|
| 07-11-2008 10:39 PM |
|
oxman
Membre
Messages : 746
Inscription : May 2008
Réputation : 10
|
RE: [Ajax] Rafraîchissement de bloc
Sur le poids, et la rapidité oui.
Concernant la puissance, sensiblement équivalent oui.
Concernant la syntaxe, hum...
Mootools :
Citation :new Request.JSON({url: "http://site.com/tellMeAge.php", onComplete: function(person){
alert(person.age); //Alerts "25 years".
}}).get();
jQuery
Citation :$.getJSON("http://site.com/tellMeAge.php",
function(person){
alert(person.age); //Alerts "25 years".
});
});
Meme exemple avec des argument lors de l'appel :
Citation :new Request.JSON({url: "http://site.com/tellMeAge.php", onComplete: function(person){
alert(person.age); //Alerts "25 years".
alert(person.height); //Alerts "170 cm".
alert(person.weight); //Alerts "120 kg".
}}).get({'firstName': 'John', 'lastName': 'Doe'});
et
Citation :$.getJSON("http://site.com/tellMeAge.php", {'firstName': 'John', 'lastName': 'Doe'},
function(person){
alert(person.age); //Alerts "25 years".
alert(person.height); //Alerts "170 cm".
alert(person.weight); //Alerts "120 kg".
});
});
Ca n'est qu'un exemple, il y en a des tonnes comme ça, jQuery manque cruellement de logique et de lisibilité dans sa syntaxe (et ici on est dans un cas simple).
(Ce message a été modifié le : 07-11-2008 10:54 PM par oxman.)
|
|
| 07-11-2008 10:52 PM |
|
oxman
Membre
Messages : 746
Inscription : May 2008
Réputation : 10
|
RE: [Ajax] Rafraîchissement de bloc
Aussi oui, mais je n'en parle jamais, car moi j'inclus tout le Framework en entier (et les addons non officiels dont j'ai besoin).
Afin d'éviter de devoir rajouter des choses dans la librairie à chaque fois que je veux utiliser des nouvelles fonctions.
|
|
| 07-11-2008 11:51 PM |
|
Sephi-Chan
Administrateur
      
Messages : 4,492
Inscription : Aug 2006
|
RE: [Ajax] Rafraîchissement de bloc
Tu n'est pas juste dans tes exemples Ox.
Syndrom a écrit :Sur le poids, et la rapidité oui.
Concernant la puissance, sensiblement équivalent oui.
Concernant la syntaxe, hum...
Mootools :
Citation :new Request.JSON({url: "http://site.com/tellMeAge.php", onComplete: function(person){
alert(person.age); //Alerts "25 years".
}}).get();
jQuery
Citation :$.getJSON("http://site.com/tellMeAge.php",
function(person){
alert(person.age); //Alerts "25 years".
});
});
Déjà tu n'utilises pas les mêmes indentations (pour essayer de faire croire que jQuery prend plus de place ?), et le script jQuery est chargé inutilement (le code donné ne fonctionnerait pas).
Mootools :
Code PHP :
new Request.JSON({ url: "http://site.com/tellMeAge.php", onComplete: function(person){ alert(person.age); //Alerts "25 years". } }).get();
jQuery :
Code PHP :
$.getJSON( "http://site.com/tellMeAge.php", function(person){ alert(person.age); //Alerts "25 years". } );
Tu vois ? Quand on présente les deux codes avec le même format, on voit bien que c'est identique, et je trouve même le code jQuery plus lisible.
Sephi-Chan
www.sephi-chan.fr
|
|
| 07-11-2008 11:59 PM |
|
oxman
Membre
Messages : 746
Inscription : May 2008
Réputation : 10
|
RE: [Ajax] Rafraîchissement de bloc
Au temps pour moi, ça n'est pas question de mauvaise foi, j'ai juste pris le code de la documentation des deux, sans remise en forme. Tu notera cependant qu'à aucun moment je n'ai parlé de la taille du code, mais de la lisibilité et de la logique de celui-ci.
Toi par contre, j'ai l'impression que tu as lu en travers mon message, où que tu n'es pas de bonne foi.
Admettons que dans l'exemple précis que tu donnes, tu trouves le code de jQuery plus clair, soit, mais il est abscons.
$. est déjà un peu spécial en soit, admettons que ça soit une convention de codage.
C'est déjà pas très propre comparé à un new Request.
Sur le reste de ce bout de code précis, je ne commente pas, c'est clairement question de gout.
Mais ce qui est important, c'est de voir la différence de l'appel SANS et AVEC arguments, qui n'a plus aucune logique, tu passes de :
Code PHP :
$.getJSON( "http://site.com/tellMeAge.php", function(person){ alert(person.age); //Alerts "25 years". } );
à
Code PHP :
$.getJSON( "http://site.com/tellMeAge.php", {'firstName': 'John', 'lastName': 'Doe'}, function(person){ alert(person.age); //Alerts "25 years". } );
alors que sur Mootools, tu passes de :
Code PHP :
new Request.JSON({ url: "http://site.com/tellMeAge.php", onComplete: function(person){ alert(person.age); //Alerts "25 years". } }).get();
à
Code PHP :
new Request.JSON({ url: "http://site.com/tellMeAge.php", onComplete: function(person){ alert(person.age); //Alerts "25 years". } }).get({'firstName': 'John', 'lastName': 'Doe'});
Dans le premier cas, où est la logique de soudain changer l'ordre des arguments lorsque tu veux simplement envoyer des données à ton appel Json ?
Sur le dernier exemple, la logique est très simple et clair, tu l'ajoutes dans la méthode get.
Tu sais de plus précisément ce que tu fais, url:, l'url à appeler, onComplete: sur la complétion on appel la fonction.
Continuons cet exemple pour bien comprendre le problème (je me base toujours des docs, je peux faire des erreurs).
Comment je fais si je veux appeler une fonction lors d'un échec de l'appel avec jQuery ?
Je viens de voir la doc, je ne vois pas où c'est indiqué comment faire, assurément on peut, mais là je ne sais pas comment.
Edit :
Je viens de trouver cette information :
$("#msg").ajaxError(function(event, request, settings){
$(this).append("<li>Error requesting page " + settings.url + "</li>");
});
Visiblement la définition d'erreur ne se fait pas de la même façon, encore un peu abscons tout ça.
Ce qui est sur, c'est que je vais devoir ajouter un argument à droite ou à gauche, je dois encore deviner la logique, j'espère qu'il s'insère après l'appel lors d'un succès.
Avec Mootools, c'est encore ridicule de lisibilité et de simplicité :
Code PHP :
new Request.JSON({ url: "http://site.com/tellMeAge.php", onComplete: function(person){ alert(person.age); //Alerts "25 years". }, onFailure: function() { alert('Oin'); }, }).get({'firstName': 'John', 'lastName': 'Doe'});
|
|
| 07-12-2008 12:13 AM |
|
Sephi-Chan
Administrateur
      
Messages : 4,492
Inscription : Aug 2006
|
RE: [Ajax] Rafraîchissement de bloc
Effectivement la syntaxe de Mootools semble plus clair dans ce cas. Ça peut être intéressant.
Je sais que jQuery utilise également un système d'événement (success, complete, error, etc.).
getJSON() est en fait une version simplifiée de la méthode Ajax(), qui est bien plus complète et flexible.
Je vais m'intéresser de nouveau à Mootools. Ma première tentative m'avait fait revenir à jQuery, mais peut-être que je vais changer d'avis en tentant de nouveau ma chance.
Sephi-Chan, en attendant, je scinde les deux sujets.
www.sephi-chan.fr
|
|
| 07-12-2008 12:29 AM |
|
Anthor
Membre
Messages : 520
Inscription : Dec 2007
Réputation : 15
|
RE: [Ajax] Mootools ou jQuery ?
A l'époque Mootools ne m'avait pas paru aussi clair que jQuery, et pour moi jQuery à l'énorme avantage d'avoir un moteur de plugin très performant.
Anthor |
|
|
| 07-13-2008 11:56 AM |
|