Vraag Satyam - en in aanmerking komen voor een gratis exemplaar van het Nieuwe YUI 2,8 Boek van Packt

29 juli 2010 om 8:03 am door Eric Miraglia | In ontwikkeling | 28 Commentaren

Satyam (Daniel Barreiro) schreef vorige week over zijn ervaringen schrijven van YUI 2.8: Het leren van de Bibliotheek , de nieuwe YUI 2 volume nu verkrijgbaar bij Packt.

Packt heeft genereus aangeboden een paar gratis elektronische kopieën YUIBlog lezers. Stel een vraag of een handleiding die je wilt van Satyam ziet op een YUI 2,8-onderwerp als een commentaar op deze post, en als Satyam haalt je zou willen voorstellen onderwerp voor een van zijn drie "Ask Satyam" blog posts Packt zal een elektronisch exemplaar van het boek van Satyam's beschikbaar die u kunt downloaden.

Satyam zal posten antwoorden op zijn drie favoriete vragen hier op de blog de komende maand of zo.

Delen en uit te breiden: Bookmark met del.icio.us | Digg it! | reddit!

YUI 3.2.0 Voorbeeld Release 1: Touch Event Support, Gebaren, Overgangen, CSS Roosters, ScrollView, Uploader, en meer

26 juli 2010 om 12:24 door Eric Miraglia | In ontwikkeling | 15 Commentaren

De bijdrage YUI team is verheugd om de eerste developer preview van de aanstaande YUI 3.2.0 versie aan te kondigen. Dit voorbeeld biedt de mogelijkheid voor ontwikkelaars en uitvoerders om te testen voor het in het mogelijke regressies en om feedback te geven over nieuwe functies en componenten. Als u een bestaande YUI implementatie, vragen wij u YUI 3.2.0pr1 in je ontwikkeling omgeving en laat ons weten wat u vindt.

Er zijn drie manieren om aan de slag met de preview release:

  • Gebruik van de CDN: YUI 3.2.0pr1 is beschikbaar op de CDN via de 3.2.0pr1 versie tag - zodat je kunt verwijzen naar preview-versie bestanden zoals http://yui.yahooapis.com/combo?3.2.0pr1/build/yui/yui-min.js . Als u overschakelt naar dit zaad-bestand voor de preview release, alle volgende use() zal verklaringen blijven YUI 3.2.0pr1 te laden.
  • Download de introductie: Download YUI 3.2.0pr1 van YUILibrary.com , inclusief broncode en voorbeelden voor alle componenten - inclusief die nieuw in deze release.
  • Verken de voorbeelden: Voor het gemak hebben we geplaatst op het voorbeeld (samen met het functioneren voorbeelden rooster ) naar YUIBlog. Voel je vrij om de release zijn er te ontdekken als een prelude op schakelen van uw CDN versie referentie (of het downloaden van het voorbeeld) en het uit te testen in uw eigen omgeving.

Opmerkelijke veranderingen die in YUI 3.2.0

