6 de febrero de 2015

Librerías para Blogger alojadas en la CDN de Google

Una CDN (Content Delivery Network) o 'Red de Distribución de Contenidos' es un conjunto de servidores que redistribuyen localmente el contenido y guardan en caché los archivos permitiendo acelerar la carga de las páginas, mejorando los tiempos de respuesta y reduciendo el consumo de ancho de banda.

Vamos a poner como ejemplo un blog.

Todo el contenido del blog lo sirve el hosting dónde está alojado, haciendo uso de su propio ancho de banda.
Con el paso del tiempo tu blog irá creciendo en suscriptores y número de visitas.
Supongamos que publicas el post de tu vida que atrae centenares de miles de visitas y se te cae el servicio de hosting por exceso de peticiones o el acceso a tu página web es demasiado lento porque el ancho de banda se colapsa. Las consecuencias son evidentes: los usuarios acabarán no leyendo el artículo por lo que perderás clientes potenciales.

Entre otras cosas, una CDN evita esta situación:
si tu contenido (vídeos, imágenes, música, documentos, etc.) se replica en diferentes redes y países dirigiendo las solicitudes de los usuarios hasta la copia más cercana a su red, la probabilidad de que tu hosting se sature disminuye consiguiendo unos tiempos de respuesta más rápidos.


Imagen de Wikipedia: sistema tradicional de distribución de datos y CDN.

El espacio de almacenamiento que nos ofrece el servicio Blogger de Google es gratuito y está destinado exclusivamente para nuestro blog (entradas, texto, plantillas, comentarios, widgets y poco más), lo cual plantea ciertos inconvenientes.

Cuando publico un post, procuro dotarle de dinamismo añadiendo gráficos y vídeos explicativos. Blogger lo resuelve permitiendo subir imágenes en local, desde una url externa, desde su servicio Picasa, etc.
En el caso de los vídeos podemos publicarlos en Youtube y referenciarlos desde nuestra plantilla html.

Pero ¿qué ocurre si quiero utilizar ficheros de presentación css (hojas de estilo en cascada) o js (javascript) para implementar funcionalidades en mi web?

  • los alojamos en servicios externos: Google Drive, Dropbox ...
  • accedemos directamente a los que nos ofrecen las CDN de terceros
Blogger hace uso de sus CDN como podemos ver en las siguiente captura de pantalla de Firebug (haz clic en la imagen para ampliarla).



Google tiene su propia CDN con las librerías javascript de código libre y css más utilizadas por los desarrolladores web.
Ofrece un listado con el nombre de las librerías alojadas así como las versiones soportadas.

Para cargar una de sus librerías alojadas, copia y pega el fragmento HTML en tu página web. Por ejemplo, para cargar jQuery, insertamos el código <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>.

Recomienda cargar las librerías de la CDN a través del protocolo HTTPS, incluso si tu propio sitio web sólo utiliza HTTP.
Los archivos de la CDN se procesan con cabeceras CORS y Timing-Allow y permiten ser almacenados en caché durante un año.

Librerías disponibles:
(fecha de última actualización 2 de febrero de 2015)

Toda la información en https://developers.google.com/speed/libraries/devguide




Otras páginas que ofrecen librerías javascript y css en su Red de Distribución de Contenido son:


También podemos encontrar numerosas CDN para Wordpress.
Algunos plugins son gratuítos:


El siguiente vídeo (en inglés) nos habla de MaxCDN, una CDN de pago para integrar con WordPress, Drupal, Joomla, Magento, PrestaShop, Social Engine, X-Cart, IP.Board, vBulletin, OpenCart, PyroCMS, MODX, Custom.