Javascript salverà il mondo

Giovedì 23 Ottobre 2008 - 09:40

di Cesare Lamanna

Scripting

Parlavamo ieri di Peppy, il selector engine con supporto completo dei selettori CSS3 appena presentato in versione beta da James Donaghue. Nel post dimenticavo di citare che da un po’ di tempo anche l’ubiquo e infaticabile John Resig sta lavorando ad un progetto simile, Sizzle.

Qualcuno, tra i puristi più puristi, potrà storcere il naso di fronte a queste soluzioni: perché ricorrere a Javascript per implementare qualcosa che appartiene ai CSS? Beh, forse può contribuire a far cambiare loro opinione questo intervento di Eric Meyer (dire semplicemente che si tratta di un evangelist rispetto all’adozione dei CSS è poco…).

Cosa sostiene? Intanto che non vede l’ora di poter mettere le mani sulla versione stabile di Sizzle per usarlo in maniera estensiva e che progetti simili possono rappresentare davvero un primo passo verso un nuovo approccio agli standard che potrebbe risultare molto proficuo. Perché? Semplice:

  • le performance di queste librerie abbinate a quelle dei browser più recenti in fatto di Javascript rendono il loro utilizzo più che sensato in questo momento;
  • potremmo finalmente implementare ora, subito, funzionalità avanzate e utilissime dei CSS3 (e non solo);
  • non c’è niente di male se usiamo l’engine Javascript del browser per estendere il supporto dei CSS;
  • invece di aspettare i progressi dei browser nel garantire il supporto agli standard li facciamo avanzare noi, dal basso;
  • i browser che non supportano Javascript non fruiranno di questi effetti avanzati? Già ora i vecchi browser non hanno un supporto pieno dei CSS eppure non abbiamo per questo smesso di usarli…è la solita, vecchia storia.

Tutti convinti?

Tags:

Categoria: Scripting | Permalink

Commenti

1

Ni,
ma solo perchè voglio aspettare una versione stabile da provare,
per il resto le argomentazioni sembrano convincenti per ora, ma ripeto prima va testato poi si potranno valutare i pro ed i contro.

# - postato da Nicolò - 23 Ottobre 2008 - 11:23

2

Ben vengano certi miglioramenti se saranno progressivi, garantendo comunque una buona esperienza di navigazione anche sui browser più datati.

# - postato da Tom - 23 Ottobre 2008 - 11:30

3

mah, non saprei… non sono troppo a favore di javascript… specie se questi devono intergaire con i css: lasciamo le 2 cose separate…

# - postato da Paolo - 23 Ottobre 2008 - 17:40

4

Vorrei poter dire no, javascript è javascript e css è css, di tutto cuore, vorrei davvero, ma faccio siti in un mondo reale e i miei clienti sono persone che non sospettano che Internet Explorer è un software, per loro è l’internet. :)

Cosa posso farci? Educarli, senza dubbio, ma nel frattempo devo mangiare e devo fare siti che funzionino anche su ie5 con windows ME… quindi… ben venga javascript, perlomeno su ie6, che dove vivo io è ancora un browser nuovo, i miei siti funzionano e posso usare anche funzionalità di css3 e le immagini png con canale alpha per ottenere effetti gradevoli.

Non vedo cosa ci sia di male, sappiamo che è una situazione trasitoria e che, quando i fabbricanti di browsers cominceranno a mettere in cantiere browsers decenti, quando il pubblico comincierà a capire internet, molto probabilmente le cose cambieranno, ma fino a quel momento noi tutti potremmo lavorare tranquillamente grazie a javascript e a persone come John Resig.

Forse javascript non salverà il mondo, ma a me ha salvato l’affitto piú di una volta, ve l’assicuro.

# - postato da Paolo Dodet - 24 Ottobre 2008 - 19:22

5

Tutto quanto e’ stato detto finora e’ vero, pero’ ci sono molti utenti che tengono javascript disattivato e quindi le soluzioni in CSS risultano in questi casi piu’ compatibili