Zoals bij alle YUI ontwikkelingswerk, dan kunt u volgen onze huidige plannen en de voortgang op onze YUI 3 takenlijst , inclusief een uitgebreide lijst van YUI 3.2.0 (en sommige aankomende 3.3.0) veranderingen; kunt u ook in te checken op onze vooruitgang aanpakken van problemen in de bug-database . Hier zijn enkele van de nieuwe en bijgewerkte onderdelen opgenomen in de 3.2.0 developer preview:

  • Inhoudelijke ondersteuning voor touch-events is toegevoegd ( mynode.on("touchstart", function(e) {}); ). We hebben ook nog een Gebaren module met twee meegeleverde gebaren - gesture-flick en gesture-move - die werken met zowel de touch-en muis-aangedreven apparaten. Check out de API docs of van de meegeleverde voorbeeldpagina voor ideeën over hoe om te starten met behulp van gebaren.
  • Intrinsieke Loader YUI's ondersteunt nu ook mogelijkheden op basis van het laden. Dit stelt ons in staat te scheiden, bijvoorbeeld, IE-specifieke code in afzonderlijke submodules en de Loader om die code te bundelen alleen voor de browsers die het nodig hebben mogelijk te maken. We zijn gebruik te maken van deze nieuwe functie voor de scheepvaart IE-specifieke code te vermijden in de Dom-module voor niet-IE browsers, een performance / k-gewicht boost dat alle gebruikers van moderne browsers zullen profiteren zonder vereiste wijziging van de code.
  • YUI 3's animatie portfolio ondersteunt nu overgangen via de Transition-module, waardoor browser normalisatie voor deze krachtige, hardware-versnelde (indien beschikbaar) techniek voor de behandeling van overgangen, bekijk de voorbeeld voor voorbeeldcode . Animatie, in zijn meest elementaire vorm, heeft een gestroomlijnd Boom van vereisten voor moderne browsers, aanmerkelijk verminderen van de k-gewicht voor eenvoudige animatie in een betere browsers.
  • YUI 3.2.0 brengt daarmee een nieuwe beta versie van YUI's CSS Rasters component, en u kunt beginnen met het verkennen van deze nieuwe benadering van grids in de preview release. De voorbeelden zijn de beste plek om te beginnen .
  • We werkten met Michael Johnston van de Yahoo! Mobile Engineering team naar een nieuwe (beta) ScrollView widget te brengen YUI 3.2.0. ScrollView zorgt voor een scroll venster implementatie bekend bij de gebruikers van inheemse Apple iOS applicaties, emuleren de elasticiteit van het element wanneer verschoven naar het begin of einde limiet. U ziet in de 3.2.0pr1 voorbeelden ScrollView dat dit onderdeel is het apparaat neutraal, goed werkt met een muis en met touch gebeurtenissen op je Android-of iOS-apparaat.
  • De uploader component uit YUI 2 is nu deel uit van de YUI 3 familie als goed, debuut als beta in 3.2.0.
  • De geschiedenis module die debuteerde met YUI 3.0.0, die een haven van de YUI 2 versie, is afgekeurd (het blijft beschikbaar in YUI 3.2.0 als history-deprecated ). een nieuwe beta geschiedenis nut debuteert in 3.2.0, gebaseerd op de geschiedenis Ryan Grove's Lite module uit de YUI 3 Galerij. Een preview-release voorbeeld uit het nieuwe onderdeel is een goed uitgangspunt referentie.
  • De JSONP en YQL Query modules van de YUI 3 Galerij zijn geworden canonieke componenten, zijn debuut als bèta in deze versie.

Terugkoppeling

Het doel van een preview release is om het zo makkelijk mogelijk voor ons allemaal in de gemeenschap om de voortgang van de aankomende release te evalueren en feedback geven. Neem even de tijd om 3.2.0pr1 te testen en laat ons weten wat je kunt vinden door het indienen van tickets in de YUI 3 bug-database gemarkeerd als "Waargenomen in versie" 3.2.0pr1. We zullen ons best doen om een voorbeeld-release vraagstukken aan te pakken op de YUI 3 Forum , ook.

Delen en uit te breiden: Bookmark met del.icio.us | Digg it! | reddit!

YUI Theater komt naar Boxee, Met dank aan Chad Auld en de Brilaps Team

22 juli 2010 om 6:15 am door Eric Miraglia | In YUI Theater | Comments Off


YUI bijdrage en voormalig Yahoo Chad Auld per e-mail ons om ons te vertellen over zijn nieuwste project met zijn Brilaps groep - een project dat heeft geleid YUI Theater aan het tv-scherm via Boxee. In Tsjaad de woorden:

Boxee is een up-and-coming cross-platform applicatie die is bedoeld om te helpen webinhoud te brengen op de TV. Het is gebaseerd op het open source XBMC-project en stelt gebruikers in staat om nieuwe plugins schrijven om in de extra content. We lanceerden een nieuw project ongeveer drie weken geleden naar onze eerste Boxee plugin te bouwen, en we gekozen voor de YUI Theater als de inhoud wilden we van het web te brengen op de TV. Er zijn zoveel geweldige video's er gearchiveerd (en groeiende), we denken dat het is een geweldige bron van inhoud voor ontwikkelaars toegang te hebben tot vanaf de bank (in het bijzonder omdat de meeste van de video's zijn een beetje langer dan iemand misschien tijd om comfortabel te kijken hebben uit hun laptop). Het kostte ons ongeveer een week om de plugin, nog een week om het te poetsen en sorteren van een paar bugs, en ongeveer een week op te bouwen om de toepassing goedgekeurd door de Boxee QA team te halen en duwde in de openbare repository. Ik hoorden net dat het de publieke repository raakte vanmorgen en dus wilde ik om uit te reiken en u laten weten.

