Book Details

ISBN 139781849695022

Paperback304 pages

Book Description

Windows 8 provides an unprecedented opportunity for developers to create applications for a new and exciting platform, for an entirely new market. Leveraging modern C++ and the new Windows Runtime, this book guides you through the many facets of WinRT whilst using modern C++ features for ultimate power and performance.

"Mastering Windows 8 C++ App Development" shows you how to create Windows Store apps that use many of the new features and functionality available for Windows 8. You'll discover how you can harness the power of the new Windows Runtime with C++ combined with XAML for the creation of fantastic user experiences.

Starting with coverage of C++/CX (a set of extensions that make working with WinRT easier) and user interface design with XAML, this book shows you how to use major Windows 8 features, including Live Tiles and Contracts, while leveraging common patterns such as data binding and the Model View ViewModel (MVVM). You'll discover how WinRT works, its various capabilities, and how it can best be leveraged using C++11 and Visual Studio 2012.

Table of Contents

Chapter 1: Introduction to Windows 8 Apps

Introducing Windows 8

Desktop apps versus Store apps

The Windows Runtime

Language projections

Creating your first Store application

Summary

Chapter 2: COM and C++ for Windows 8 Store Apps

Welcome to C++11

COM and WinRT

WinRT metadata

The Windows Runtime Library

C++/CX

The Application Binary Interface

Asynchronous operations

Using existing libraries

The Windows Runtime class library

Summary

Chapter 3: Building UI with XAML

XAML

Resources

Styles

Summary

Chapter 4: Layout, Elements, and Controls

Introducing layout

Layout panels

Working with elements and controls

Summary

Chapter 5: Data Binding

Understanding data binding

Element-to-element binding

Object-to-element binding

Binding failures

Change notifications

Binding to collections

Customizing a data view

Commands

Introduction to MVVM

Summary

Chapter 6: Components, Templates, and Custom Elements

Windows Runtime Components

Custom control templates

Custom elements

Custom panels

Custom drawn elements

Summary

Chapter 7: Applications, Tiles, Tasks, and Notifications

Application lifecycle

Live tiles

Using toast notifications

Push notifications

Background tasks

Background transfers

Summary

Chapter 8: Contracts and Extensions

Capabilities

Contracts

Extensions

Other contracts and extensions

Summary

Chapter 9: Packaging and the Windows Store

The application manifest

The application view state

Packaging and validating

Summary

What You Will Learn

Leverage your existing C++ skills with this new and exciting platform

Discover how to effectively use C++/CX to call Windows Runtime APIs

Integrate XAML for fast and fluid user interfaces

Create custom controls for special UI scenarios

Learn how to integrate your application with Windows 8 by implementing contracts

Build data-driven apps with XAML, data binding, and MVVM

Authors

Pavel Yosifovich

Pavel Yosifovich is the CTO of CodeValue (http://www.codevalue.net), a software development, consulting, and training company, based in Israel. He writes, develops, consults, and trains developers on various software development topics, from Windows internals to .NET enterprise systems, and almost everything in between. He's a Microsoft MVP and a frequent speaker at national events.
In the past, he co-founded the startup company Quiksee that was acquired by Google in September 2010.

Alerts & Offers

Series & Level

We understand your time is important. Uniquely amongst the major publishers, we seek to develop and publish the broadest range of learning and information products on each technology. Every Packt product delivers a specific learning pathway, broadly defined by the Series type. This structured approach enables you to select the pathway which best suits your knowledge level, learning style and task objectives.

Learning

As a new user, these step-by-step tutorial guides will give you all the practical skills necessary to become competent and efficient.

Beginner's Guide

Friendly, informal tutorials that provide a practical introduction using examples, activities, and challenges.

Essentials

Fast paced, concentrated introductions showing the quickest way to put the tool to work in the real world.

Cookbook

A collection of practical self-contained recipes that all users of the technology will find useful for building more powerful and reliable systems.

Blueprints

Guides you through the most common types of project you'll encounter, giving you end-to-end guidance on how to build your specific solution quickly and reliably.

Mastering

Take your skills to the next level with advanced tutorials that will give you confidence to master the tool's most powerful features.

Starting

Accessible to readers adopting the topic, these titles get you into the tool or technology so that you can become an effective user.

Progressing

Building on core skills you already have, these titles share solutions and expertise so you become a highly productive power user.