Article on the SharpVectorGraphics Project

I found this article by Peter Bromberg on SharpVectorGraphics open source project.  I’m glad someone other than the project team has noticed our little project.  When I proposed the project on the Svg-Developers Discussion List last year I was surprised over the number of interested people.  Since Microsoft isn’t much of a player in the SVG world, I wasn’t sure how many .Net developers would be interested.  Thanks to the hard work of folks like Niklas Gustavsson (who has written a ton of code), Rich Bullota, Kevin Lindsey, and a bunch of the usual SVG evangelists, SharpVectors has really taken off.  Although I haven’t written as much code as I hoped, I’ve kept busy spreading the word, setting up the website, and helping control the architectural direction.

 

One of the earliest visions of the project was to create a set of reusable libraries for SVG development.  To that end we have kept to that vision, and but a very extensible framework.  At the core is the SVG DOM, which inherits from the System.Xml namespace (although we debated if we should create a W3C compliant Xml namespace).  On top of that library is a SVG to GDI+ rendering engine.  This rendering engine could be used by almost anyone that wants to create graphics on the fly without having to learn the proprietary GDI+ API, and use SVG instead.  What I’ve down at one of my clients is use this engine for a Label generating Web Service, and store the Label templates as SVG.  Seeing that SVG is just XML, it makes easy to persist and transfer graphics across machines.

 

One of the future plans for SharpVectors is to combine it with a .Net XHTML browser (that either we build or someone else builds), so that we could use multiple namespaces in the same document and render in the browser.  The idea is to create an extensible open source browser that lets you snap in different namespace engines (like XHTML, SVG, SMIL, and MathML) and let them reuse the same XML tree.  The W3C is busy trying to work out the architectural issues of render multiple namespace documents, so this is very cutting edge technology.     

 

Another vision is to use SharpVectors with something along the lines of the SVGUI project and would convert WinForms into multi-namespace XML documents that could be rendered in something along the lines of the multi-namespace browser, with the execution of the code using code behind classes.  Rumor has it (and this has not been confirmed) that MS is looking to do something like this in Longhorn.  That could also imply that Longhorn may have a vector graphics based UI.  But we will have to wait and see if this is really in the Longhorn plans.

 

Don XML

No Comments