Dit is fantastisch nieuws voor iedereen die heeft genoten van YUI Theater inhoud en zou graag in te halen op de nieuwste van Douglas Crockford, Brendan Eich en alle andere grote YUI Theater sprekers vanuit het comfort van zijn / haar bank. Bekijk de video hierboven voor een rondleiding door de UI, en ga dan grijper Boxee en aan de slag.

Delen en uit te breiden: Bookmark met del.icio.us | Digg it! | reddit!

Frontend technische functies beschikbaar met de Yahoo! Flex Force Team

21 juli 2010 om 11:00 uur door Gonzalo Cordero | In Frontend Engineering Vacature bij Yahoo | Comments Off

De Yahoo! Flex Force is momenteel op zoek om ons team uit te breiden met een paar getalenteerde frontend Engineers. Als onderdeel van de Flex Force team, krijg je de kans om te werken op meerdere strategische projecten van een sterk profiel en een hoge zichtbaarheid. Deze posities te betrekken wordt een ambassadeur van de beste praktijken en het delen van kennis binnen de organisatie. We werken nauw samen met de verschillende platform teams, waaronder het YUI team, om ervoor te zorgen dat we de nieuwste strategieën, technieken en tools met behulp van.

Als recent voorbeeld, de Flex Force team was achter de implementatie van de nieuwe Yahoo! Updates widget , die is volledig gebouwd met behulp van YUI 3 .

Om succesvol te zijn in deze rol, moet u een self-starter en snelle leerling met een positieve mindset die snel opvoeren van en neem het op verschillende uitdagingen. Een echte passie voor frontend technologieën en best practices is ook vereist.

Als het werken met mij en mijn collega's in de Yahoo! Flex Force klinkt interessant is voor u, ga dan naar de Yahoo carrière site en bekijk de volgende posities:

Delen en uit te breiden: Bookmark met del.icio.us | Digg it! | reddit!

YUI: Openingsuren ma 21 juli

20 juli 2010 om 15:07 door Luke Smith | In ontwikkeling | 3 Opmerkingen

Voor degenen onder u die niet abonneren op de YUI kalender of YUILibrary.com forum , het volgende deel van YUI: Openingsuren zal morgen 21 juli zijn.

Deze keer gaan we focussen op een terugkerend thema voor YUI gemeenschap medewerkers die net raken begonnen met de bouw van hun eigen modules: Hoe maak je een Widget en hoe je een plugin in een YUI 3-weg te bouwen op te bouwen.

Anthony Pipkin, aka apipkin van # yui IRC kanaal roem, zal de gast, en stuurt ons door zijn lessen in het afgelopen jaar en laat zien hoe om van het kopiëren en plakken van de YUI 3 Documentatie voorbeelden om een ​​gerust gevoel dat je de juiste maakt keuzemogelijkheden voor hoe je een probleem in een "YUI 3 manier van denken 'te benaderen.

We nemen een kijkje in twee van zijn eenvoudiger Gallery modules, de knop Widget en de Node IO Plugin . Hij zal bespreken wat ze zag eruit als oorspronkelijk, ten opzichte van vandaag, en waarom ze veranderd.

Dan spelen we een tijdje rond, misschien iets op te bouwen vanuit het niets op basis van wat de mensen op de oproep wilt afleggen.

Matt Sweeney (Node, Selector, tabview, grids, enz.) en Satyen "de Guru" Desai (Widget, Plugin, Base, Kenmerk, etc) van het YUI team zal ook op de oproep. Dus er zullen best practices in het huis.

Voor YUI 3 consumenten die niet (nog?) Contribuanten, indien deze oproep nog steeds waardevol te zijn voor het begrijpen van de gedachten achter hoe YUI 3 widgets en plugins worden gebouwd en wat voor soort patronen te verwachten van nieuwe YUI componenten. En ongetwijfeld zullen er andere grote afhaalrestaurants zoals altijd.

