I’m looking to build a Windows 8 Metro Style application (C# with XAML) that requires the ability to create various types of charts (line, bar, pie, bubble etc.) that are responsive and dynamic with the ability to evolve with user interaction (e.g. touching a particular data point gives you info about that point, rotating pie charts with your finger, resizing charts on the fly with the use of two fingers).
I’ve done some research around the types of built-in/third party solutions available and came across the Microsoft Chart Controls packaged with .NET 4. Unfortunately, this API is not natively available with WinRT. Thus, I will most likely be building my own custom solution.
So, my question is this, which path would you recommend and why for creating a custom charting solution for Metro Apps? Should I go with a Silverlight solution? A Canvas solution leveraging the built-in Windows.UI.XAML API? DirectX 11 possibly? Something else? Please provide pros and cons for the solution you recommend.
What platforms are you targeting ? I don’t know if ARM platforms will have GPUs good enough to handle a DX11 solution, for example.
The dx11 solution is powerful, but seems a bit overkill for charts. Silverlight is a subset of WPF, so you’d better use the XAML API directly : with a godd canvas, you can do what you want. And I wouldn’t expect Microsoft to support Silverlight too long.
Concretely : XAML or JS. Both are powerful. And will be touch-ready.