Greetings. We’re happy to share that Windows Phone 8 Development Internals (1044 pages, ISBN: 9780735676237), by Andrew Whitechapel and Sean McKenna, is now available!
You can find sample content, including the book’s full TOC, Introduction, and Chapter 1 here. Chapter 1, “Vision and architecture,” covers the basic architecture of the platform, while most of the chapters delve deeply into the internal system behavior. This is the type of knowledge that helps to round out your understanding of the platform and inform your design decisions, even though, in some cases, the internal details have no immediate impact on the exposed API.
Windows Phone 8 Development Internals covers the breadth of application development for the Windows Phone 8 platform. You can build applications for Windows Phone 8 by using either managed code (in C# or Microsoft Visual Basic) or native code (in C++). This book covers both C# managed development and C++ native development. The primary development and design tools are Microsoft Visual Studio and Microsoft Expression Blend; this book focuses on Visual Studio. Each chapter covers a handful of related features. For each feature, the book provides one or more sample applications and walks you through the significant code. This approach can both help you understand the techniques used and also the design and implementation choices that you must make in each case. Potential pitfalls are called out, as are scenarios in which you can typically make performance or UX improvements. An underlying theme is that apps should conform not only to the user interface design guidelines, but also to the notion of a balanced, healthy phone ecosystem.
Who should read this book This book is intended to help existing developers understand the core concepts, the significant programmable feature areas, and the major techniques in Windows Phone development. It is specifically aimed at existing C# and C++ developers who want to get up to speed rapidly with the Windows Phone platform. Developers who have experience with other mobile platforms will find this book invaluable in learning the ins and outs of Microsoft’s operating system and will find that the chapters that focus on native development will foster an easy transition. For the chapters that focus on managed development, native developers will likely need additional resources to pick up the C# and XAML languages.
Assumptions The book assumes that you have a reasonable level of experience with developing in C# and/or in C++. The book does not discuss basic language constructs, nor does it cover the basics of how to use Visual Studio, the project system, or the debugger, although more advanced techniques, and phone-specific features are, of course, explained in detail. Previous knowledge of XAML is useful for the man- aged chapters, and some exposure to COM is useful for the native chapters, but neither is essential. Although many component-level diagrams are presented as high-level abstractions, there are also many sections that describe the behavior of the feature in question through the use of UML sequence diagrams. It helps to have an understanding of sequence diagrams, but again, that’s not essential, because they are fairly self-explanatory.
Who should not read this book This book is not intended for use by application designers—that is, if designers are defined as developers who use Expression Blend—although designers might find it useful to understand some of the issues facing developers in the Windows Phone application space. Although Windows Phone 8 does maintain support for XNA, you cannot create new XNA projects in Visual Studio 2012; therefore, this book does not cover XNA development at all.
Organization of this book This book is divided into four parts:
As of this writing, there are still many more Windows Phone 7 phones in existence than Windows Phone 8 phones. The Windows Phone Store contains well over 140,000 apps, almost all of which target Windows Phone 7. For this reason, the first eight chapters focus on the basic infrastructure, programming model, and the core features that are common to both versions. Where there are material differences, those are called out along with references to the later chapter where the version 8 behavior is explained in detail. Next, Section II covers both the features that are significantly different between version 7 and version 8. This section also discusses the process of porting apps from version 7 to version 8, as well as how to develop new apps that target both versions. Section III covers the major new features in version 8 that did not exist at all in version 7. These include speech functionality, wallet, in-app purchase, and enterprise applications. Finally, whereas the first three sections concentrate on managed development, Section IV focuses purely on native development. This section includes coverage of native-managed interoperability, convergence between Windows Phone 8 and Windows 8, threading, and integration with the Windows Phone platform via native code.
Contents at a Glance Foreword xxiii
PART I CORE FEATURES
Chapter 1 Vision and architecture 3
Chapter 2 App model and navigation 33
Chapter 3 UI visuals and touch 77
Chapter 4 Data binding and MVVM 139
Chapter 5 Phone and media services 187
Chapter 6 Sensors 233
Chapter 7 Web connectivity 273
Chapter 8 Web services and the cloud 315
Chapter 9 Background agents 349
Chapter 10 Local storage and databases 395
PART II WINDOWS PHONE 7 TO WINDOWS PHONE 8
Chapter 11 App publication 439
Chapter 12 Profiling and diagnostics 467
Chapter 13 Porting to Windows Phone 8 and multitargeting 509
Chapter 14 Tiles and notifications 539
Chapter 15 Contacts and calendar 587
Chapter 16 Camera and photos 621
Chapter 17 Networking and proximity 667
Chapter 18 Location and maps 707
PART III NEW WINDOWS PHONE 8 FEATURES
Chapter 19 Speech 753
Chapter 20 the Wallet 785
Chapter 21 Monetizing your app 811
Chapter 22 enterprise apps 845
PART IV NATIVE DEVELOPMENT AND WINDOWS PHONE 8 CONVERGENCE
Chapter 23 Native development 867
Chapter 24 Windows 8 convergence 901
Chapter 25 Games and Direct3D 933