Why are there so many Runtimes?

There has been a little bit of confusion about what Runtime is and why there are so many different Runtimes. So I am going to try and clear a few things up.

Runtime is not actually one product but rather the Runtime name spans over many different developer products. The Runtimes as a whole can be seen as a set of developer toolkits that allow you to develop applications that run locally on a device. The power of the Runtime comes from being able to take full advantage of the platforms they run on. So for example on the mobile platforms you can access the GPS or accelerometer and the Desktop Runtimes can use the full computing power of the device the Runtime application is running on. This allows you to develop fast powerful applications and in the case of the Desktop Runtimes they can run off-line. Off-line functionality is expected in the Mobile Runtimes this year. There are eight Runtimes in total; these can be broken down further into two buckets, mobile Runtimes and desktop Runtimes.

 

Each Runtime is a unique SDK and is developed in the relevant language depending on the platform (table below). The functionality between the Desktop and Mobile Runtimes is actually quite different but within the two buckets themselves the functionality is very similar. The licencing for the two Runtime buckets is also different.

Table 1: Runtime Development languages

Windows

Linux

Windows Mobile

iOS

Android

Windows Phone

.NET WPF & Java

Java SE

.NET CF

Objective C

Java

Silverlight

 

I hope it is now a bit clearer what the Runtimes are and where they sit. All that is left to be said now is happy developing and on that note I will post a follow up blog explaining how to get started developing with the .Net WPF Desktop Runtime.