Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente bannato
    Registrato dal
    Jan 2006
    Messaggi
    100

    JQuery, Scriptacolous o Mootools?

    Dovendo imparare ed includere una libreria quale mi conviene?
    Finora ho usato scriptacolous per piccole cose, mentre per il resto ho preferito mantenere un controllo più diretto scrivendo javascript e ajax di mio
    però ho dei limiti, e mi sa che dovrò appoggiarmi sempre di più a librerie preconfezionate

    vale la pena passare a jquery? ha molti plugin, ma buona parte è più o meno inutile
    scriptacolous + prototype è solido, ma comncia a diventare pesantuccio, e senza preavviso ha influenzato un altro script in javascript puro
    Mootools sembra interessante, ma ho trovato pochi esempi in giro

    voi che mi consigliate?

  2. #2
    jQuery è probabilmente il migliore ed è senza dubbio il più leggero, ma a meno di particolari esigenze per adesso puoi anche tenerti scriptacolous + prototype.
    Magari ci potrai fare un pensierino per il tuo prossimo progetto

  3. #3
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    non ho mai usato jquery in modo serio per cui non mi sono fatto un'idea definita al riguardo. Però tra mootools e prototype + scriptaculous suggerisco la prima libreria, per diversi motivi, primi fra tutti

    - la sua modularità (puoi crearti la libreria ad hoc in base ai componenti che ti servono), poi

    - la facilità di inclusione (1 file contro i consueti 4/5)

    - la leggerezza (esempio con la lightbox: devi includere 103kb di script per un semplice layer con qualche effetto di transizione. Slimbox per mootools che è identico e scritto meglio l'ho incluso con 26kb [12 se compressi lato server])

    - C'è in generale una maggiore rigorosità nel codice da parte di chi sviluppa plugin per mootools (che non per prototype+scriptaculous), quindi anche eventuale modifica del codice che trovi, dovrebbe essere più facile: in questo momento sto pensando alla lightbox vs slimbox

    Di recente ho messo mano a lightbox per permettere alle thumbnails di trovarsi in un iframe e fare aprire il layer nella finestra 'top'... non è stato proprio banale farlo.
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  4. #4
    Utente di HTML.it L'avatar di lnessuno
    Registrato dal
    Feb 2002
    Messaggi
    2,732
    io sto usando jquery per alcuni progetti, ma non in modo particolarmente intensivo... non sembra affatto male

  5. #5
    Originariamente inviato da fcaldera
    non ho mai usato jquery in modo serio per cui non mi sono fatto un'idea definita al riguardo. Però tra mootools e prototype + scriptaculous suggerisco la prima libreria, per diversi motivi, primi fra tutti

    - la sua modularità (puoi crearti la libreria ad hoc in base ai componenti che ti servono), poi

    - la facilità di inclusione (1 file contro i consueti 4/5)

    - la leggerezza (esempio con la lightbox: devi includere 103kb di script per un semplice layer con qualche effetto di transizione. Slimbox per mootools che è identico e scritto meglio l'ho incluso con 26kb [12 se compressi lato server])

    - C'è in generale una maggiore rigorosità nel codice da parte di chi sviluppa plugin per mootools (che non per prototype+scriptaculous), quindi anche eventuale modifica del codice che trovi, dovrebbe essere più facile: in questo momento sto pensando alla lightbox vs slimbox
    secondo me sono ben altri i parametri da valutare quando si sceglie una lib ...

    modularità ... cosa significa? significa che magari per 5 Kb di modulo ogni utente deve riscaricare tutto il file invece di usare quello in cache

    facilità di inclusione ... io uso un solo url per includere da 1 a mille mila files JS assieme e contemporaneamente ad 1 o mille mila files CSS ... packed.it, ma ce ne sono altri

    leggerezza ... se per una features in più da 26 Kb bisogna averne altri 100 di lib sotto, non vedo leggerezza ma solo somma di quantità di codice.

    rigorosità ... forse Mootools è tra quelle scritte meglio ed è meno intrusiva di prototype che appunto modifica prototypes di oggetti nativi senza chiedere il permesso e non in modo standard (vedi problemi con altri scripts)

    Ma sebbene possa concordare che Mootools sia più rigorosa, questo non garantisce alcuna rigorosità nel codice di un plug in di terze parti. Vale per Mootools, jQuery, ed infine prototype, vedi Lightbox che è scritta male e pesa, senza ragioni, così tanto
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  6. #6
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Originariamente inviato da andr3a
    secondo me sono ben altri i parametri da valutare quando si sceglie una lib ...
    rimanendo su aspetti pratici non ho fatto una lista esaustiva, ho solo messo in luce aspetti evidenti che anche un neofita può subito percepire

    modularità ... cosa significa? significa che magari per 5 Kb di modulo ogni utente deve riscaricare tutto il file invece di usare quello in cache
    Se non ricordo male tu stesso più volte hai criticato chi usa prototype per avere la sola funzione $ o $$ e basta: per questo devono scaricarsi l'intera libreria prototype. Con Mootools puoi scaricarti soltanto la componente base per fare la stessa cosa, ed è questa la modularità a cui faccio riferimento.

    facilità di inclusione ... io uso un solo url per includere da 1 a mille mila files JS assieme e contemporaneamente ad 1 o mille mila files CSS ... packed.it, ma ce ne sono altri
    Ok, se puoi gestirti un progetto dall'inizio alla fine puoi fare tutte le modifiche che vuoi e organizzare il codice come meglio credi, ma non per questo tutti possono lavorare nelle tue stesse condizioni (o quantomeno non sempre) e hanno libertà di modifica.

    leggerezza ... se per una features in più da 26 Kb bisogna averne altri 100 di lib sotto, non vedo leggerezza ma solo somma di quantità di codice.
    Mootools minified per slimbox -> 21kb
    sola slimbox minified -> 6kb
    se compressa lato server ho 13kb totali.

    Giusto per parlare di esempi reali. Per Diesel ho sviluppato un applicazione js con mootools. Ho usato in totale 94kb di codice minified, (27kb compresso). Un applicazione molto più semplice sulla quale ci siamo 'ispirati' pesava 430kb fatta in prototype+scriptaculous e ammenicoli vari.

    rigorosità ... forse Mootools è tra quelle scritte meglio ed è meno intrusiva di prototype che appunto modifica prototypes di oggetti nativi senza chiedere il permesso e non in modo standard (vedi problemi con altri scripts)
    E scusa se è poco eh

    Ma sebbene possa concordare che Mootools sia più rigorosa, questo non garantisce alcuna rigorosità nel codice di un plug in di terze parti. Vale per Mootools, jQuery, ed infine prototype, vedi Lightbox che è scritta male e pesa, senza ragioni, così tanto
    Ok, ma questa è una cosa ovvia. La qualità di un plugin scritto da altri dipende chiaramente dalla bravura del suo sviluppatore ed ovviamente non tutte le librerie per mootools vanno prese per 'oro colato'. Un minimo di discernimento lo devi fare.

    Ma Resta il fatto che se non trovi una libreria che non soddisfa le tue esigenze puoi scrivertela tu. E il sito di mootools offre molti spunti per farlo in modo abbastanza semplice.



    P.s. In qualche altro thread avevo detto che preferivo l'uso di setTimeout rispetto a setInterval. Il motivo spiegato in dettaglio da john Resig lo puoi trovare qui http://ejohn.org/blog/how-javascript-timers-work/
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  7. #7
    Originariamente inviato da fcaldera
    rimanendo su aspetti pratici non ho fatto una lista esaustiva, ho solo messo in luce aspetti evidenti che anche un neofita può subito percepire

    Originariamente inviato da fcaldera
    Se non ricordo male tu stesso più volte hai criticato chi usa prototype per avere la sola funzione $ o $$ e basta: per questo devono scaricarsi l'intera libreria prototype. Con Mootools puoi scaricarti soltanto la componente base per fare la stessa cosa, ed è questa la modularità a cui faccio riferimento.
    se parliamo di selettori, la dollar function di prototype fa molto di più della base di Mootools, quindi non hai la stessa funzione che fa la stessa cosa ... mentre se usi una libreria solo per avere questo
    codice:
    function $(id){return document.getElementById(id)}
    non ha senso usare la libreria. E' questo che dicevo, il confronto tra prototype e Mootools, diretto, nn credo di averlo mai fatto ma come ho già detto è per l'intrusività di prototype che preferisco mootools, non per gli altri punti da te elencati. Questo commento era un'aggiunta a qualcosa che non avevi detto ... quindi scusa se è poco ... non è poco .. ma non l'avevi detto :P


    Originariamente inviato da fcaldera
    Ok, ma questa è una cosa ovvia. La qualità di un plugin scritto da altri dipende chiaramente dalla bravura del suo sviluppatore ed ovviamente non tutte le librerie per mootools vanno prese per 'oro colato'. Un minimo di discernimento lo devi fare.
    Ma Resta il fatto che se non trovi una libreria che non soddisfa le tue esigenze puoi scrivertela tu. E il sito di mootools offre molti spunti per farlo in modo abbastanza semplice.
    spè ... calmati, hai cominciato col dire che la lista era per i neofiti, e finisci con la capacità di descernere plugin di terzi o addirittura scriverne uno tuo?

    Sono questi i punti che io valuto di una lib, ma anche questo non l'avevi detto e dubito che sia così sottointeso o scontato



    Originariamente inviato da fcaldera
    P.s. In qualche altro thread avevo detto che preferivo l'uso di setTimeout rispetto a setInterval. Il motivo spiegato in dettaglio da john Resig lo puoi trovare qui http://ejohn.org/blog/how-javascript-timers-work/
    Per mostrare esempi reali lo stesso John ha preso la mia JPU come riferimento
    QUesto per dirti grazie ma conosco quell'articolo ... e non cambio di una virgola quanto detto nell'altro 3D ( Math.pow(2, 32) - 1 non è poi così grande come numero )
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  8. #8
    Utente bannato
    Registrato dal
    Jan 2006
    Messaggi
    100
    ma di jquery invece?

    parto come scripter lato server, con qualche esperienza di javascript e quindi ajax
    ogni tanto mi capita di realizzare qualche piccola cosa come una chat ajax, o di dover inserire javascript un po avanzato ad esempio per il drag&drop di righe tabella per riordinare un elenco

    quando però con le mie conoscenze non ci arrivo proprio uso una libreria, e finora ho usato scriptacolous, ma oltre ad inciccirsi sempre di più mi ha creato un problema in un altro script senza che io avessi la possibilità di fare un debug per capirne le cause
    adesso per evitare problemi futuri vorrei abbandonarlo

    di mootools e jquery ho poca esperienza, ma una discriminante personale sarebbe la disponibilità di plugin e tutorial
    da quel che ho potuto vedere finora jquery vince, più che altro perchè ha un archivio con tutti i plugin indicizzati per categoria

    mi sbaglio? un confronto sotto questo aspetto lo potete fare?

  9. #9
    jQuery ha tanti plugins, un'API veramente comoda, selettori potenti di default. Di contro ha un codice che non è elegante o pulito come quello di Mootools.

    Il confronto andrebbe fatto, per peso, potenzialità, altro, tra Mootools full e jQuery + jQuery UI, in questo caso si hanno 2 librerie abbastanza complete e simili, sta a te a quel punto decidere quale metodo di utilizzo ti piace di più.

    Queste sono infatti diverse, jQuery basa quasi tutto su se stessa, Mootools ti mette a disposizioni classi (generatori di costruttori) ed altro per estendere in modo avanzato e OO il tutto creando codice altrettanto elegante o perlomeno, presumibilmente, lineare.

    protaculous? per me è la peggiore scelta, ma prototype è stata probabilmente la prima ad usare la dollar function, ecco perchè è così famosa.
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  10. #10
    Riuppo la discussione poichè ha tante parole chiave interessanti.

    Il motivo è che vorrei scusarmi con fcaldera circa il setTimeout ed il numero Math.pow(2, 32) - 1

    Dopo un test durato giorni, ho appurato che i browsers rientrano nel range descritto quando assegnano un intervallo di tempo, e che tale intervallo, essendo un timeout viene sempre consumato.

    Questo significa semplicemente che il browser, una volta coperto il range, riparte "da zero" e recicla senza troppi problemi gli intervalli già assegnati in precedenza.

    Nel caso di Internet Explorer, il range parte random (non è 1 il primo setTimeout o setInterval della pagina ma un numero da 1 a Math.pow(2, 31)) e una volta raggiunto 2^31 parte da -2^31

    Questo significa che a meno che non si coprano tutti gli intervalli di tempo con un timeout all' "anno dopo" , o a qualche settimana/mese, il caso in cui tutti vengano occupati è alquanto improbabile.

    Non ho idea di cosa accada qualora la casistica qui sopra venga applicata, ma non credo esistano casi reali di applicazione della casistica stessa, ergo il comportamento è irrilevante.

    Per concludere, John Resig di jQuery, ha scritto un'altra interesante feature di queste funzioni, feature che ho già commentato con una soluzione "universale", sniff del browser ad monnezzum a parte.

    Questo il link
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.