2010-08-04 15 views
7

Leí mientras busqué en Google que SVG estaba "muerto". Aunque no estoy de acuerdo, ¿podría alguien decirme más/futuro formato basado en vectores para representar gráficos 2D/3D? ¿Qué hay de VML? ¿Qué formato debo usar para representar gráficos 2D y 3D en la Web?SVG alternatives?

Estoy jugando con gráficos en la web y me gustaría saber si estoy trabajando con una tecnología obsoleta.

+0

Dado que VML está tan centrado en Windows, lo evitaría, pero SVG tiene soporte nativo en Firefox, y no aparece muerto, pero puede hacer su dibujo vectorial en la etiqueta , por lo que en HTML5 parece haber menos demanda para permitir la carga de SVG en esta etiqueta, lo que podría parecer que los hace competir. –

+0

@James Black No se puede utilizar el lienzo HTML5, porque no se basa en vectores, es un mapa de bits. (aparte de otras características que necesito) Y además de VML, ¿otro/mejor? – ESP

+9

Pediría una '[citación necesitada]' en el reclamo de muerte. Aunque es cierto que SVG no es tan ampliamente compatible como debería ser, el soporte sigue aumentando lentamente (incluso IE9 lo tendrá, eso es bastante;)). – deceze

Respuesta

6

Microsoft está apoyando SVG en IE9 y dio una explicación detallada de por qué lo estaban haciendo en el blog de IE:

http://blogs.msdn.com/b/ie/archive/2010/03/18/svg-in-ie9-roadmap.aspx

ventaja principal de SVG es que se convierte en parte de la DOM, por lo que puede usar CSS para darle estilo y javascript para modificarlo. Canvas, por el contrario, debe volver a dibujar todos los cuadros por completo. Esto hace que el lienzo sea adecuado para analizadores de espectro, procesamiento de video, juegos de ritmo rápido y otras animaciones no graduales. SVG es más adecuado para animaciones graduales.

En lo que respecta a 3D, el futuro es WebGL, una delgada cuña sobre OpenGL ES, pero está lejos. Microsoft no se ha comprometido a respaldarlo, y eso significa que no estará en IE9. Quizás IE10, tal vez no.

Si utiliza SVG, recomiendo usar svgweb para abstraer las diferencias del navegador (vuelve a aparecer en un applet de flash en navegadores obsoletos).

4

Todos los principales navegadores, incluidos ie9, firefox, safari y Chrome están comenzando a apoyar svg como parte del próximo estándar html5. Yo no llamaría a eso "muerto"

1

2D: SVG 3D: X3DOM o WebGL directamente

4

Este post es un poco tarde ... pero creo que vale la pena re-direccionamiento, ya que su pregunta ha aparecido de nuevo con toda la charla html5.

SVG es un formato de dibujo vectorial que también admite la animación, el tiempo y la compatibilidad con Javascript DOM. En otras palabras, es un formato independiente para gráficos vectoriales estáticos y dinámicos; se podría decir que es una alternativa centrada en la web (o centrada en la pantalla) a EPS/PDF. La etiqueta html5 canvas no es un formato sino una forma de dibujar (imágenes estáticas) en la pantalla con Javascript, eso es todo; no hay competencia entre él y SVG, ya que tienen propósitos completamente diferentes.

La mayoría de los otros "formatos" de vectores implican complementos (Flash) o soporte de hardware (webGL). Irónicamente, el formato VML que mencionas ahora está en desuso en favor de SVG.

Para responder a su pregunta: SVG es ahora el formato de vector estándar para la web. Con suerte, en el futuro cercano, veremos que también se usa para video/animación.

5

Puede probar la biblioteca JavaScript Raphaël.

Es fácil de implementar y proporciona las mismas funciones de interfaz de usuario que SVG (¡y más!).

+0

Ese enlace está roto. Hay un [www.raphaeljs.com] (http://www.raphaeljs.com/) que redirecciona a [GitHub.io] (http://dmitrybaranovskiy.github.io/raphael/) El último commit fue feb 2017 , que es reciente, parece que todavía está activamente desarrollado. Además, se ve muy interesante! – harperville

5

Si se trata de SVG lo que buscas es que el mejor camino sea svg.js. Soporta SVG mejor y es una fracción del tamaño (4.5k gzipped) de Raphaël (31k gzipped). También tiene una sintaxis muy intuitiva.