JeuWeb - Crée ton jeu par navigateur
JQuery...insatisfait - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : JQuery...insatisfait (/showthread.php?tid=4406)

Pages : 1 2 3


RE: JQuery...insatisfait - Anthor - 12-10-2009

Après si le nom de la fonction vous gêne :
Code :
jQuery.noConflict();
// Do something with jQuery
jQuery("div p").hide();

C'est un nom comme un autre, sauf que le $ est rapide à écrire, et que conventionnellement, Prototype l'utilisait pour la gestion du DOM avant la sortie de jQuery.


RE: JQuery...insatisfait - QuentinC - 12-10-2009

Citation :Pour la taille, tu peux largement compenser en utilisant les Google AJAX API's, qui consistent à utiliser finalement un seul fichier pour plusieurs sites. Du coup, si un visiteur visite un site qui utilise jQuery via Google, il l'utilisera aussi si ton site l'utilise.
Ca ne change pas le problème. Je mentionne la taille, mais ce n'est pas tant le téléchargement le problème. 50 Ko, c'est un quart de seconde pour la plupart des abonnés ADSL.
Non. Le problème c'est que le navigateur doit parser 50 Ko de js. A chaque nouvelle page ouverte. Ca par contre, c'est lent, et ça ralentit tout le chargement du reste. Après ça, ton site ne met plus 2 secondes à s'afficher mais 10. C'est trop lent.

Attention : ceci dit, je ne suis pas un anti AJAX et un anti javascript, bien que AJAX pose d'énormes problèmes d'accessibilité s'il est mal utilisé. Je suis juste pour un usage raisonné sans gadgets inutiles


RE: JQuery...insatisfait - NicoMSEvent - 12-10-2009

La meilleure façon de procéder avec l'AJAX est de ne pas en inclure lors de la conception du site, et une fois le site terminé avec 100% des fonctions fonctionnant en HTML, surcharger/remplacer certaines fonctions par du javascript/ajax, comme ça le comportement sans javascript reste 100% fonctionnel Smile


RE: JQuery...insatisfait - Allwise - 12-10-2009

Je sais pas pour JQuery, mais certaines librairies proposent des "builders" qui permettent de créer dynamiquement le fichier javascript en fonction des ressources que tu utilises. Ça permet de choisir les trucs utiles et de pas s'embarrasser avec les autres.


RE: JQuery...insatisfait - Anthor - 12-10-2009

(12-10-2009, 02:20 PM)QuentinC a écrit : Ca ne change pas le problème. Je mentionne la taille, mais ce n'est pas tant le téléchargement le problème. 50 Ko, c'est un quart de seconde pour la plupart des abonnés ADSL.
Non. Le problème c'est que le navigateur doit parser 50 Ko de js. A chaque nouvelle page ouverte. Ca par contre, c'est lent, et ça ralentit tout le chargement du reste. Après ça, ton site ne met plus 2 secondes à s'afficher mais 10. C'est trop lent.

Attention : ceci dit, je ne suis pas un anti AJAX et un anti javascript, bien que AJAX pose d'énormes problèmes d'accessibilité s'il est mal utilisé. Je suis juste pour un usage raisonné sans gadgets inutiles

D'une part jQuery ne fait que 17ko une fois tout bien configurer, notamment, avec Google Ajax, minifié, et gzippé.
D'autre part, passer de 2s à 10s il ne faut pas pousser, YSlow ne dépasse jamais les 2s même avec de grosses applications, et jQuery n'est pas parsé par le navigateur puisque minifié, qui est bien différent du Packing qui était effectué il y a quelques années ^^
Et encore le packing ne prenait pas énormément de temps par rapport au gains en bande passante.

Tu as donc un fichier de 17ko, qui passe en priorité car sur un autre domaine ( ne bloque pas la page ) et qui plus est reste en cache...
Difficile d'avoir plus rapide ^^


RE: JQuery...insatisfait - DragonMaster - 12-10-2009

Héhé vous n'avez pas tous saisie ce que je voulais dire. En aucun cas je n'ai eu de la difficulté à apprendre JQuery, je dirais même que c'est beaucoup plus facile de faire du JQuery que du javascript ordinaire pour un débutant. Reste que la syntaxe étant tellement loin, un néophyte apprendra JQuery et en restera bloqué à cette librairie car jamais partant de JQuery il ne sera capable de faire du JS classique. JQuery est un simple outil, pratique pour tous les avantages que nous avons énuméré, mais pas terrible au niveau de sa syntaxe.

Comme beaucoup l'on dit, il existe justement une multitude d'autre librairie js, donc je vais peut-être conservé quelques truc de JQuery (l'ajax et l'ajout d'événement dynamique) mais pour le reste je passe à autre chose. Cependant, surprise, JQuery UI est de son côté vraiment très bien Big Grin


RE: JQuery...insatisfait - Allwise - 12-10-2009

Quand tu parles de syntaxe, en fait tu parles des conventions de nommage de la librairie ?


RE: JQuery...insatisfait - DragonMaster - 12-10-2009

oui, en incluant le nom des "attributs" par exemple .html("") plutôt que .innerHTML=""


RE: JQuery...insatisfait - Sephi-Chan - 12-10-2009

Ben c'est une API quoi… Consulte le code source et tu verras que ça n'est pas équivalent.
Ça n'est pas parce que ça a globalement la même utilité que c'est le cas.


Sephi-Chan


RE: JQuery...insatisfait - Anthor - 12-10-2009

(12-10-2009, 10:36 PM)DragonMaster a écrit : oui, en incluant le nom des "attributs" par exemple .html("") plutôt que .innerHTML=""

C'est la où tu te trompes ^^ Un innerHTML n'est pas conseillé quand on manipule le DOM, pour tout un tas de raisons, et d'ailleurs les librairies ne l'utilise pas, à part pour récupérer la valeur du HTML.

Code :
function html(obj, value) {
    if(obj.childNodes){
        for(var i = 0; i < obj.childNodes.length; i++){
            obj.removeChild(obj.childNodes[i]);
        }
    }

    var $newNode = document.createTextNode( value );
    obj.appendChild($newNode);
}