Firefox 4 En utviklerperspektiv

Rett på hælene i Internet Explorer 9 kommer den meget berømte, nyeste iterasjonen av Firefox 4. Utgivelsen har vært en suksess så langt, med over 7 millioner nedlastinger i de første 24 timene og over 40 millioner til dato. I dag vil jeg gjerne gi deg en rask oversikt over endringene fra utviklerens perspektiv - jeg hopper over det nye brukergrensesnittet og de andre whizbangfunksjonene.


Mer HTML5

En ny rendering motor, Gecko 2.0, er under Firefox 4 hette.

En ny rendering motor, Gecko 2.0, er under Firefox 4 hette. For det meste, som forventet, gir den stor støtte til standardrettet webutvikling. Også i spill er en helt ny HTML5-parser som definerer hvordan HTML-koden din blir omgjort til en nettside.

Som et resultat får du bedre ytelse, fra innerhtml kaller spesielt, evnen til å inkludere SVG inline i koden din og generell stabilitet og respons som følge av at parseringsalgoritmen kjøres på sin egen prosessor.

Flere forbedringer fra et HTML5-utviklingsperspektiv er den mer modne støtten som tilbys for HTML5-skjemaer og Audio API. Støtte for de nyere markupelementene og attributter vil betydelig redusere JavaScript-koden du må skrive for å gi tilsvarende funksjonalitet. Tenk enklere validering - skjemaelementene dine vil kreve null JavaScript for å limke valideringsreglene til det.


WebGL

WebGL er en standard som er basert på OpenGL ES som lar deg utføre 3D-gjengivelse på nettet.

WebGL-støtte har vært ganske fremtredende i tidligere versjoner av Firefox - bare den nattlige testen bygger kjennetegnet støtte for teknologien. Firefox 4 leveres med full støtte til plattformen.

Hvis du lurer på, er WebGL en standard som er basert på OpenGL ES som lar deg utføre 3D-gjengivelse og annen assosiert manipulering gjennom lerretelementet. API-en selv er mer lavt nivå enn du ville eksekvere, og gir deg enorm fleksibilitet og kraft. Hvis noe kan gjøres på et skrivebord, kan du også gjøre det på nettet!


Maskinvareakselerasjon

Vi reduserer arbeidsbelastningen på våre generelle formål CPUer ved å la mye mer parallelle, og i stand til, GPUer håndterer bestemte beregninger.

Maskinvareakselerasjon er avlastningsoppgaver som vanligvis håndteres av programvaren til maskinvaren når det er mulig. I vårt scenario reduserer vi arbeidsbelastningen på våre generelle formål CPUer ved å la mye mer parallelle, og i stand til, GPUer håndterer spesifikke beregninger, og dermed ekte ut bedre ytelse. Både oppgaven med å gjengjøre sidens innhold og komposisjon er det akselerert, selv om forskjellige APIer brukes på forskjellige plattformer.

I Windows brukes Direct2D for innholdsakselerasjon, inkludert kanvasmanipulasjoner og tegning, mens Direct3D brukes til komposittakselerasjon. På OS X håndterer Quart den tidligere mens den mye mer åpne OpenGL tar seg av sistnevnte.


JergerMonkey JavaScript Engine

JergerMonkey er en avansert, optimalisert versjon av TraceMonkey, JS-motoren i Firefox 3.6

I tråd med utviklerens forventninger, kan Firefox skryte av en newish JavaScript-motor under hetten - JergerMonkey. En forbedret versjon av TraceMonkey (JS-motoren i Firefox 3.6), gir J? GerMonkey mange flere optimaliseringer til miksen, noe som resulterer i oppsiktsvekkende forbedringer i ytelse.

Nyere og smartere optimaliseringer som en JIT-tilnærming per metode utfører mer aggressive opprinnelige samlinger, noe som resulterer i ytelse som er mye bedre enn konkurransen. For å gi deg et eksempel, scorer Firefox omtrent seks ganger bedre i V8-referansen og tre ganger så fort i SunSpider-benchmarks sammenlignet med Firefox 3.6.

Samlet sett har JergerMonkey brakt Firefox tilbake i rase for topp JavaScript-ytelse.


CSS Overganger og mer

Takket være heskinradiophonic

Firefox støtter til slutt CSS3 overganger og transformasjoner.

En av de bemerkelsesverdige tilleggene til en frontend-utvikler er omfattende støtte for CSS3-overganger. Mens de andre nettleserne har skryt CSS3-overganger i lang tid nå, har Firefox vært svært mangelfull. Den nyeste versjonen gir en nesten fullstendig implementering av spesifikasjonen.

