Getting Into UWP (Universal Windows platform) - Windows10 Apps


In this article, I will go through the technical terms and technologies used to develop for universal windows platform. After reading this you would get the overall idea of what universal apps are all about.


Microsoft has announced that Windows 10 would be the final windows version! What does it mean? Is Windows 10 perfect? Doesn't it need changes?
The answer is yes! It would evolve and change like other software products but it will only get updates, not the next version of windows. Why so? It is because of the fact that all windows platforms (mobile, desktop and Xbox etc) has converged to a single Universal Platform. This means all have the same OS (kernel), now no such thing as Windows Phone 8 or 8.1, its just Windows on phone.
So if you develop an app for Windows 10 it would run on all devices running Windows 10 like Mobiles, Xbox, Hololens, etc. I hope you got the idea of the "Universal" word in UWP.

2 .NET vs .NET Core

Windows applications are developed on top of the .NET framework. It consists of a runtime (CLR) and FCL (Foundation class library) I am keeping things simple here. Previously .NET was shipped as a single unit and it had different subsets to cater the need of different platform e.g compact subset of .NET was introduced for mobile devices which provide APIs specific to compact devices. In simple words .NET had different customized subsets for every platform which provides APIs according to the platform is developed for. It caused many problems as you can't use your same code base for different platforms.
To overcome this problem the idea of the .NET core was introduced. It uses a modular approach that enables us to use the same code base for different platforms. The .NET Core is a set of packages delivered through NuGet. It has a unified BCL (Base Class Library) which can be used in any platform. When its code is compiled only those APIs used by the app are merged with that app.
You can read more about .NET Core here.

3. XAML and C#

Till this point, you know what are universal apps technically. Now we will briefly see what languages could be used to develop Universal apps.
Applications have two major parts: Front end (Display) and Back end (Code to handle user interaction).
XAML(Extensible Markup Language) is used to create the front end of universal windows 10 apps. XAML is XML based language proprietary of Microsoft. As clear from the word "Markup" it has tags for different GUI elements e.g button just like (not really) HTML. Here we would call those controls.
To develop backend we can use C#. Every page has a backend C# (.cs) file and frontend in XAML. If you are an android developer a page is just like an 'activity' which has a backend java file. For example, if we have a button on the page (XAML) we can handle it clicks event in its backend .cs file.
If you know about WPF XAML/C# is the same here.


In this article, we learned about getting into UWP (Universal Windows platform) - Windows10 Apps.