RadChart for Windows 8 WinRT – A Prelude

by Georgi Atanasov | Comments 11
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 (at Telerik) 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 Terziev has 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.

Stay tuned for more Windows 8 posts to come.

Georgi Atanasov

11 Comments

Patrice
Do you plan to make a preview version of theses controls available for developers ?
@paulovila
How the RadRbbon  and the RadDock controls work with touch?
Georgi Atanasov
Hi guys,
@Patrice Yes, we will make the demo available for download so that you can experiment for yourself.
@paulovila Ribbon and Dock controls represent the standard Desktop UI and do not fit with the Metro paradigm. Nevertheless we will investigate the new opportunities and what may be actually used in Metro applications.
Alba Paz

> ... "all it needs to compile is C# and mscorlib.dll"

Does this mean that you'll want to write/convert components in C# (managed code) for WinRT ?
I thought that the best way to create fast (native) components for WinRT is C++/XAML, not C#/XAML, which is more suited for applications that use them.

 

Georgi Atanasov
@Alba Paz Thanks for your interesting comment. No doubt C++ would be the fastest possible solution - of course if written well. C# however has many built-in goodies missing in the native C++ language. It actually depends on the scenario and the component - C#, if used efficiently, can be performing closely to C++.
Russell Carter
So can your controls be run from C++/XAML, or do they require C#/XAML ?
Georgi Atanasov
@Russel:
In order to use the chart assembly in a C++/Java Script project, the assembly's Output Type should be WinMD (Windows Runtime Metadata). Actually we have not compiled the chart library as a valid WinMD component yet but this should not be a problem. Otherwise you can create native components in your preferred language: http://msdn.microsoft.com/en-us/library/windows/apps/br230301%28v=vs.85%29.aspx
Thomas Schmidt
@Georgi:
I've got a question which is very important for us:
Do you think the "Telerik ORM" offline container could run in an WinRT environment one day ?
As far as I know it didn't work with the core CLR of Silverlight. (One of the reasons why we didn't start any Silverlight-projects)
Dimitar Kapitanov
@Thomas Schmidt:
We consider the offline container part of our 'classic API', therefore if the container should work under WinRT or any other platform, say like Mono, it should undergo significant redesign. At the moment we don't have such efforts in our plans.
Jordan
Do you have plans to make the RadChart available for Metro Style apps?
kartik
are you planning to provide PDF / XPS doc viewer control for metro? document rendering within app sorely missing...

Comments

  1.    
      
      
       
  2. (optional, emails won't be shown on public pages)
  3. (optional)
Read more articles by Georgi Atanasov - or - read latest articles in Developer Tools