The Windows 8 operating system includes a number of innovations, which will bring major changes for both users and developers. In Windows 8 will appear an entirely new user experience: the Metro-style interface. The new interface is optimized for tablets and touch environment, the applications run on a completely new application model (Metro-style application model). This paper aims to introduce the new features of Windows 8, the new programming opportunities of the operating system, and the development characteristics of Metro-style applications via an example application.
This paper describes the design principles of Windows 8 operating system, and the new features compared to other similar operating systems. It also presents the new programming model of Windows 8, the Metro-style application development capabilities, as well as the new platform: the Windows Runtime. The paper contains more detailed information about the C# and XAML based development, the new C# language features and the new XAML framework. The Metro-style application development features are discussed via a social e-book reader application. The e-book reader application combines the reading experience and social services. The Metro-style e-book reader application is a part of a larger system, which also contains a web interface and client applications for other platforms as well. This paper briefly describes the structure of the system and the Metro-style client, and the functional and non-functional requirements of the application. It also covers in detail some solution of the application, which is relevant in Widows 8 development. It describes the method of user authentication, and the structure and functioning of application pages via an example page. This paper describes the usage of Windows 8 Contracts (searching, sharing), and tasks according to the application programming model such as saving the state of the application and background process management. At the end of the paper the implementation details of the reader component are described, including performance issues.