Chiedete Satyam - e beneficiare di una copia gratuita del New YUI 2,8 libro da Packt
29 Luglio 2010 alle 8:03 am da Eric Miraglia | In Development | 28 commentiSatyam (Daniel Barreiro) ha scritto la settimana scorsa circa la sua esperienza di scrittura YUI 2.8: Apprendere la Biblioteca , il nuovo YUI 2 del volume ora disponibile da Packt.
Packt ha generosamente offerto poche copie gratuite elettronici YUIBlog lettori. Suggerisci una domanda o tutorial ti piacerebbe vedere da Satyam YUI 2,8 su un tema legato come un commento su questo post, e se Satyam prende l'argomento suggerito per una delle i suoi tre "Ask Satyam" Packt blog post farà una copia elettronica del libro a disposizione per il download di Satyam.
Satyam pubblicherò le sue risposte alle tre domande preferite qui sul blog nel prossimo mese o giù di lì.
Condividi ed estendere: Segnalibro con Del.icio.us | Digg it! | reddit!
YUI 3.2.0 Preview Release 1: Event Support Touch, Gesti, Transitions, Grids CSS, Scrollview, Uploader e Altro
Luglio 26, 2010 at 12:24 di Eric Miraglia | In Development | 15 commentiIl team del contribuente YUI è lieta di annunciare la prima developer preview della prossima YUI 3.2.0 release. Questa anteprima offre l'opportunità per gli sviluppatori e gli implementatori per testare l'immissione in regressioni potenziali e per fornire un feedback sulle nuove caratteristiche e componenti. Se si dispone di un'implementazione esistente YUI, YUI 3.2.0pr1 si prega di esercitare nel proprio ambiente di sviluppo e fateci sapere cosa si trova.
Ci sono tre modi per iniziare con la versione preview:
- Utilizzare il CDN: YUI 3.2.0pr1 è disponibile sul CDN tramite il tag versione 3.2.0pr1 - in modo da poter fare riferimento anteprima a rilascio file come
http://yui.yahooapis.com/combo?3.2.0pr1/build/yui/yui-min.js. Se si passa a questo file seme per la versione di anteprima, tutti i successiviuse()dichiarazioni continuerà a caricare YUI 3.2.0pr1. - Scarica il comunicato: Scarica YUI 3.2.0pr1 da YUILibrary.com , compreso il codice sorgente ed esempi per tutti i componenti - compresi coloro che sono nuovi a questa versione.
- Esplorate gli esempi: Per comodità, abbiamo pubblicato l'anteprima (insieme con il roster funzionamento esempi ) a YUIBlog. Sentitevi liberi di esplorare il rilascio lì come un preludio a cambiare la vostra versione di riferimento CDN (o di scaricare l'anteprima) e testarlo nel proprio ambiente.
Notevoli cambiamenti in arrivo YUI 3.2.0
Come con tutti i lavoro di sviluppo YUI, è possibile tenere traccia dei nostri attuali piani ei progressi sul nostro YUI 3 tasklist , compreso un elenco completo di YUI 3.2.0 (e un po prossima 3.3.0) cambiamenti; si può anche il check-in sui nostri progressi affrontare le questioni nel database di bug . Qui ci sono alcuni dei componenti nuovi e aggiornati presenti nel 3.2.0 developer preview:
- Supporto intrinseco per gli eventi tocco è stato aggiunto (
mynode.on("touchstart", function(e) {});). Abbiamo anche aggiunto un modulo di gesti con due gesti in bundle -gesture-flickegesture-move- che funzionano sia con touch-e mouse-driven dispositivi. Scopri la documentazione API o la pagina di esempio in dotazione per le idee su come iniziare ad usare gesti. - Loader intrinseca YUI supporta ora di una capacità di carico-based. Questo ci permette di separare, ad esempio, il codice specifico per IE in sottomoduli separati e consentire il programma di caricamento bundle che solo il codice per i browser che lo richiedono. Stiamo sfruttando questa nuova funzione per evitare di spedizione IE codice specifico nel modulo Dom di browser diversi da IE, una performance / k spinta-peso, che beneficeranno tutti gli utenti dei browser moderni, senza modifica del codice necessario.
- Portafoglio di animazione YUI 3 supporta ora le transizioni tramite il modulo di transizione, fornendo normalizzazione browser per questo potente, tecnica di accelerazione hardware (dove disponibile) per la gestione di transizioni; verificare l'esempio di codice di esempio . Animazione, nella sua forma più elementare, ha un albero di dipendenze ottimizzato per i browser moderni, riducendo significativamente il k-peso per l'animazione semplice browser migliori.
- YUI 3.2.0 porterà con sé una nuova versione beta del componente YUI CSS Grids, e si può cominciare ad esplorare questo nuovo approccio alle griglie nella versione di anteprima. Gli esempi sono il posto migliore per iniziare .
- Abbiamo lavorato con Michael Johnston della squadra mobile di Ingegneria Yahoo! per portare una nuova (beta) Scrollview offerto a YUI 3.2.0. Scrollview fornisce un'implementazione scrolling riquadro familiare agli utenti di applicazioni native di Apple iOS, emulando l'elasticità del elemento quando scorrere fino al limite di inizio e fine. Vedrete negli esempi 3.2.0pr1 per Scrollview che questo componente è un dispositivo neutro, lavorando bene con un mouse e con eventi di tocco sul tuo dispositivo Android o iOS.
- La componente Caricatore da YUI 2 è ora parte della famiglia 3 YUI pure, debutta in versione beta in 3.2.0.
- Il modulo di storia che ha debuttato con YUI 3.0.0, che era un porto della versione 2 YUI, è obsoleta (resta disponibile in YUI 3.2.0 come
history-deprecated). Una nuova beta storia utility debutta in 3.2.0, basato sul modulo History Ryan Grove Lite dalla Galleria YUI 3. Un'anteprima-release esempio dal nuovo componente è un buon riferimento di partenza. - Il JSONP e moduli query YQL dalla Galleria 3 YUI sono diventati componenti canoniche, debuttando come in questa versione beta.
Feedback
L'obiettivo di una release di anteprima è quello di rendere il più semplice possibile per tutti noi in comunità per valutare i progressi del prossimo rilascio e fornire feedback. Si prega di richiedere un certo tempo per testare 3.2.0pr1 e fateci sapere cosa si trova presentando i biglietti nel database 3 bug YUI 3.2.0pr1 contrassegnati come "Osservato in versione". Faremo del nostro meglio per affrontare le preview a rilascio domande sui 3 forum YUI , anche.
Condividi ed estendere: Segnalibro con Del.icio.us | Digg it! | reddit!
YUI Theater Comes to Boxee, gentile concessione di Chad Auld e la squadra Brilaps
22 Luglio 2010 alle 6:15 am da Eric Miraglia | In YUI Theater | Commenti disabilitatiYUI contribuente ed ex Yahoo Chad Auld via e-mail a noi per dirci del suo ultimo progetto con il suo gruppo Brilaps - un progetto che ha portato Theater YUI allo schermo TV via Boxee. Nelle parole del Ciad:
Boxee è un up-and-coming applicazione cross-platform che si propone di contribuire a portare i contenuti Web alla TV. Si basa sul open source XBMC progetto e consente agli utenti di scrivere nuovi plugin per portare contenuti aggiuntivi. Abbiamo lanciato un nuovo progetto circa tre settimane fa per costruire il nostro primo plugin Boxee, e abbiamo scelto il Teatro YUI come il contenuto abbiamo voluto portare dal web alla TV. Ci sono così tanti grandi video archiviati lì (e crescente), pensiamo che sia una fonte formidabile di contenuti per gli sviluppatori di avere accesso a dal loro divano (soprattutto perché la maggior parte dei video sono un po 'più di qualcuno potrebbe avere il tempo di guardare comodamente dal loro laptop). Ci sono voluti circa una settimana per costruire il plugin, un'altra settimana per lucidare e risolvere alcuni bug, e circa una settimana per ottenere l'applicazione approvato dal team di Boxee QA e spinto nel repository pubblico. Ho appena saputo che ha colpito il repository pubblico questa mattina e così ho voluto raggiungere e ti faccio sapere.
Questa è una notizia fantastica per chi ha goduto Theater YUI contenuti e vorrei recuperare il più tardi dal Douglas Crockford, Brendan Eich e tutti gli altri grandi oratori Theater YUI dalla comodità della sua / suo divano. Guarda il video qui sopra per un tour dell'interfaccia utente, e poi andare grab Boxee e iniziare.
Condividi ed estendere: Segnalibro con Del.icio.us | Digg it! | reddit!
Frontend posizioni di ingegneria disponibili con il Team Yahoo! Flex Forza
21 lug 2010 alle 11:00 am da Gonzalo Cordero | In Ingegneria front-end a Yahoo | Commenti disabilitatiIl Yahoo! Flex Force è attualmente in cerca di espandere il nostro team con alcuni ingegneri di talento frontend. Come parte del team Forza Flex, avrete l'opportunità di lavorare su più progetti strategici di alto profilo e alta visibilità. Queste posizioni comportano essere un ambasciatore di buone pratiche e la condivisione della conoscenza all'interno dell'organizzazione. Lavoriamo a stretto contatto con i team della piattaforma diversi, tra cui il team di YUI, per garantire la stiamo utilizzando le più recenti strategie, tecniche e strumenti.
Come esempio recente, il team Forza Flex era dietro l'attuazione del nuovo Yahoo! Widget di aggiornamenti che è costruito interamente utilizzando YUI 3 .
Per avere successo in questo ruolo, è necessario essere uno studente self-starter e veloce con una mentalità positiva, che può rapidamente dilagare e di affrontare sfide diverse. Una vera passione per le tecnologie e le migliori pratiche frontend è anche necessario.
Se si lavora con me ei miei colleghi del Flex Yahoo! Forza suona interessa a te, la testa al sito di Yahoo carriere e verificare le seguenti posizioni:
- Frontend engineer posizione # 1
- Frontend posizione di ingegnere # 2
- Engineer posizione Frontend # 3 - questo è un ruolo più anziano, con più esperienza e le competenze aggiuntive necessarie
Condividi ed estendere: Segnalibro con Del.icio.us | Digg it! | reddit!
YUI: Orario di apertura lun, 21 luglio
Luglio 20, 2010 at 03:07 di Luke Smith | In Development | 3 commentiPer quelli di voi che non sottoscrivere il calendario YUI o YUILibrary.com forum , la prossima rata di YUI: Orario di apertura sarà domani, 21 luglio.
Questa volta abbiamo intenzione di concentrarsi su un tema ricorrente per YUI collaboratori comunità che hanno appena iniziato a costruire i propri moduli: Come costruire un widget e come costruire un Plugin in modo 3 YUI.
Anthony Pipkin, aka apipkin del canale IRC # yui fama, sarà l'ospite, ci guida attraverso i suoi insegnamenti nel corso dell'ultimo anno e mostrando come passare da copiare e incollare i 3 esempi di documentazione YUI a sentirsi sicuro che stai facendo il diritto scelte per come affrontare un problema in un "YUI 3 modo di pensare".
Daremo uno sguardo a due dei suoi moduli più semplici, la Galleria Widget Button e il plugin Node IO . Farà discutere di quello che sembrava inizialmente, rispetto a oggi, e perché hanno cambiato.
Poi faremo giocare un po ', forse costruire qualcosa da zero in base a quanto la gente sulla chiamata da coprire.
Matt Sweeney (Node, Selector, Visualizzazione a scheda, griglie, ecc) e Satyen "il Guru" Desai (Widget, Plugin, Base, Attribute, etc) da parte del team YUI sarà anche la chiamata. Quindi ci saranno le migliori pratiche nella casa.
Per YUI 3 i consumatori che non sono (ancora?) Contribuenti, questo invito dovrebbe essere ancora utile per comprendere il pensiero dietro come YUI 3 widget e plugin sono costruiti e che tipo di modelli si aspetta da nuovi componenti YUI. E senza dubbio ci saranno altre take away grandi come sempre.
Saremo on-line 10:00-12:00 PDT. I dettagli di connessione sono le stesse come al solito.
- Comporre al 1-888-371-8922 (non statunitensi partecipanti, mandatemi una email per un numero locale)
- Inserire il codice partecipante 47188953 #
- Partecipa alla sessione di condivisione dello schermo (questa vi verrà chiesto di installare il plugin Adobe Connect se questa è la prima volta ad usarlo)
Ecco il thread del forum per questo Orario di apertura. Vi posto alcuni dei take away interessanti dopo la chiamata.
Segui @ yuilibrary su Twitter per le ultime.
Spero di vedervi lì!
Condividi ed estendere: Segnalibro con Del.icio.us | Digg it! | reddit!
Note Autore: Scrivere YUI 2,8: Imparare la Biblioteca, il New YUI 2 libro da Packt
20 Luglio, 2010 alle 9:14 pm Satyam | In Development | 1 commento
Chi l'Autore: Daniel Barreiro (schermata con il nome Satyam) è stato intorno per un bel po 'di tempo. L'ENIAC è stato spento il giorno prima che lui nascesse, in modo che gli mancava, ma non ha perso molto da allora. Ha avuto la possibilità di schede perforate, il programma 6502 chip (ricordate l'Apple II?), Possiede un TRS-80 e vedere alcuni pezzi fantastici di attrezzatura operativa nella sua nativa Argentina che avrebbero potuto essere nei musei altrove. Quando la globalizzazione ha aperto le porte al mondo, il suo allora poco sfruttabili inglese (più una laurea in Ingegneria Elettrica) lo ha messo sul percorso di carriera che si è conclusa in 5 anni di lavoro nella parte posteriore della Bay Area nei giorni di NCSA Mosaic. Totalmente affascinato dalle scarabocchi divertenti un suo amico scrisse nel suo editor di testo semplice, piena di <'s e>' s, ha finito per imparare un bel po 'sul mondo di ingegneria frontend. E 'stato un lungo viaggio dal COBOL e Fortran. Ora vive tranquillamente semi-pensionato nella vicina costa del Mediterraneo a Barcellona, Spagna. Quando non è crogiolarsi al sole del Mediterraneo, Satyam si possono trovare tra i partecipanti più prolifici e ben informato nella comunità YUI sul Forum YUI .
Nel dicembre 2009, redattori di Packt Publishing mi ha chiesto se mi piacerebbe scrivere la seconda edizione del loro libro sulla libreria YUI . L'autore originale, Dan Wellman, era impegnato in altre attività, al momento, e hanno bisogno di un autore che è stato ampiamente familiarità con YUI 2 . La prima cosa che ho pensato è stata: non sei un po 'in ritardo? Gran parte della YUI 3 era già fuori in GA e più veniva ad ogni release. Ma il team Packt ha voluto procedere, e ho accettato di raccogliere la sfida.
Il 16 luglio, il nuovo volume è uscito, YUI 2.8: Apprendere la biblioteca , non come una seconda edizione, ma come un nuovo titolo. Alla fine, non era una cattiva decisione. Mentre il libro è stato passare attraverso il processo di editing, YUI 3 acquisito la capacità di caricare YUI 2 componenti da use() dichiarazione . Questo si estende l'utilità del vasto catalogo YUI 2 tenendo la pressione agli sviluppatori di produrre YUI 3 versioni di tutti i 2 componenti YUI.
- Esempio Capitolo: Packt ha rilasciato un capitolo di esempio del nuovo volume, che copre YUI 2,8 Rich Text Editor, sul loro sito web, dando un sapore di ciò che il libro contiene .
L'obiettivo di questo nuovo volume è stato quello di coprire tutti i non-beta YUI 2 componenti. Questa visione ampia mi ha costretto a prendere uno sguardo più approfondito componenti che avevo appena usato nelle loro forme più elementari così come gli altri non avevo usato affatto. Tuttavia, contrariamente alla prima edizione, un progetto che ha avuto inizio poco dopo la libreria era stata resa pubblica, ho avuto alcuni anni di esperienza accumulata con la YUI - la mia esperienza in coppia con quella dei molti utenti che condividono le loro esperienze e consigli sui forum e il blog. Sono stato anche risparmiato da molti errori da parte di un eccellente team di valutatori esperti, due dei quali, Caridy Patiño e Iliyan Peichev, sono ben noti collaboratori YUI.
Per mantenere il libro a una lunghezza gestibile, ho eliminato alcune immagini, esempi lunghi, e materiale di riferimento che potrebbero essere disponibili sul sito web YUI . Mentre la prima edizione ha avuto al massimo due componenti per capitolo, il nuovo ha fino a quattro e ha un paio di nuovi capitoli. Anche così, alcuni componenti non ha fatto il taglio.
L'evoluzione della YUI 2
Ho imparato molto sulla libreria YUI mentre scrivevo questo libro, e le modifiche che ho fatto al testo di Dan erano istruttivo sull'evoluzione della biblioteca dalla sua uscita nel 2006.
Lo stile di programmazione per codice di esempio è cambiato in questi anni. Invece di creare uno spazio dei nomi (o utilizzando YAHOO.example , che è sempre disponibile come segnaposto), ora tendono a rientrare tutto all'interno di una funzione anonima creata quando il DOM diventa disponibile. (Questo stile è più vicino a ciò che vediamo in YUI 3.) Noi ora utilizzare gli spazi dei nomi quando abbiamo assolutamente bisogno di creare le variabili globali accessibili (compresi gli oggetti) ad esempio quando si crea un componente personalizzato biblioteca. Sandboxing ci salva un po 'la tipizzazione, dal momento che possiamo definire funzionale con ambito di alias per gli oggetti che usiamo più spesso da YUI (Dom, Evento, Lang sono scorciatoie più comuni) o variabili di nostro. Questo approccio consente anche di YUI Compressor fare un lavoro di gran lunga migliore.
Avendo una vista panoramica di tutta la libreria mi ha permesso di notare come si è sviluppata nel corso del tempo. L'architettura dei componenti cambiato ed è chiaro come tutto vi confluisce in quello che ora è YUI 3.
I primi componenti, come TreeView, ha avuto poche dipendenze. Come alcuni modelli iniziato a diventare evidente, alcune infrastrutture componente fondamentale iniziato a svilupparsi. La famiglia ha avuto un contenitore Config oggetto che ha consentito di metodi getter e setter, e quindi hanno tutti i componenti che ereditano da essa. Esso utilizza anche l'oggetto di eventi personalizzato, che è uno dei due modi di lavorare con eventi personalizzati che abbiamo a disposizione in YUI 2.
Con il rilascio di visualizzazione a scheda è arrivata la 2 Utility Element YUI , che prevede getter e setter migliorati (via AttributeProvider), nonché migliori eventi personalizzati (via EventProvider). Diciassette YUI altri 2 componenti ereditano da Element. Osservando l'evoluzione della biblioteca, è facile vedere come le idee che stanno dietro elemento, come un involucro elemento DOM, è venuto a informare i Node YUI di 3. Ruolo di elemento come base per altri componenti era rotto in Base YUI 3 e Widget, se i nuovi componenti sono tutti di gran lunga più potente e completo, ciascuno nel proprio settore. Ad esempio, il nodo è all e one metodi restituiscono istanze dei nodi mentre l'elemento di getXxxx metodi restituiscono semplici riferimenti elemento DOM, non completamente astrarre il DOM.
I due modelli, Config e CustomEvents da un lato e AttributeProvider EventProvider e dall'altro non sono completamente incompatibili. In pulsanti del menu e Split coesistono entrambi i modelli, come Button eredita da Element e ospita un menu normale che eredita da Container.
Indubbiamente, YUI 3 beneficiato di tutta questa esperienza, ma YUI 2 anche beneficiato YUI3. Cool stuff venuto da YUI 3 per arricchire YUI 2, come event-delegate ed element-delegate e di altri nuovi eventi si può ascoltare ( focusin e focusout , mouseenter e mouseleave ). Anche questo fu possibile a causa del modo in noi componenti di carico , che ha cambiato durante la vita di due YUI - soprattutto con l'introduzione del 2 YUI Loader - e divenne formalizzato come supporto intrinseco per client-side in carico YUI 3.
Caricamento colpito come i componenti, ma ho studiato e in che modo i file dei componenti finali sono costruiti. In YUI 2, per ridurre al minimo il numero di richieste al server in sospeso, i componenti dovevano avere come gran parte di ciò di cui avevano bisogno imballati in comune. Così, alcuni componenti ha stretta relazione con gli oggetti in loro solo per avere a portata di mano quando e se necessario, altre avevano un mucchio di oggetti con una vasta gamma di funzioni confezionati in un unico file, perché il caricamento delle parti separate era troppo costoso. Poi vennero aggregati come yahoo-dom-events.js o reset-fonts-grids.css dal momento che sono quasi sempre utilizzati insieme o utilities.js che raccoglie tutti i componenti impiegati spesso nel YAHOO.util ramo. Ma il vero cambiamento è venuto con combo-gestione delle richieste, che ci ha permesso di tirare un numero qualsiasi di file di script e css ciascuno in una sola richiesta http. Questo lo rende meno necessario per ottimizzare l'imballaggio degli oggetti nella libreria di componenti in file e quelli in aggregati basati su un ipotetico 'utente medio'.
In YUI tre non abbiamo più bisogno di caricare il 'contenitore famiglia' tutto in una volta. Siamo in grado di caricare i diversi widget- xxxx file sulla parte superiore della base widget in base alle caratteristiche di cui abbiamo bisogno. Questo approccio è lo standard in YUI 3, ma è venuto come uno dei passaggi della evoluzione della YUI 2. Quindi, più recenti YUI 2 componenti come event-delegate e element-delegate sono imballati separatamente dai dai loro componenti di base ed è così Event mouseenter e mouseleave . Si potrebbe vedere un ulteriore divide in componenti di libreria nelle versioni future, che consente di scegliere più in particolare il set di funzionalità che si desidera e il codice non necessario lasciare fuori dalla pagina.
Questa è una storia di progresso, un processo che necessariamente è andato anche se alcuni tentativi falliti. Perché non TreeView eredita da Element o perché non ha Container e, quindi, Menu, passato a Element o, almeno, a AttributeProvider e EventProvider? Tecnicamente, la risposta è 'compatibilità', ma in termini più generali è 'rispetto'. Ci sono migliaia di siti web (e decine di migliaia di sviluppatori), utilizzando l'interfaccia pubblicata pubblico dei 2 componenti YUI. Questi cambiamenti si rompono molte applicazioni o li avrebbe tagliato il percorso di aggiornamento, se vogliono beneficiare di una correzione del codice o di una nuova funzionalità. Essendo così rispettosa del codice di base installata è una funzione di libreria in sé. Essere rispettosi di noi, che creano quel codice, è una caratteristica delle persone del team YUI, e sono molto grato è così.
Condividi ed estendere: Segnalibro con Del.icio.us | Digg it! | reddit!
Mobile Browser Limiti di cache, Revisited
12 Luglio, 2010 alle 8:45 am da Ryan Grove | In Development , le prestazioni | 9 commentiIn Limiti della cache del browser per cellulari: Android, iOS e webOS , ho condiviso i risultati dei miei tentativi di determinare i limiti della cache del browser su Android, iOS e dispositivi webOS. Alla fine di questo articolo, ho scritto:
Utilizzare questi risultati come punto di partenza, ma verificare voi stessi prima di prendere importanti decisioni basate su ipotesi relative limitazioni di cache mobili. I mobili del browser cambia mondo a un ritmo un fulmine, quindi questa ricerca avrà una durata molto breve.
Come si è visto, che era un buon consiglio: il giorno dopo l'articolo è stato inviato, Steve Souders ha commentato che aveva eseguito i test utilizzando una metodologia diversa che fosse più rappresentativo di un mondo reale del flusso di lavoro web e aveva ottenuto risultati diversi.
Nuova metodologia
La mia metodologia originale coinvolti navigare direttamente a una pagina generata casualmente di una certa dimensione, servito con un text/html tipo di contenuto. I risultati che utilizzano questa metodologia sono riproducibili in modo affidabile (eccetto webOS), ma, come ha sottolineato Steve, gli utenti non passare direttamente ai file CSS e JavaScript. La mia ipotesi che i limiti per la navigazione direttamente una risorsa HTML erano gli stessi limiti per i CSS e JavaScript esterno non era corretto, quindi, anche se i risultati dei miei test sono stati validi, non erano ampiamente applicabile.
Nel corso delle sessioni di messaggistica istantanea, e-mail molti diversi, e un paio di telefonate, Steve e ho elaborato una nuova metodologia di test. Ho implementato una versione di esso sulla parte superiore del mio quadro cache di testing , quindi Steve implementò una versione in grado di pubblicare risultati Browserscope .
Nei nuovi test, si carica una pagina HTML che fa riferimento a un generata a caso CSS o JavaScript componente di una certa dimensione. Poi passare a una seconda pagina HTML che carica il componente stesso e verifica se sia o non è stato caricato dalla cache. Per determinare se un componente è stato caricato dalla cache, abbiamo memorizzare un timestamp in un cookie per ogni richiesta, se il timestamp viene aggiornata la seconda volta abbiamo caricare il componente, sappiamo che la richiesta ha colpito il server, il che significa che il componente non è stato caricato dalla cache.
Nuovi risultati
Abbiamo trovato che tutti i browser per dispositivi mobili che abbiamo provato aveva dei limiti della cache significativamente più elevati per le risorse esterne caricate da una pagina di quello che ha fatto per una pagina HTML stessa. Questa è un'ottima notizia per gli sviluppatori web mobile.
La tabella sottostante illustra i nostri risultati:
| Browser / OS / Device | Componente Limit singolo | Sopravvive Ciclo di alimentazione |
|---|---|---|
| Android 2.2 (Nexus One) | 2MB | Sì |
| Safari Mobile, iOS 3.1.3 (1 ° gen-iPhone) | + 4MB | No |
| Safari Mobile, iOS 3.2 (iPad) | + 4MB | No |
| Safari Mobile, iOS 4.0 (iPhone 3GS) | + 4MB | No |
| Safari Mobile, iOS 4.0 (iPhone 4) | + 4MB | No |
| webOS 1.4.1 (Palm Pre Plus) | ~ 0.99MB (1023 KB) | Sì |
Si noti che 4MB era la più grande dimensione che abbiamo provato, e tutti i dispositivi iOS componenti 4MB cache. Il limite della cache effettiva sostenuta per tali dispositivi può essere più grande di 4MB. Inoltre, sul webOS Palm Pre Plus. ha dato risultati coerenti in questo test, mentre ha avuto alcuni problemi nel test precedente.
È possibile che i limiti molto inferiori mio test precedente mostrato per componenti HTML su iOS può indicare l'uso di una cache RAM per quei componenti, mentre i limiti molto più elevato per CSS / JS componenti in questo test può indicare l'uso di una cache disco, ma questa è solo una congettura. Android, almeno, sembra di usare una cache del disco in entrambi i casi, dal momento che la cache sopravvive cicli di potenza.
Nuove raccomandazioni
Sulla base di questi nuovi risultati, insieme con i risultati dei miei test precedenti, io offro il seguente aggiornato una serie di raccomandazioni:
- Utilizzare lontano futuro intestazioni di scadenza della cache. Questo modo si evita il browser di dover inviare una richiesta GET condizionale.
- Cercate di limitare le pagine HTML per 25.6KB o meno se si vuole che da memorizzare nella cache, in quanto le prove precedenti hanno mostrato che questo limite, imposto da iOS 3.2 su iPad, era il più basso limite di risorse HTML dei dispositivi testati.
- Tenere i componenti CSS e JS inferiori ad 1MB. Naturalmente, 1MB è enorme ed i componenti dovrebbe essere molto più piccolo di questo, ma non preoccupatevi suddivisione di un componente in richieste separate per motivi di cacheability a meno che le sue dimensioni si avvicina a 1 MB.
- Si consiglia di utilizzare la cache dell'applicazione HTML5 se è importante che i componenti persistono nella cache per un lungo periodo, o attraverso cicli di potenza.
- Fate il vostro test personale. Ho sottolineato l'importanza di questo nel mio precedente articolo e io lo sottolineare ancora una volta qui. Utilizzare questi risultati come punto di partenza, ma verificare voi stessi prima di prendere decisioni importanti basate su di essi.
Condividi ed estendere: Segnalibro con Del.icio.us | Digg it! | reddit!

Copyright © 2006-2012 Yahoo! Inc. Tutti i diritti riservati. Privacy Policy - Termini di servizio
Powered by WordPress su Yahoo! Web Hosting .

