Newsgroup: it.comp.lang.javascript
Titolo: Impressioni di un semi-niubbo su Prototype...

Salve a tutti!
Sono un semi-niubbo nel campo del javascript (ho iniziato da circa 1 mesetto 
ad usarlo) e stavo guardando un po' prototype per quanto riguarda la 
gestione dell'oggetto XMLHttpRequest e la gestione degli elementi nel DOM col 
dollaro $.
Devo dire che questo framework è, semplicemente, una bomba! Risparmia un 
sacco di tempo nella gestione degli elementi nel DOM (vedi getElementbyId, 
ecc. ecc.) e soprattutto, toglie tutta la rottura di scatole nella gestione 
delle differenze tra IE e "resto del mondo" quando si tratta di creare e 
gestire l'oggetto XMLHttpRequest. Sicuramente ho scoperto l'acqua calda, ma 
devo dire che è davvero bello bello bello! :D Ed ho appena iniziato ad 
usarlo...
Una domanda: esiste qualche script che, in combinata a prototype, semplifica 
l'uso delle trasformate XSLT? Se qualcuno di voi le ha usate, ben saprà che 
firefox e IE hanno metodi un po' diversi per gestire la trasformazione di un 
documento XML e non oso pensare quali differenze ci siano con gli altri 
browser...

 browser...
In alcuni casi, non hai proprio modo di gestire le trasformazioni, da
Javascript. In altri (vedasi l'ormai vetusto IE5.5) il modo ce l'hai,
ma forse sarebbe stato meglio non averlo avuto visti i risultati (una
scimmia farebbe probabilmente di meglio).
-- 
~ "Ho avuto la fortuna di unire mestiere e passione,
che secondo Stendhal equivale alla felicità."
(Roland Barthes)

 di cose si demandano al server.
Quindi dici che i tentativi di trasferire il carico di lavoro dal server 
(fatto con php o con altri linguaggi server-side) ai client č errato? Non 
capisco (a parte i problemi di compatibilitŕ degli script coi vari browswer) 
questa tua affermazione sinceramente.

 questa tua affermazione sinceramente.
Il punto è proprio questo. I problemi di "compatibilità" sono un
effetto della causa per cui si tende a evitare di demandare cose
come l'XSLT al browser. E la causa, è che i browser sono diversi
tra loro. Anche quando implementano le medesime cose, può essere
diversa l'implementazione. Non puoi fidarti troppo del client.
Su alcune cose puoi metterci delle pezze, su altre puoi avere un
certo margine di sicurezza, ma in altri casi più di tanto non si
può fare. Ovviamente col tempo si tende a migliorare, basta dare
un'occhiata a com'era ai tempi dei browser di quarta generazione
per averne un'idea.
Inoltre il client è lento.
Uno dei motivi per cui lo sviluppo di applicazioni incentrate in
particolar modo sul client è "decollato" solamente di recente, è
che prima i PC non erano sufficientemente potenti per far girare
decentemente alcuni degli script odierni.
Demandare troppe cose al client, cose che il server potrebbe far
benissimo, significa appesantire notevolmente il browser.
Alla fine l'utente dovrebbe avere un PC di ultima generazione se
vuole utilizzare quella web application, e non mi pare il caso.
La mia impressione è che con il "boom" di "AJAX" si sta passando
da un estremo all'altro.
Prima la gente tendeva a ignorare la programmazione client-side,
pensando che JS servisse solo per rollover e validazioni (molti,
ignorano che per applicazioni intranet l'XmlHttpRequest si usava
già dal '99 ad esempio).
Adesso, mi pare che tutti si vogliano buttare sullo sviluppo del
client, demandando cose che sarebbero di competenza del server.
Tant'è che molti dei "framework" attuali, su PC di fascia bassa,
o anche media, arrancano o causano problemi.
Né prima, né ora, molta gente ha compreso il fatto che client, e
server, sono complementari. Lavorano in simbiosi, e generalmente
l'ottimo si ottiene bilanciando il lavoro tra i due.
Il tutto IMVHO, ovviamente, e parlando in termini "generici".
Scusa la lungaggine :)
-- 
~ Io sono il più importante dei miei problemi.

 
Figurati, le tue riflessioni sono molto sensate. Magari le includerò nella 
tesi :D

 tesi :D
Nel qual caso, mi raccomando, un piccolo accenno alla fonte è gradito
:D
-- 
~ Ci si aspetta di tutto, ma non si e' mai preparati a nulla.
(M.Swetchine)

 :D
Certo :D