Il nuovo Twitter.com, nuove tecnologie e rinnovata architettura novembre 5, 2010
Posted by Stefano Pedone in Articolo.Tags: ajax, architetture, performance, RIA, web2.0, webapplication
trackback
Da qualche tempo Twitter.com ha rilasciato il nuovo sito e ha reso note alcune caratteristiche della nuova implementazione: le nuove tecnologie e i cambiamenti nell’architettura. Le parole chiave sono facilità di sviluppo, estensibilità e performance.
Dopo aver atteso un po’ finché le novità arrivassero anche sugli utenti italiani, di seguito una sintesi ed alcuni commenti all’articolo che gli ingegneri di Twitter hanno pubblicato sul loro blog.
API Client
” Twitter.com is now a client of our own API.”
Le pagine web del sito e i client su piattaforma iOS utilizzano ora le stesse API per accedere ai dati. Ciò ha permesso a Twitter di focalizzare l’attenzione verso il miglioramento e la robustezza delle API stesse, allocando più risorse a questo scopo.
Questa mossa attirerà ulteriori partner e migliorerà la qualità dell’integrazione con applicazioni di terze parti, configurando sempre più Twitter come un vero e proprio framework di comunicazione.
Attirare partner attraverso API più efficienti e affidabili significa consolidarsi sul mercato e guadagnare stima, difesa e diffusione da parte di tutti coloro che fonderanno il loro business anche su Twitter.
The Javascript API
Sono state implementate nuove librerie Javascript. In particolare, fanno utilizzo di localStorage per il caching lato client dei dati, e di un gestore di eventi che modificano dinamicamente la UI.
Page Management
Altra novità nella gestione delle pagine. Generalmente, quando si utilizzano tecniche per la navigazione e l’aggiornamento della pagina tramite javascript, AJAX e la sottoscrizione ad eventi, non è garantita una robusta relazione tra la URL e il contenuto della pagina.
Ciò comporta una ridotta (non del tutto esplicita) percezione della navigazione ed una non ottimizzata indicizzazione nei motori di ricerca.
Il nuovo Twitter ha sviluppato una tecnica di routing sul client che permette di navigare tra le pagine proprio come se si trattasse di un sito web tradizionale, cambiando la URL coerentemente con il contenuto o accedendo alle diverse sezioni anche attraverso una URL specifica.
Le pagine visitate vengono anche memorizzate in una cache e opportunamente sincronizzate attraverso la sottoscrizioni ad eventi opportuni.
The Rendering Stack
Il primo impatto dovuto alla scelta di spostare il carico delle operazioni di rendering e navigazione delle pagine lato client è quello che, così facendo, si escludono tutti quegli utenti che non supportano Javascript nei loro browser.
Tra questi vanno inclusi anche i crawler dei motori di ricerca.
Per risolvere questo problema di accessibilità, gli ingegneri di Twitter hanno dovuto studiare un sistema di rendering che lavorasse sia lato server che lato client.
Utilizzando Mustache come sistema di templating, è stato creato un sistema di rendering che genera HTML a partire dai dati prelevati dalle API.
Nel caso dei crawler, quindi, il rendering delle pagine verrà eseguito completamente lato server; nel caso dei browser più evoluti, i dati prepopolati lato server e quelli che saranno richiesti dinamicamente dalle librerie Javascript saranno in equilibrio tale da ottenere performance adeguate nella gestione del DOM, per esempio distinguendo tra dati più statici (legati ad esempio al profilo dell’utente) e dati meno statici (ad esempio la cronologia dei tweet).










Commenti»
No comments yet — be the first.