We zullen online van 10u tot 12u PDT. De verbinding zijn identiek zoals gebruikelijk.

  1. Inbellen op 1-888-371-8922 (niet-Amerikaanse deelnemers, me te mailen voor een lokaal nummer)
  2. Voer de deelnemer code 47188953 #
  3. Word lid van de delen van het scherm sessie (dit wordt u gevraagd de Adobe Connect-plugin te installeren als dit je eerste keer te gebruiken)

Hier is de forum thread voor deze Open uur. Ik kom na een aantal van de interessante afhaalrestaurants na het gesprek.

Volg @ yuilibrary op Twitter voor het laatste.

Hoop je daar te zien!

Delen en uit te breiden: Bookmark met del.icio.us | Digg it! | reddit!

Auteur Opmerkingen: Het schrijven van YUI 2.8: Het leren van de bibliotheek, de Nieuwe YUI 2 Boek van Packt

20 juli 2010 om 09:14 am door Satyam | In Ontwikkeling | 1 Reactie

Daniel Barreiro (Satyam) Over de auteur: Daniel Barreiro (scherm naam Satyam) is al geruime tijd. De ENIAC was uitgeschakeld op de dag voor hij geboren werd, dus hij gemist, maar hij heeft niet veel gemist sinds. Hij had een kans om ponskaarten, programma 6502 chips (denk aan de Apple II?), Eigen een TRS-80 en zie een aantal fantastische stukken van bedrijfsapparatuur in zijn geboorteland Argentinië, die misschien wel elders in musea. Als de globalisering de deuren geopend voor de wereld, zijn dan nauwelijks bruikbare Engels (plus een elektrotechnische opleiding) hem op de loopbaan, die eindigde in een 5-jarige baan in de Bay Area in de dagen van de NCSA Mosaic. Helemaal geïntrigeerd door de grappige krabbels een vriend van hem schreef in zijn platte tekst editor, vol <'s en>' s, hij eindigde het leren heel veel over de wereld van de front-end engineering. Het was een lange reis, omdat COBOL en Fortran. Nu woont hij heel gelukkig met pensioen is in de Middellandse Zee in de buurt van Barcelona, ​​Spanje. Als hij niet koesteren in de mediterrane zon, kan Satyam te vinden bij de meest productieve en goed geïnformeerd deelnemers aan de YUI gemeenschap op het YUI forum .

In december 2009, redacteuren Packt Publishing vroeg me of ik wil graag de tweede editie van hun boek te schrijven over de YUI Bibliotheek . De oorspronkelijke auteur, Dan Wellman, hield zich bezig met andere zaken op het moment, en ze hadden een auteur die in grote lijnen bekend zijn met YUI 2 . Het eerste wat ik dacht was: ben je niet een beetje laat? Een groot deel van YUI 3 was al in de GA en nog veel meer zou komen met elke release. Maar de Packt team wilde gaan, en ik overeengekomen om de uitdaging.

Op 16 juli, het nieuwe volume kwam uit, YUI 2.8: Het leren van de bibliotheek , niet als een tweede editie, maar als een nieuwe titel. Uiteindelijk was het niet zo'n slechte beslissing. Hoewel het boek ging door het bewerkingsproces, YUI 3 kregen het vermogen om YUI 2 componenten te laden van het use() statement . Hierdoor wordt de bruikbaarheid van het uitgebreide YUI 2 catalogus tijdens het gebruik van de druk op ontwikkelaars om YUI 3 versies van alle YUI 2 componenten te produceren.

Het doel met deze nieuwe volume was om alle niet-beta YUI 2 componenten te dekken. Deze brede visie dwong me om een ​​diepere blik op onderdelen ik nauwelijks had gebruikt in hun meest elementaire vormen en die van anderen zou ik helemaal niet gebruikt te nemen. Echter, in tegenstelling tot de eerste editie, een project dat begon niet lang nadat de bibliotheek was openbaar gemaakt, had ik een paar jaar van cumulatieve ervaring met YUI - mijn eigen ervaring gekoppeld aan die van de vele gebruikers die hun ervaringen delen en advies op het forum en de blog. Ik was ook gespaard van de vele blunders door een uitstekend team van recensenten, van wie er twee worden Caridy Patiño en Iliyan Peichev, ook bekend YUI medewerkers.

