SVG oder CANVAS?
WiMu
- meinung
Moin,
möchte mich ein wenig mit clientseitig erzeugten Grafiken beschäftigen, insbesondere mit (per javascript) animierten 3D-Objekten. Nun weiß ich aber nicht so recht, was lohnenswerter ist, SVG oder CANVAS (vorweg: flasch, VML und silverlight kommt mir aus diversen Gründen nicht in die Tüte)? Mal ein paar meiner Gedanken:
SVG:
* ist im Gegensatz zu <canvas> ein webstandard
* basiert auf XML
* lässt sich mit stylesheets manipulieren
* lässt sich mit SMIL animieren (derzeit funktioniert das aber nur im Opera, soweit ich weiß)
* verfügt über diverse Filter für Pixelgrafiken
* Nachteil: kennt keinen z-index, weshalb ständig der DOM-Baum manipuliert werden müsste
* Nachteil: korrigiert mich, wenn ich mich irre, aber bei meinen bisherigen Versuchen, war SVG extrem langsam (z.B. irgendwas per js rotieren lassen, und so)
SVG-Beispiele: erstmal ganz was simples, 3D-Funktionsplotter (auch mit VML für'n IE), 'n paar animierte wireframes und das ist der Hammer (funktioniert aber nur im FF)
CANVAS:
* ist proprietär (Adobe), wird aber ab HTML5 standartisiert
* die per js erzeugten Grafiken lassen sich abspeichern
* kennt im Gegensatz zu SVG auch z-index (gerade für 3D-Objekte ziemlich hilfreich)
* ist (wie gesagt korrigiert mich, wenn ich mich irre) nach meiner Erfahrung weit schneller als SVG
CANVAS-Beispiele: auch erstmal eher einfach und diverse Beispiele (darunter ein paar echt haarsträubende Sachen)
So, was sollte ich mir eher in den Kopp packen? Für beides fehlt mir die Zeit;
Grüße,
WiMu
1000 Dank, genau so 'nen Artikel hab' ich gebraucht.
Nu erstmal lesen ...
Grüße,
WiMu