Javascript

Google als Javascript-Framework-Hoster

...oder wie erwünschte Deep-Links die Performance steigern

Der von mir sehr geschätzte Dave Ward, hat mich vor Kurzem mit seinem Beitrag 3 reasons why you should let Google host jQuery for you auf einen (neuen?) Google-Service aufmerksam gemacht, den Benutzer der inzwischen recht zahlreichen Javascript-Frameworks unbedingt nutzen sollten. Die Rede ist von der Google AJAX Libraries API.

Mit diesem Service geht Google einen Schritt auf die wachsende AJAX-Entwicklergemeinschaft zu und erlaubt das notwendige Framework, in Form einer JS-Datei, statt vom eigenen Server von Googles Datacentern zu laden. Quasi erwünschtes Deep-Linking.

The AJAX Libraries API is a content distribution network and loading architecture for the most popular, open source JavaScript libraries.

Die wachsende Liste der Frameworks deckt aktuell mit jQuery, Prototype, script.aculo.us, Dojo, MooTools und YUI wohl einen großen Prozentsatz dessen ab, was im Web zur Zeit so eingesetzt wird.

Nun wird man denken, 'OK, die paar Kilobyte können genauso gut von meinem Server geladen werden', aber das wäre zu kurz gedacht, denn ein externes CDN (Content Delivery Network) zu verwenden, bietet eindeutige Performance-Vorteile. Zum ersten sorgt Googles Server-Infrastruktur dafür, dass die Datei einen möglichst kurzen Weg zum Browser zurücklegen muss und damit schneller ausgeliefert wird. Zum zweiten sind Browser beim Laden einer Seite in der Menge ihrer Verbindungen zu einem Server limitiert, d.h. während noch das Bild des Firmenlogos vom eigenen Server unterwegs ist, kann der Browser parallel die gewünschte Framework-Datei laden.

Den von Google preferierten Weg eines der Frameworks in die eigenen Seiten einzubinden mutet allerdings etwas fremdartig an:

<script src="http://www.google.com/jsapi"></script<
<script>
  google.load("jquery", "1.2.6");
  
  google.setOnLoadCallback(function() {
    
    // ... eigener Code
    
  });
</script>

Zuerst die Google-API laden, um dann über die Methode google.load zum Beispiel jQuery nachzuladen? Naja, das trifft wohl eher den Geschmack der Entwickler, die viel mit Google-Maps arbeiten und die jsapi ihr Zuhause nennen. Das Ganze hat zudem einen Nachteil: das gute alte $(document).ready() könnte zum Problem werden.

In der Liste der verfügbaren Frameworks findet man allerdings die Pfade zu den Originaldateien auf Googles Servern, d.h. dem klassischen Weg Javascript einzubinden steht nichts im Wege.

Fazit

Google hat, wie ich finde, eine sehr vernünftigen Weg gefunden seine Server noch ein wenig mehr auszulasten und die Ladezeiten auch meiner Webseite etwas zu beschleunigen. Man muss ja, wie Dave berechtigterweise anmerkt, immer daran denken dass die Benutzer ab und an ihren Browser-Cache leeren und dann die 'paar Kilobyte' wieder neu geladen werden müssen.

Man sollte allerdings unbedingt daran denken, sich für die lokale Entwicklung eine Debug-Weiche einzubauen, um dort das Laden des Frameworks aus dem Internet zu vermeiden.

kick it on dotnet-kicks.de AddThis 0 wikio-Stimme(n) Trackback-Url...

Schlagworte

Keine Kommentare bislang...

Dein Kommentar hierzu...


Kommentar-Feed für diesen Beitrag
Gravatare werden unterstützt .:. eMail-Adressen werden nicht veröffentlicht
 

RSS-Feed

Die URL des Standard-Newsfeed von zerbit.de lautet:

http://www.zerbit.de/rssfeed.aspx

Login


 

 

Statistik



kürzlich kommentiert

Beitrag 275

  • Datum: 22.12.2008
    Kategorie: Javascript
    Zugriffe: 2.461
    Kommentare: 0
    Trackbacks: 0

Letzte Beiträge

Kategorien

Buttons & More

Blog-Roll

Banner Piraten-Partei