Tuesday, May 29, 2012

RadChart for Windows 8 WinRT – A Prelude

This is part one of the RadChart for WinRT blog series. For more information please refer to the other parts of the series:
Part two - The Compilation
Part three - Taking its First Breath

Now that the early bits of WinRT – the new Windows 8 development platform are out, we (atTelerik) are eager to explore this whole new world that awaits us - the opportunities it offers and the challenges to be faced. I would like to elaborate a bit more on how we feel about this new world. We are strong believers that a programming language is only a tool used for solving software problems and challenges. The software industry is evolving and so are all the related tools – including programing languages and IDEs. The more the tools become the better the chances will be for good applications to appear. Some software problems are best solved in a certain language while others in another programming language. Therefore, being a polyglot programmer enables you to find the most accurate and efficient solution when you are given certain requirements. If a brand new language was introduced with WnRT we would not be scared – on the contrary, we would embrace it knowing that it will enhance our knowledge and proficiency. This is not the case anyway. C# and XAML are in the core of WinRT and this fact implies that the overall learning curve should not be expensive – I know, that’s just in theory. But what about existing technologies/tools? Are they really "dead" (whatever this means) or this is just a hysteria spread by scared people who see their current expertise not applicable? Vassil Terzievhas an excellent post explaining our vision for Silverlight and .NET and the all-new Metro/WinRT world.
Back to our challenge - entering the new WinRT environment. There is no argument that the best way to explore a new platform is to create a fresh and new project and start digging into the platform’s internals. But how about existing projects? What is the actual cost of porting them to WinRT? Is everything from Silverlight and WPF covered? If not, what are the options? The best candidate for such a test, out of a broad range of XAML products, is RadChart for Windows Phone. As I outlined in this blog post, the chart is divided into two almost completely independent layers and the connection between them is only a very thin interface. The logical layer is completely UI-agnostic and all it needs to compile is C# and mscorlib.dll. The UI layer is also very thin and uses only basic Silverlight visuals such as Canvas, Line, Polyline, Path, Border, Rectangle, etc.
We chose a project and took a shot. As expected, the entire process finished in about two days and almost without a hitch, except for some annoying issues that were most probably due to the early version of the framework. I will write series of blog posts that provide step-by-step details about the migration and what we were mostly fighting with.
Yes, there are some differences compared to Silverlight and WPF but hey, it is C# and XAML and all our expertise in these can be easily spread over WinRT. And no doubt we will be there for you, Metro-ready, providing the same high quality tools and components when you start building your immersive applications.

No comments: