viernes, 8 de octubre de 2010

SVG

Scalable Vector Graphics (SVG) es una especificación para describir gráficos vectoriales bidimensionales, tanto estáticos como animados (estos últimos con ayuda de SMIL), en formato XML.
Si analizamos esta información lo que quiere decir es que podemos definir gráficos apoyándonos en vectores, lo que nos puede proporcionar una ventaja muy grande frente a otros formatos que se basan en mapas de bytes, y más aun manteniendose dentro del estándar de XML.
SVG se convirtió en una recomendación del W3C en septiembre de 2001, por lo que ya ha sido incluido de forma nativa en el navegador web del W3C Amaya. La versión 1.5 de Mozilla Firefox soporta gráficos hechos con SVG y desde su versión 8, también el navegador Opera ha implementado SVG 1.1 Tiny en su núcleo. Otros navegadores web, como Internet Explorer, necesitan un conector o plug-in, para lo que se puede utilizar el Visualizador SVG de Adobe.
El SVG permite tres tipos de objetos gráficos:
  • Formas gráficas de vectores (p.e. caminos consistentes en rectas y curvas, y áreas limitadas por ellos)
  • Imágenes de mapa de bits /digitales.
  • Texto
Los objetos gráficos pueden ser agrupados, transformados y compuestos en objetos previamente renderizados, y pueden recibir un estilo común. El texto puede estar en cualquier espacio de nombres XML admitido por la aplicación, lo que mejora la posibilidad de búsqueda y la accesibilidad de los gráficos SVG. El juego de características incluye las transformaciones anidadas, los clipping paths, las máscaras alfa, los filtros de efectos, las plantillas de objetos y la extensibilidad.
El dibujado de los SVG puede ser dinámico e interactivo. El Document Object Model (DOM) para SVG, que incluye el DOM XML completo, permite animaciones de gráficos vectoriales sencillas y eficientes mediante ECMAScript o SMIL. Un juego amplio de manejadores de eventos, como "onMouseOver" y "onClick", pueden ser asignados a cualquier objeto SVG. Debido a su compatibilidad y relación con otras normas Web, características como el scripting pueden ser aplicadas a elementos SVG y a otros elementos XML desde distintos espacios de nombre XML simultáneamente dentro de la misma página web.
Si el espacio de almacenamiento es un problema, las imágenes SVG pueden salvarse comprimidas con gzip, en cuyo caso pasan a ser imágenes SVGZ. Debido a la verbosidad del XML, este tiende a comprimirse muy bien, y estos ficheros pueden ser mucho más pequeños. Aun así, a menudo el fichero vectorizado original (SVG) es más pequeño que la versión de mapa de bits.

La continua aparición de dispositivos que acceden a la web, tales como  PDA's o moviles dan cada vez más importancia a los gráficos vectoriales dada la flaxibilidad que estos aportan. Sin embargo SVG no fue el primer formato gráfico vectorial ya que existian otros tales como SWF, pero con el inconveniente de que no estaban desarrollados especificamente en el entorno web. En la misma línea de actuación que SVG tenemos Shockwave Flash, que aun siendo un lenguaje cerrado gana la batalla a SVG hasta ahora, pero en el futuro las posibilidades de SVG ganan enteros al poder insertarse este en páginas XML a diferencia de Flash que es una solución externa a este y privada.

SVG al ser un vocabulario de XML ha de serguir las caracteristicas que este define, por tanto debe tener una raíz que albergue a todo documento, que sera en este caso <svg>. A su vez, cada apertura ha de tener su correspondiente cierre. El código entre <svg> </svg> puede insertarse dentro de un documento XML que a su vez podria ser otro SVG.

NAVEGADORES
  • Firefox: implementa SVG en forma nativa desde su versión 1.5. A través del tiempo fue mejorando el cumplimiento del estándar, pero con alto consumo de procesador. En la nueva versión 3.5 de Firefox se puede comprobar que el render SVG se ha modificado y mejorado.
  • Opera: al igual que Firefox también implementa SVG en forma nativa, pero con poco consumo de procesador. La versión 9.5 Beta, incorpora la posibilidad de llamar en forma externa a una imagen en formato svg. Usando <image> o <use>.
  • MSIE: No implementa directamente SVG, por lo que se debe conseguir una extensión de la firma Adobe. Este módulo externo no permite mezclar SVG con HTML (XHTML). Microsoft no ve con futuro a este estándar por lo que apostó al VML. El 5 de enero de 2010, Microsoft publicó que pasarían a formar parte del grupo de trabajo SVG en la W3C.2
  • Safari: Su versión 3.1 (para computadores con sistema operativo Windows o Mac OS X) implementa SVG tanto para imágenes como para texto avanzado.
  • Chrome: Desde su primera versión implementa SVG de forma nativa (ya que utiliza WebKit).

No hay comentarios:

Publicar un comentario