Om het boek te houden tot een hanteerbare lengte, ik geëlimineerd dat bepaalde afbeeldingen, lange voorbeelden en referentie materiaal dat kan worden gevonden op de website van YUI . Terwijl de eerste editie ten hoogste twee componenten had per hoofdstuk, de nieuwe heeft tot vier en heeft een aantal nieuwe hoofdstukken. Toch hadden sommige componenten niet de cut.

De evolutie van YUI 2

Ik heb veel geleerd over de YUI Bibliotheek tijdens het schrijven van dit boek, en de veranderingen die ik aan de tekst Dan waren leerzaam over de evolutie van de bibliotheek sinds de release in 2006.

De programmering stijl voor voorbeeld code is veranderd in deze jaren. In plaats van het creëren van een naamruimte (of met behulp van YAHOO.example , die altijd beschikbaar is als een tijdelijke aanduiding), hebben we nu de neiging om alles te passen binnen een anonieme functie gemaakt wanneer de DOM beschikbaar is. (Deze stijl is dichter bij wat we zien in YUI 3.) We gebruiken nu namespaces als we absoluut nodig om wereldwijd toegankelijk variabelen (inclusief objecten), zoals wanneer we een aangepaste bibliotheek-component maken. Sandboxing bespaart ons wat te typen, want we kunnen functioneel opgezette aliassen te definiëren voor de objecten die we vaker gebruiken van YUI (Dom, Event, Lang komen vaak voor snelkoppelingen) of variabelen van de onze. Deze aanpak laat ook YUI Compressor doen een veel betere baan.

Na een panoramisch uitzicht op het geheel van de bibliotheek kon ik merken hoe het zich ontwikkeld in de tijd. De architectuur van de componenten veranderd en het is duidelijk hoe alles is geconvergeerd tot wat nu YUI 3.

Vroege componenten, zoals TreeView, had weinig afhankelijkheden. Als bepaalde patronen begon te worden voor de hand liggende, een aantal fundamentele component infrastructuur begon te ontwikkelen. De Container familie had een Config object dat toegestaan ​​voor getter en setter methoden, en hebben dus alle componenten die erven van. Het gebruikt ook de Custom Event-object, dat is een van de twee manieren om te werken met aangepaste gebeurtenissen die we beschikbaar hebben in YUI 2.

Met de release van tabview kwam de YUI 2 Element Utility , die verbeterde getters en setters voorzien (via AttributeProvider) en een beter aangepaste gebeurtenissen (via EventProvider). Zeventien andere YUI 2 componenten erven van Element. Als we kijken naar de evolutie van de bibliotheek, het is makkelijk om te zien hoe de ideeën achter Element, als een DOM-element wrapper, kwam naar YUI 3's Node op de hoogte. Element's rol als basis voor andere componenten was uitgebroken in de basis YUI 3's en de Widget, hoewel de nieuwe onderdelen zijn veel krachtiger en volledig is, ieder op zijn eigen gebied. Bijvoorbeeld, Node is all en one manieren terug te keren Node gevallen, terwijl Element's getXxxx methoden terug te keren gewoon DOM-element referenties, niet volledig abstraheren van de DOM.

De twee modellen Configuratie en CustomEvents enerzijds en AttributeProvider en EventProvider anderzijds niet geheel compatibel. In Menu en Split knoppen beide modellen naast elkaar bestaan, zoals Button erft van Element en het biedt onderdak aan een reguliere menu dat erft van Container.

Ongetwijfeld, YUI 3 profiteerde van al deze ervaring, maar YUI 2 ook geprofiteerd van YUI3. Cool stuff kwam van YUI 3 tot en met YUI 2, zoals te verrijken event-delegate en element-delegate en andere nieuwe evenementen die we kunnen luisteren naar ( focusin en focusout , mouseenter en mouseleave ). Dit werd ook mogelijk door de manier waarop we een last , die veranderd tijdens YUI 2 de levensduur van - vooral met de introductie van de YUI 2 lader - en werd geformaliseerd als inhoudelijke ondersteuning voor client-side belasting in YUI 3.

