CDN para frameworks javascript

¿No sería genial que en lugar de tener que descargar una y otra vez los archivos de jQuery, mootools, prototype… estos estuvieran distribuidos de forma de ahorrarte en transferencia y aumentando la velocidad con que tus usuarios ven tu sitio?

Tras esta larga y rebuscada pregunta lo que se esconde es un servicio de Google del que no sabía hasta hace poco, pero que demuestra que a veces una pequeña idea puede traer grandes beneficios: se trata de AJAX Libraries API, una red de distribución de contenidos (Content Distribution Network, o CDN, para los amigos) y “arquitectura de carga” para algunas de los frameworks javascript más populares.

En pocas palabras, AJAX Libraries API permite que tus usuarios descarguen la librería javascript de tu elección desde la red de servidores de Google, para lo cual tienes dos opciones: hacerlo a través de google.load() (un método desarrollado por Google para facilitar la carga de acuerdo a dos parámetros, que especifican el framework y la versión que quieres) o bien directamente desde <script />. Por ejemplo:

Con google.load():

<script src="http://www.google.com/jsapi"></script>
<script>
	// Load jQuery
	google.load("jquery", "1");
</script>


...o directamente:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>

Las librerías disponibles son:

  • jQuery
  • prototype
  • scriptaculous
  • mootools
  • dojo

Para la lista completa de versiones y direcciones, puedes consultar la documentación. En general, hay versiones sin compresión y “minificadas”.

Para redondear, algunos de los beneficios que podrás tener son: para tí, disminuir tu gasto de transferencia de archivos (o ancho de banda, si prefieres llamarlo así), para tus visitantes: no tendrán que bajar el framework cada vez que visiten un sitio, bajarán el contenido desde un servidor geográficamente cercano.

Recuerda que para CSS también hay algo similar, ya que puedes utilizar la Yahoo User Interface! (el framework CSS de Yahoo!) directamente desde sus servidores.