molily: jQuery & Co. CDN vs. local file

Beitrag lesen

Hallo,

Du hast nicht "zufällig" den "verknappten Teil" irgendwo *in der Schublade* rumfliegen ...?

Naja, der einfachste HTML5-Shiv ist bekanntlich:

<!--[if lt IE 9]>
<script>
'abbr article aside audio canvas details figcaption figure footer header main mark meter nav output progress section summary time video'.replace(/\w+/g,function(n){document.createElement(n)})
</script>
<![endif]-->

Ich weiß jetzt nicht, ob da sämtliche aktuellen und von dir verwendeten HTML5-Elemente drin sind. Dieses Script ermöglicht alten IEs, die besagten Tags korrekt in Elemente zu parsen – nicht mehr und nicht weniger.

Der aktuelle HTML5-Shiv geht da viel weiter und fixt auch gleich document.createElement, innerHTML usw. Es gibt einen zusätzlichen Print-Shiv. Siehe auch History of the HTML5 shiv.

Ob du das brauchst, musst du wissen. Ich brauche es i.d.R. nicht. jQuery bringt den innerShiv bereits mit sich, d.h. $('<section>') und $(…).html('<section>…</section>') funktioniert auch in älteren IEs.

Modernizr benutze ich ebenfalls i.d.R. nicht. Es ist lediglich eine Bibliothek für Feature-Abfragen. Wenn ich eine brauche, so entnehme ich Modernizr diese eine Zeile Code.

Worum es mir u.a. geht, ist ja die Frage, ob die Vorteile der Nutzung eines CDN die Nachteile überwiegen?

Das kommt ganz darauf an, was die Umstände und Ziele sind. CDNs sind sinnvoll, wenn die Besucher über der Welt verstreut sind, Lastspitzen abgefangen werden müssen oder Traffic verbilligt werden soll. Wenn der Server z.B. in DE steht, so wird die Seite für US-Besucher höchstwahrscheinlich signifikant schneller geladen, wenn jQuery von einem CDN eingebunden wird. jQuery kostenlos von einem freien CDN einzubinden reduziert auch deinen Traffic.

Das ist doch mehr oder weniger von jeweiligen konkreten Fall abhängig, oder nicht?

Ja, definitiv. Du musst auf deiner konkreten Seite Performance-Daten sammeln. webpagetest.org und z.B. die Ladezeitmessung von Google Analytics können hier Aufschlüsse geben.

Wirkt sich ein Request nicht bspw. bei einer "lahmen" GPRS Verbindung anders aus, als bei einer "schnellen" DSL Verbindung?

Ja, entscheidend ist hier die Latenz, nicht die bloße Geschwindigkeit. Bei Mobilzugängen sind i.d.R. wenige große HTTP-Requests von wenigen Domains besser als viele kleine von mehreren Domains. Manche gehen sogar soweit, CSS und JavaScript ins HTML einzubetten. Bei Breitbandzugängen mit geringer Latenz kann man eher parallele Requests von verschiedenen Domains öffnen, um Assets parallel zu laden.

Und wenn Techniken wie SPDY dann mal mehr oder weniger "flächendeckend" zum Einsatz kommen, wie wirkt sich das dann ggf. auf die "Wahl der Variante" aus?

Das weiß ich nicht, denn aktuell spielt das m.W. noch keine Rolle.

Mathias