SkiaSharp - Extremely Easy 2D Graphics for Xamarin
At the last meeting of our Chicago .NET Mobile Developers meetup group, we had a series of 12-minute lightning talks on a variety of topics of interest to Xamarin developers. I gave a talk about an interesting graphics library called SkiaSharp.
The Skia Graphics Library is supported by Google and is used as the rendering engine for both Chrome and Firefox. In other words, every web page you see in either of those browsers uses Skia. So, it should go without saying that Skia is a high performance graphics library. Given the relatively weak computing resources available to mobile developers, performance matters a lot to us.
SkiaSharp is the library that provides C# bindings for Skia. It's supported by Xamarin and is available as a NuGet package or at their GitHub site. There are a lot of great examples and a sample application to guide you around as you start.
During my talk, I showed off this neat SkiaSharp demo application that I wrote to demonstrate the sorts of things you can do with Skia. The app demonstrates some wacky custom progress indicators. All of this is done in a Xamarin.Forms application. I even created a couple of custom views that can be imported into your and used with XAML and bindings.
Since the performance of the library is so good, you can bind to an operation's progress and not have to worry about bogging down your application. For example, in the example above, all of the animations are being performed using the Xamarin.Forms animation engine. I was honestly shocked at how easy it was to get up and running with this library and how well it performed. I usually feel like I am fighting against graphics libraries for one reason or another, but this was really a pleasure to work with and I hope you take a look into it too.
The source code is available for free at https://github.com/TheEightBot/SkiaSharpExamples