CSS-overganger gir en ren CSS-metode for å animere endringer mellom CSS-egenskaper. Transformasjoner som skalering, rotering og skjevhet er på trykk for deg også! Du kan til og med bruke disse transformasjonene innenfor overganger for å skape nifty effekter. Husker de jQuery-fragmentene du pleide å visne elementer og farger, inn og ut? For vår hensikt, de er ganske mye overflødige - noen få linjer med CSS er alt det tar nå.

De nyere funksjonene inkluderer:

  • Støtte for berøringsegenskaper.
  • I tillegg til -moz-alle å gruppere sammen strukturelt relevante selektorer.
  • Beregnede verdier gjennom -moz-calc slik at du kan definere verdier gjennom matematiske uttrykk.

Selv om det har tatt Mozilla-teamet en stund, gjør den eneste tiltaket av ekstra støtte det lettere for webutvikleren å omfavne disse nye teknologiene.


WebM

Firefox leveres nå med WebM-støtte, og øker både sin evne til å konsumere videoinnhold på nettet og WebMs markedsandel.

Selv om utvikleren nattlig bygger har vært i stand til å spille formatet for et par måneder nå, er dette den første offisielle utgivelsen for å gi støtte til formatet.

Hvis dette emnet gjør hodet litt fuzzy, foreslår jeg at du leser min tidligere artikkel om video codecs på nettet der du finner mer informasjon om dette emnet. Det er nok å si at ved å legge til WebM-støtte, har Mozilla styrket sin standardbaserte ideologi og forenklet livet for brukerne i ett enkelt trekk.


IndexedDB

IndexedDB lagrer data som JSON formaterte dokumenter.

IndexedDB er Mozilla å ta en radikal, mer brukbar rute sammenlignet med andre nettlesere ved å velge å gå for NoSQL-tilnærmingen. Husk at de fleste andre nettlesere bruker Web SQL API, der utviklere skriver SQL for å skaffe informasjon lagret i SQLite-databaser.

IndexedDB lagrer data som JSON formaterte dokumenter og lar deg få tilgang til informasjonen den holder gjennom en enklere, ikke-SQL API. Sluttresultatet? Mye enklere syntaks og en mer standardisert API som isolerer deg fra nyansene av implementeringen, samtidig som du gir deg enorm fleksibilitet.


Webkonsoll

Mens den ikke erstatter Firebug, er den nye webkonsollen utrolig nyttig.

Den nye webkonsollen erstatter feilkonsollen fra tidligere versjoner. Selv om det ikke vil erstatte noen av de avanserte verktøyene som Firebug, kommer det svært praktisk når du peker gjennom innersiden av et nettsted eller en applikasjon.

Konsollen kan åpnes med Ctrl + Shift + K [Cmd for de fruktige hipsters] og leveres med:

  • en kommandolinje JavaScript tolk som lar deg utføre JavaScript i sanntid.
  • en logging mekanisme som logger CSS og JavaScript feil. Nettverksforespørsler logges også, slik at du får tilgang til informasjon om forespørselen. Headers, svar, alt er spill.
  • en objektinspektør for å undersøke ethvert JavaScript-objekt som ligger i nettleserens minne.

Bedre typografi

Støtte for OpenType lar deg nå spille med mer avanserte innstillinger som kerning.

Du kan nå bruke OpenType, et åpent skriftformat, som gir deg tilgang til en mye mer variert palett - du er ikke lenger begrenset til websikker fonter.

Selv om det kan høres kjedelig, støtter støtte for OpenType i en rekke funksjoner. Du kan endre kerning, ligaturer og få automatiske fraksjoner blant mange andre.

Enda et poeng å gjøre oppmerksom på er at hvis nettstedet ditt ikke er engelsk, gjør den nye Firefox-motoren innholdet ditt uten noen hitches eller visuelle hangups. Og med den eksponentielle økningen i ikke-engelske nettsider, hjelper disse funksjonene både utviklerne og sluttbrukerne.


Det er en Wrap

Den nyeste iterasjonen av Firefox er ganske spranget over forrige generasjon med en rekke tillegg og forbedringer rettet mot utviklere og designere. JavaScript-junkier har også blitt tatt vare på av den forbedrede ytelsen med den nye motoren, bedre HTML5 og CSS3-støtte, samt et mye mer robust sett med verktøy.

Så hva synes du om Firefox 4? Elsker det? Hater det? Gi oss beskjed i kommentarene og takk så mye for å lese!