Thursday, May 14, 2015

Windows 10 Architecture



Architecture of Windows 10

In this article I will try to put in a nutshell what are the fundamental differences in Windows 10 compared to prior releases of the same. I will give a small overview of the concept of how Backward Compatibility of the Apps are possible inn Windows 10 and the Converged Kernel Approach to Windows 10.

Windows Core

 This is worth pointing out that finally we have reached the point where Windows core has a common set of APIs which provide , for the first time a true binary compatibility with loads of different platforms.Microsoft  has been shipping whole bunch of OS (s) for a decade now and their were many commonalities between those viz Windows Phone, Windows CE and Windows RT mostly these were same but the underlying layer was different. The Windows Core now is that common refactored core which is common for all the Windows Releases be it for Mobile or Desktops.

This Windows Core is very small and reduced subset of all the windows. This is done to keep in mind that Windows can now be having one single codebase rather than a shared codebase  and also the usage on a whole range of different devices which range from IoT to Desktops .


 The Convergence Journey                                            
                                                         




The converged Kernel approach was all which made a significant difference in shaping Windows 10. The Xbox 360 and Windows 7.5 started having the new look and feel which later got modified in Xbox One(inclusion of a dashboard etc.)and with Windows phone 8 the look feel was fully embedded but there was a big difference underneath which led the users and developers to Windows 8.1 for Mobile and Desktops which created the Converged App Model and resulted in possibility of development of “Universal Apps”. But now with Windows 10, we not only have the Kernel common but also all the fundamental pieces of OS. Also, the Applications which were Universal Apps were having two separate binaries now with Windows Core have one single binary across all platforms.


Universal App Platform

The UAP is a collection of Contracts and Versions.This is the new platform on which the developers will be writing their Applications. The UAP is built on Windows Core which is a collection of Low Level APIs which are arranged in the form of Contracts.

Contracts
Contracts are a kind of assurance given by Microsoft to App Developers stating that they can now start building against the UAP and Microsoft will ensure that no matter what windows platform and device the user are on they will be able to run it and Microsoft will ensure that the App runs smoothly on the back compatibility as well.









This essentially means that no longer the developers will write the Application targeting  Windows rather they will write it against UAP and Microsoft will take guarantees for the Application to run of all Platforms.


How does the UAP help the developers?

So for all those developers who get tired testing their applications for the ever evolving build of Windows.The can now safely rely on UAP which ensure that no mater where ever they target and whichever version they target they are going to have the Application running. So, developers don’t have to worry much about which particular windows to test on.






**The values above are fictitious.

The very idea is to target a platform and set a Min version which is basically the version it was written on and a Max version of where it was tested on.

This is the very basic fundamental change that is happening in the Architecture. I will be documenting few more post on Azure and Windows 10.Also, one dedicated post on UAP and how to start writing Apps in Windows 10.

1 comment:

  1. Thank you very much for writing this blog.

    It helps to quickly understand the Windows 10 architecture.

    ReplyDelete