Yavascript!

19 Dec

C'è grande fermento a Sunnyvale, e non solo per le recenti acquisizioni (l'ultima, come si sa, è quella di del.icio.us).A Yahoo! hanno capito molto bene che attirare intorno ai propri web services frotte di sviluppatori in grado di sfruttarli a dovere per costruire nuove applicazioni e nuovi servizi è una strategia vincente. Il Developer Network, allora, diventa sempre più un punto di riferimento obbligato. E devo dire che alcune aree sono straordinariamente ricche, si pongono davvero come risorse fondamentali non solo per chi abbia intenzione di lavorare con le API di Yahoo!. Da qualche giorno è disponibile ad esempio il Javascript Developer Center. Fossi in voi ci darei un'occhiata.Insieme ad una pagina ad hoc, poi, contiene diversi riferimenti a JSON (JavaScript Object Notation), questo formato per lo scambio di dati che molti considerano una valida alternativa a XML (almeno per un certo tipo di applicazione). Chi ne sa di più? Qualcuno lo ha usato o lo sta usando?

Continua a leggere Yavascript!

Categoria: Scripting

Volete provare uno style switcher che funzioni anche con Javascript disabilitato, che eviti quel fastidiosissimo effetto chimato F.O.U.C, che abbia il codice JS separato dal markup e sia facile da implementare? Date un'occhiata qui per la teoria e qui per un piccolo esempio. Si chiama UDASS (Unobtrusive Degradable Ajax Style Sheet Switcher).

Continua a leggere Lo style switcher di Natale

Categoria: Scripting

Uno dei problemi più annosi di window.onload, di cui ho parlato anche su web-graphics, è la latenza di esecuzione degli script. In alcuni casi questa latenza si può ridurre apparentemente a zero, in particolare quando dobbiamo nascondere o manipolare appena possibile elementi di pagina.Ho pensato così di riprendere uno degli esempi della prima parte della serie su Interazione ed eventi in Javascript per mostrare come sia possibile. Ecco quindi l'esempio aggiornato, in cui è possibile visualizzare o nascondere elementi di pagina e la transizione al caricamento è molto ridotta. (more…)

Continua a leggere Show/Hide rivisto

Categoria: Scripting

L'ispirazione dell'esperimento che vi segnalo nasce esplicitamente da una funzionalità  di iPhoto, il software per la gestione di fotografie e immagini di Apple.Come mostra lo screenshot, si tratta di uno slider agendo sul quale è possibile ridimensionare al volo la dimensione delle thumbnail presenti nella libreria:John Berry di Agile Partners, è riuscito a riproporre il tutto in versione XHTML + Javascript grazie a 2 (ormai onnipresenti) librerie: Prototype e script.aculo.us.

Continua a leggere Ridimensionare immagini con uno slider

Categoria: Scripting

Chi ha letto solo qualcosa di Jacob Nielsen non si stupirà . Il guru dell'usabilità  ha lanciato il suo anatema contro l'uso scriteriato di Ajax nel suo ultimo Alertbox. Il titolo non lascia spazio a fraintendimenti: Why Ajax Sucks (Most of the Time).Il giudizio negativo ruota essenzialmente intorno ad un problema. Ajax 'rompe' il modello classico del web, quello disegnato da Tim Berners Lee per intenderci, un modello che poggia sulla pagina come unità  costitutiva minima e fondamentale. Puà insomma accadere, su un sito fortemente ajaxificato, che il nuovo contenuto visualizzato sullo schermo in seguito ad una certa azione, non corrisponda, come dovrebbe, ad una nuova unità  informativa autonoma (una pagina appunto) dotata, tra l'altro, di una sua URL univoca.Da qui i problemi derivati, come quelli relativi all'uso del tasto Back/Indietro o alle URL che smettono di funzionare o che non assolvono al loro compito precipuo.Cose già  dette ed evidenziate da altri, tutto sommato. Con un'eccezione. Mai avevo letto altrove che sui siti costruiti in doppia versione, Ajax e non-Ajax, la gran parte degli utenti ha mostrato di prediligere quella Ajax-free.Update/rettifica: come si dice 'cospargersi il capo di cenere' in tutte le lingue? E pirla? Prego, infierite pure. E grazie a skidx per il provvidenziale commento:L'articolo non è di Nielsen, è una sua parodia."Ajax Sucks" article is not by me An article is currently making the rounds (even featured on Slashdot) that looks very much like one of mine, until you read the very bottom of the page that clearly states that it is by another author and written as a spoof. Please don't send me comments on this article, since I had nothing to do with it.A mia discolpa posso solo dire che ho fatto il post (poi schedulato per oggi) appena la segnalazione del pezzo-bufala ha iniziato a circolare in rete e l'indicazione che di bufala si trattava era ben nascosta in fondo alla pagina, a differenza di quanto accade in questo momento. Certo, se avessi dato un'occhiata alla URL...