Loading getroffen hoe de componenten werd ontworpen en de manier waarop de laatste component bestanden worden gebouwd. In YUI 2, om het aantal uitstaande server vraagt ​​een minimum te beperken, de onderdelen moest zo veel van wat ze nodig hadden elkaar gepakt te hebben. Dus, sommige onderdelen los gerelateerde objecten kreeg in hen alleen maar om ze bij de hand wanneer en indien nodig, anderen kregen een aantal objecten met een hele reeks functies verpakt in een bestand, omdat het laden van de afzonderlijke delen was te kostbaar. Toen kwam aggregaten zoals yahoo-dom-events.js of reset-fonts-grids.css omdat ze bijna altijd samen gebruikt worden of utilities.js die alle vaak gebruikte onderdelen verzamelt in de YAHOO.util branche. Maar de echte verandering kwam met combo-behandelde verzoeken, die ons toeliet om het even welk aantal scripts en CSS-bestanden elke trek in slechts een HTTP-verzoek. Dat maakt het minder noodzakelijk om de verpakking van de objecten te optimaliseren in de bibliotheek in deelbestanden en die in de aggregaten op basis van een hypothetische 'gemiddelde gebruiker'.

In YUI 3 hebben we niet meer nodig om de 'container familie' te laden in een keer. Wij kunnen de belasting van de afzonderlijke widget- xxxx -bestanden op de top van de basis- widget op basis van de functies die we nodig hebben. Die benadering is de standaard in YUI 3, maar het kwam als een van de stappen in de evolutie van YUI 2. Vandaar dat meer recente YUI 2 componenten, zoals event-delegate en element-delegate zijn apart verpakt van uit hun basis componenten en is dus evenement mouseenter en mouseleave . We kunnen zie verder splitst in de bibliotheek van componenten in toekomstige releases, zodat u meer in het bijzonder de functie die u wilt en laat overbodige code van de pagina te kiezen.

Dit is een verhaal van vooruitgang, een proces dat per se ging hoewel sommige mislukte pogingen. Waarom niet TreeView erven van Element of waarom is niet Container, en dus op Menu, stapte over naar Element of in ieder geval, om AttributeProvider en EventProvider? Technisch gezien is het antwoord 'backward compatibility', maar in meer algemene zin is het 'respect'. Er zijn duizenden websites (en tienduizenden ontwikkelaars) met behulp van de gepubliceerde openbare interface van de YUI 2 componenten. Het maken van deze veranderingen zou veel toepassingen zou breken of snijden ze af van de upgrade pad, zouden ze willen profiteren van een code fix of een nieuwe functie. Omdat het zo respectvol van de geïnstalleerde codebasis is een bibliotheek functie op zich. Als respect voor ons, die te maken die code, is een kenmerk van de mensen in het YUI team, en ik ben erg dankbaar het is zo.

Delen en uit te breiden: Bookmark met del.icio.us | Digg it! | reddit!

Mobile Browser Cache Limits, Revisited

12 juli 2010 om 8:45 am door Ryan Grove | In Ontwikkeling , Uitvoering | 9 Commentaren

In Mobile Browser Cache Limits: Android, iOS en webOS , deelde ik de resultaten van mijn pogingen om cache van de browser grenzen op Android, iOS en webOS apparaten te bepalen. Aan het eind van het artikel, schreef ik:

Met deze resultaten als uitgangspunt, maar controleren ze zelf voordat u belangrijke beslissingen gebaseerd op veronderstellingen over mobiele cache beperkingen. De mobiele browser wereld verandert in een bliksem tempo, zodat dit onderzoek zal een zeer korte houdbaarheid.

Het blijkt, dat was een goed advies: de dag na het artikel werd gepost, Steve Souders commentaar dat hij proeven met een andere methodiek die was vertegenwoordiger van een real-world web workflow lopen en hadden gekregen verschillende resultaten.

Nieuwe methodologie

Mijn oorspronkelijke methodiek betrokken navigeren direct naar een willekeurig gegenereerde pagina van een bepaalde grootte, geserveerd met een text/html content type. De resultaten met behulp van deze methodiek waren betrouwbaar reproduceerbaar (behalve op webOS), maar als Steve heeft opgemerkt, gebruikers niet rechtstreeks naar CSS en JavaScript-bestanden. Mijn veronderstelling dat de grenzen voor directe navigatie naar een HTML-bron waren dezelfde als de grenswaarden voor externe CSS en JavaScript onjuist was, dus zelfs al de resultaten van mijn testen waren geldig, zij niet breed toepasbaar.

