In this chapter, we will cover:
We are clearly speaking of a new, modern, and touch-friendly kind of application with the Windows Store apps style.
Windows Store app style application development, for the latest Windows 8 platform, is a very important part of this release of the .NET Framework 4.5.
We will explore Windows Runtime managed development in our development recipes. We also have the power of a very simple, well designed, and lightweight base class library API at our disposal (C# and VB) for developing Windows Store apps. This is called Windows Runtime, more commonly known as WinRT.
The following image clarifies the overall structure and components that we will have to use for developing Windows Store apps:
Portable libraries are there to help us port our existing code into multi-targeting scenarios such as Windows Store apps, Windows Phone, Silverlight, desktop, or X-box code with a strong focus on Model-View-ViewModel (MVVM). MVVM is an architectural design pattern designed for modern user interface (UI) development, very commonly used in XAML development. This will allow us to share the Model and ViewModel code with only the need for rewriting the UI and the application model, apart from the device integration.
Windows Store apps are designed for tablet devices and touch interaction, mainly for consumers. However, the good old desktop is still there and we can develop classic Windows applications, now called desktop apps, through the desktop mode.
Both of these execution and development modes coexist and are here for different scenarios. This chapter focuses on Windows Store apps development.
The Windows 8 app programming model basically:
WinRT provides projections that expose the API to the different development environments. With this we can use WinRT from the .NET Framework 4.5.
The UI can be created with XAML (or HTML and CSS if we prefer), which is rendered with DirectX 11.1 (also known as Direct2D), so that we have a high performing UI. We can also implement the interface using DirectX.
So the good news is that the development is very straightforward and easy if we have some experience in Silverlight, Windows Presentation Foundation (WPF), or Windows Phone. If not, it will only be easy.
Note that the Base Class Library (BCL) used by WinRT is not the full desktop version but a reduced set, very similar to the Silverlight types.
There are also some very important Windows Store app principles to keep in mind. We will explore the following principles through the recipes in this book:
It's your turn; go ahead and explore our recipes! They will help you explore progressively how to implement the different flavors of this new era of Windows Store apps. Let's get started!