Continua a leggere La scomunica di Jacob

Categoria: Scripting

Alex Bosworth ha stilato una lista delle cose che vale la pena trattare con Ajax. Trovo che sia piuttosto sensata. Ecco la sintesi.Interazione attivata con i formGestione dell'interfaccia per dati con struttura gerarchica complessa (esempio: un thread di discussione su un forum)Comunicazione rapida da utente a utenteVoti e ratingFiltrare e/o ordinare datiAutocompletamento nell'immissione di testiSegue la lista delle cose per cui è inutile o sbagliato usare Ajax.Campi di ricerca stile Google SuggestSistema di navigazione principale di un sitoRimpiazzare grosse quantità  di testoManipolazione dell'aspetto grafico di una paginaWidget inutiliDa leggere anche gli esempi che Bosworth porta a supporto delle sue indicazioni.

Continua a leggere Ajax: per molto ma non per tutto

Categoria: Scripting

Tags: ,

Non si tratta del nome di un gruppo degli anni ottanta né di un'esclamazione... AHAH (Asynchronous HTML and HTTP), è una recentissima libreria che costituisce un'ottima alternativa ad AJAX per diversi motivi.Il primo è che, basandosi su semplici inclusioni asincrone di codice HTML (sia esso proveniente da un file statico o il risultato di un'elaborazione server-side) non necessita di parsing dell'XML come avviene per AJAX. Il secondo è che si tratta di una libreria estremamente leggera: si compone infatti di due sole funzioni per un peso inferiore al kilobite. Terzo ed ultimo, ma senz'altro il più importante, è la disarmante facilità  di utilizzo. Oltre alla già  citata pagina originale su microformats.org, ho trovato questa valida introduzione (l'implementazione è leggermente diversa, ma sempre molto concisa) e questo esempio molto semplice. Se non avete ancora avuto tempo o modo di provare AJAX, AHAH potrebbe essere un buon punto di partenza.

Continua a leggere AHAH …AJAX é diventato facile!

Categoria: Scripting

Tags: , , ,

Una cosa che mi ha sempre affascinato di Javascript è l'abilità  di sintesi e la capacità  di manipolare agevolmente elementi di pagina attraverso il DOM.Ho così pensato di introdurre due piccoli "esperimenti scientifici" ovvero il teletrasporto e la clonazione. (more…)

Continua a leggere Esperimenti “scientifici” con il DOM

Categoria: Scripting

Tags: ,

Rimaniamo in tema, almeno per assonanza, rispetto al post precedente. Parliamo infatti di Google Maps.In attesa di poter sfruttare a dovere la versione italiana, se mai arriverà , possiamo iniziare a giocare con il codice appoggiandoci a quella americana. Un ottimo punto di partenza potrebbe essere questo. Peter Rukavina ha creato l'ennesima applicazione che sfrutta le API del servizio. Si tratta di Charlottetown Transit Interactive Bus Map, una mappa interattiva e aggiornata in tempo (quasi) reale che monitora il traffico degli autobus di Charlottetown.La cosa interessante è che ha reso pubblico tutto il codice dell'applicazione, un mix di PHP e Javascript che si appoggia ad un db MySQL per i dati. Da studiare.

Continua a leggere Creare un’applicazione con Google Maps

Categoria: Scripting

Uno dei limiti dell'ormai ubiquo oggetto XMLHttpRequest è la difficoltà  di utilizzarlo per chiamate verso server diversi da quello su cui risiedono le pagine di una specifica applicazione.Le restrizioni non sono in realtà  intrinseche dell'oggetto in questione, ma discendono dalle impostazioni di sicurezza dei vari browser. Ci sono diversi metodi per aggirare l'ostacolo, alcuni li ho implementati io stesso (ed è tutto dire) per certi esperimenti da dilettante che vado facendo di tanto in tanto al posto di un Sudoku o di un Bartezzaghi sulla Settimana Enigmistica. Per una panoramica seria, invece, consiglio questo articolo uscito su XML.com. 3 le soluzioni proposte e analizzate con tanto di codice:Application proxies. Write an application in your favorite programming language that sits on your server, responds to XMLHttpRequests from users, makes the web service call, and sends the data back to users.Apache proxy. Adjust your Apache web server configuration so that XMLHttpRequests can be invisibly re-routed from your server to the target web service domain.Script tag hack with application proxy (doesn't use XMLHttpRequest at all). Use the HTML script tag to make a request to an application proxy (see #1 above) that returns your data wrapped in JavaScript. This approach is also known as On-Demand JavaScript.

Continua a leggere Superare i limiti di XMLHttpRequest

Categoria: Scripting