Et godt bygherren har ikke noget problem at flytte fra et programmeringssprog til et andet. Valget til at fokusere på et bestemt sprog, rammer og udvikling af miljøet, er dikteret mere af tilgængeligheden af tid og type af arbejde, der finder sted. Men en vigtig faktor, der kan påvirke valget af "ramme" vil, er den sympati eller den sygdom, som kan modne over tid.
Specifikt, jeg ønskede at analysere nogle - ikke alle - Javascript rammer til rådighed i dag, fordi "anbefales" til at se primært på jQuery.
Skaberne af mootools (en af de mest populære Javascript ramme) har stillet et værktøj til at køre en test af hastighed og gyldigheden af fem kendte rammer Javascript: Slickspeed. Denne test, hvis resultater ikke rabat på alle, er vigtig som rammer Javascript client-side, der drives af vores browser. Det er netop derfor, at nogle finde Safari hurtigere end Internet Explorer eller Google Chrome hurtigere end Firefox. Men dette ofte afhænger af, hvilken type side du kigger på. I virkeligheden kan meget vel ske, at et bestemt websted er virkelig mere "fast" når den vises i Safari, men det betyder ikke, at "alle steder vil blive hurtigere med Safari! Naturligvis dette indlæg er gyldigt for alle andre browsere.
Benchmark
I prøver jeg udført med Slickspeed Jeg har sammenlignet den browser findes på min maskine (Utilmate Windows Vista 64bit - Intel Core 2 Quad 2,4 GHz med 8 GB RAM).
Desværre er den test er ikke i stand til at køre det med Internet Explorer 7, fordi blokerer bilen, selv gå ud af skalaen med resultaterne! Endnu en gang tillykke Microsoft.
Jeg crercato identisk at opretholde status af PC under prøven, som åbner browseren separat og ikke sender nogen anden kører processen.
Bemærk: Hvis du føler at du gør en eller flere af disse prøver, kan du kommentere dette indlæg i tilfælde af "nysgerrig" og forskellige resultater.

Google Chrome er virkelig hurtig, med en værdi på 68 (gennemsnit) i testen med jQuery. Den langsommere, men det syntes flok, til trods kommer fra den samme "mor" Mozilla. Dette dårlige resultat for flokken er virkelig nysgerrig givet sit opskæring sociale netværk, fordi det er det sociale netværk Web 2.0 udnytte mange af Javascript ramme til rådighed, således at der ydes en navigation og interaktion virkelig nyskabende.
En overraskelse beat Firefox og Opera har også en masse «, selv at få en 74 i Dojo! Firefox og Safari, når alt kommer til alt, er identiske med Safari hurtigere i test med Mootools og jQuery.
Hvilke rammer for at vælge?
Hvis ikke badiamo at teste den hurtighed i udførelsen og vi er ligeglade med størrelsen i Kbytes af de samme rammer, at svaret kunne være "hvad der er til dig" eller, hvis du foretrækker det, "hvad du kender bedst eller er mere harmonisk med din stil med programmering. "
I sidste ende er disse rammer vil se noget 'alle (se brugen af $ for eksempel), på trods af nogle vigtige og væsentlige forskelle, der kan springe i øjnene af en ekspert eller virkelig skubbet i et bestemt bibliotek. I princippet er faktisk alt, hvad der kan opnås med jQuery, for eksempel, kan du gøre godt med mootools eller prototype! Hvis jQuery har en meget kompakt syntaks, som alle metoder altid returnere jQuery objekt grundlag, hvilket skaber endeløse filer af oggetto.metodo().metodo().metodo()... fortalte, at det er på alle omkostninger en styrke, især for dem, der bliver nødt til at debug!
Biblioteker som prototype.js synd måske i mangel af grafiske effekter, selv enkle, tvinger bygherren til at gennemføre spin-off som scriptaculous.js, tungt og fjernt fra biblioteket første valg.
Et eksempel
Bare denne sidste grund, for eksempel, tog mig til at erstatte den koblede prototype, / scriptaculous med jQuery at gøre paneler interaktive / animerede her i indholdsoversigten af undolog.com. Selv ved hjælp af Google API til at importere biblioteker, er spild belastning hele biblioteket scriptaculous for en slideDown og slideUp. For oplysninger og prøve, her går Javascript-kode kombineret med den prototype, / scriptaculous:
JavaScript: / / Prototype / scriptaculous
) . each ( $ $ ( 'H2.dropdown «). Hver (
element ) { funktion (element) (
= "pointer" ; element. stil. markøren = "pointer";
'click' , element. observere ( 'klik',
event ) { funktion (begivenhed) (
this . next ( ) . style . display == "" ) new Effect. BlindUp ( this . next ( ) , { duration:. 5 } ) ; if (this. næste (). stil. display == "") nye effekter. BlindUp (this. næste (), (duration. 5));
Effect. BlindDown ( this . next ( ) , { duration:. 3 } ) ; Virkning andet nyt. BlindDown (this. næste (), (varighed:. 3));
event ) ; Begivenhed. Stop (begivenhed);
)
)
)
);
og det er nu med jQuery:
JavaScript: / / JQuery
) . each ( $ ( 'H2.dropdown «). Hver (
i ) { funktion (s) (
) . css ( 'cursor' , 'pointer' ) . click ( $ (Denne). CSS ( 'cursor', 'pointer'). Klik på (
funktion () (
$ ( this ) . next ( ) . is ( ':hidden' ) ) $ ( this ) . next ( ) . slideDown ( ) ; else $ ( this ) . next ( ) . slideUp ( ) ; if ($ (denne). next (). er ( ': skjult')) $ (denne). next (). slideDown (); ellers $ (denne). next (). slideUp ();
)
);
)
);
Når alt kommer til alt, på alle, tror jeg ikke, der er meget forskel! Men som jeg sagde før ... Spørgsmålet er "godt" af personlige smag.
Related Post