# - postato da andcamp - 28 Ottobre 2008 - 19:44

6

@andcamp mi sa che non hai capito, come pure chi da buon purista pensa che javascript vada sempre separato da altro che non sia javascript così come (x)html e css.
D’accordo, ma qui si sta parlando di Progressive Enhancement ovvero, di funzionalità che nulla tolgono alla fruibilità del sito, ma anzi ve ne aggiungono altra la dove è possibile usarla.
Se hai l’ultimo browser che implementa funzionalità tipiche dei CSS3 ma in modo propietario, che so Mozilla con i suoi -moz- (che tra l’altro in developer ora ne sconsiglia l’uso) o le copie -ms- per IE, perché non usare queste librerie che nulla tolgono ma aggiungono funzionalità eliminando la necessità di usare nei nostri fogli di stile di hack o peggio (forse) funzionalità implementate in modo prorpietario.
Eric Meyer è sicuramente persona da tenere in gran conto, senza di lui nessuno avrebbe usato i fogli di stile probabilmente, aspettiamo e se queste librerie sapranno essere un momento di passaggio tra browser veramente e pienamente compliant e il momento attuale, ben venga.

M.

# - postato da Marco GRAZIA - 31 Ottobre 2008 - 15:04

7

Mi dispiace ma ne Peppy ne Sizzle ritornano risultati “document ordered”. Cioè gli elementi ritornati sono ordinati in modo random. Faccio un piccolo esempio, il “selector”:

div p, ul li

Ritornerà prima tutti gli elementi “P” poi tutti gli elementi “LI”, ma non è detto che nel documento questo sia l’ordine, e questo non rispecchia quanto sta scritto nelle specifiche del W3C.

I controlli fatti da entrambe le librerie sugli elementi sono minimi, UpperCase e LowerCase nei nomi dei tag non viene controllato, le “classi” possono contenere “white-spaces” secondo le specifiche, ci sono dei buchi di sovrascrittura di ID nelle FORM da parte degli elementi della FORM e neanche questo viene controllato.

Quindi, si la velocità è eccezionale ma il risultato, dipendentemente dal tipo di “selector” potrebbe essere incorretto.

Inoltre nessuno dei due supporta i selector di tipo “-of-type” (es: nth-child-of-type(n)).

Se avete voglia di provarne un terzo date un’occhiata al mio NWMatcher, se cercate velocità e consistenza non vi deluderà, il sistema di “caching” via “Mutation Events” utilizzato sia da Peppy che da Sizzle è frutto del lavoro fatto in NWMatcher, date un’occhiata alle date di pubblicazione e non avrete dubbi.

NWMatcher è un “bottom-up matcher iterator”.

NWMatcher è un prodotto del 2007 ed è correntemente utilizzato da Apple nel suo “store.apple.com” online e da alcune librerie di prossima pubblicazione. La licenza è MIT. Spero vi sia utile.

Demo e descrizione:

http://javascript.nwbox.com/NW.....Matcher/

Codice sorgente SVN e GITHUB repository:

http://nwevents.googlecode.com...../


Diego

# - postato da Diego Perini - 07 Novembre 2008 - 02:19

8

[…] L’esigenza di nuovi linguaggi, la consapevolezza di utilizzare tecnologie e standard non al passo con i tempi, la conseguente volontà di adeguarsi: si avverte nell’aria l’esigenza di passare ad altro, tutti intravediamo un web migliore, più utile e vicino all’utente, prossimo a venire. Quello che si avverte nei blog, nei progetti, nei talk, è che non possiamo più aspettare. Dobbiamo provare, subito, e sperimentare. […]

# - postato da Ferdinando De Meo | visual designer, front-end developer | blog personale e portfolio » VIETATO ASPETTARE - 16 Gennaio 2009 - 10:52

Inserisci il tuo commento:





(puoi usare i seguenti tag HTML per formattare il testo -
a href, b, i, br/, p, strong, em, ul, ol, li, blockquote, pre):

 

Anteprima del commento