In de loop van vele IM-sessies, een aantal e-mails, en een paar telefoontjes, Steve en ik werkte een nieuwe testmethodologie. Ik geïmplementeerd een versie van het op de top van mijn cache toetsingskader , dan Steve geïmplementeerd een versie die in staat van het publiceren van resultaten aan Browserscope .

In de nieuwe testen, laden we een HTML-pagina die verwijst naar een willekeurig gegenereerde CSS-of JavaScript-component van een bepaalde grootte. Dan varen we naar een tweede HTML-pagina die dezelfde component en controleert of het geladen was uit de cache geladen. Om te bepalen of een component is geladen uit de cache, slaan we een tijdstempel in een cookie op elk verzoek; als de tijdstempel wordt bijgewerkt voor de tweede keer laden we de component, we weten het verzoek raakte de server, wat betekent dat het onderdeel was niet geladen uit de cache.

Nieuwe resultaten

We vonden dat alle mobiele browsers die we hebben getest aanmerkelijk hoger cache limieten voor externe bronnen geladen door een pagina dan ze deden voor een HTML-pagina zelf had. Dit is uitstekend nieuws voor de mobiele web-ontwikkelaars.

Onderstaande tabel illustreert onze bevindingen:

Tabel: Mobiele browser externe bron cache kenmerken
Browser / OS / apparaat Single Component Limit Overleeft Power Cycle
Android 2.2 (Nexus One) 2MB Ja
Mobile Safari, iOS 3.1.3 (1e gen iPhone) 4MB + Geen
Mobile Safari, iOS 3.2 (iPad) 4MB + Geen
Mobile Safari, iOS 4.0 (iPhone 3G) 4MB + Geen
Mobile Safari, iOS 4.0 (iPhone 4) 4MB + Geen
webOS 1.4.1 (Palm Pre Plus) ~ 0.99MB (1.023 KB) Ja

Merk op dat 4MB was de grootste maat die we hebben getest, en alle iOS-apparaten in de cache 4MB componenten. De eigenlijke cache limiet voor deze apparaten kan groter zijn dan 4MB. Ook webOS op de Palm Pre Plus consistente resultaten gaf in deze test, terwijl het had een aantal problemen in de vorige test.

Het is mogelijk dat de veel lagere limieten mijn vorige test bleek voor HTML-onderdelen op iOS kan duiden op het gebruik van een RAM-cache voor die componenten, terwijl de veel hogere limieten voor CSS / JS componenten in deze test kan wijzen op het gebruik van een disk cache, maar dit is slechts gissen. Android tenminste lijkt een diskcache gebruikt in beide gevallen werden de cache overleeft kracht cycli.

Nieuwe aanbevelingen

Op basis van deze nieuwe resultaten, in combinatie met de resultaten van mijn vorige tests, bied ik de volgende bijgewerkte set van aanbevelingen:

  • Gebruik verre toekomst cache verlopen koppen. Dit zal de browser voorkomen dat een voorwaardelijke GET-aanvraag te versturen.
  • Probeer HTML-pagina's te beperken tot 25.6KB of minder als je wilt dat ze zijn in de cache, sinds de vorige tests toonden aan dat deze grens-opgelegd door iOS 3.2 op de iPad, was de laagste HTML-bron limiet van de geteste apparaten.
  • Houd CSS en JS componenten dan 1 MB. Natuurlijk 1MB is enorm en uw componenten moet veel kleiner zijn dan dit, maar het splitsen van een component niet de moeite in afzonderlijke verzoeken in het belang van cacheerbaarheid, tenzij de grootte benadert 1MB.
  • Overweeg het gebruik van de HTML5 applicatie cache als het belangrijk dat uw componenten in de cache blijven voor een lange tijd, of over de macht cycli.
  • Doe je eigen onderzoek. Ik benadrukte het belang van deze in mijn vorige artikel en ik zal nog eens benadrukken dat het hier. Met deze resultaten als uitgangspunt, maar controleren ze zelf voordat je belangrijke beslissingen nemen op basis van hen.

Delen en uit te breiden: Bookmark met del.icio.us | Digg it! | reddit!

Volgende pagina »
Hosted by Yahoo!

Copyright © 2006-2012 Yahoo! Inc Alle rechten voorbehouden. Privacy Policy - Gebruiksvoorwaarden

Powered by WordPress op Yahoo! Web Hosting .