Rough Cuts are manuscripts that are developed but not yet published, available through Safari. Rough Cuts provide you access to the very latest information on a given topic and offer you the opportunity to interact with the author to influence the final publication.
This is the Rough Cut version of the printed book.
“Jeremy builds real apps for real customers. That’s why I can heartily recommend this book. Go out and write some great apps…and keep this book handy.”
—From the Foreword by Jeff Prosise
Build Exceptionally Immersive and Responsive Touch-Based Windows Store Apps for Windows 8 with C# and XAML
This is the first practical guide to building breakthrough applications for Windows 8 from project templates through publication to the new Windows Store. Microsoft “MVP of the Year” Jeremy Likness helps you combine your existing developer skills with new Visual Studio 2012 tools and best practices to create apps that are intuitive and innovative. His guidance and insight will help you dive into Windows 8 development—and gain a powerful competitive advantage for years to come.
Likness illuminates the entire apps lifecycle, from planning and Model-View-View Model (MVVM) based design through coding, testing, packaging, and deployment. He covers both business and consumer apps, showing how Windows 8/WinRT development builds upon and contrasts with older WPF and Silverlight approaches.
Using carefully crafted downloadable code examples and sample projects, Likness shows how to make the most of new platform features, including integrated social networking, search, contracts, charms, and tiles. Throughout, he addresses crucial development challenges that have only been discussed on MSDN, blog posts, and Twitter feeds—and never with this depth and clarity before.
Coverage includes
• Mastering real-world Windows 8 development for all devices and form factors • Understanding the new WinRT framework and the unique characteristics of Windows 8 apps
• Designing apps that are faster, more responsive, do more with less, and maximize battery life
• Creating exceptionally fluid interfaces with VS 2012 templates, built-in animations, and XAML
• Building apps that respond consistently to multiple forms of input, including complex touch manipulations
• Using contracts and charms to expose services or enable users to do so
• Providing information to users through Live Tiles even when your app isn’t running
• Connecting your app seamlessly to multiple data sources, including social networks and cloud storage
• Syndicating rich, network-based content
• Using Model-View-ViewModel (MVVM)
• Securing Windows 8 apps through authentication and authorization
• Efficiently testing, debugging, packaging, and deploying apps
Foreword xv
Preface xix
Chapter 1 The New Windows Runtime 1
Looking Back: Win32 and .NET 2
Looking Forward: Rise of the NUI 8
Introducing the Windows Store Application 12
Windows 8 Design 14
Fast and Fluid 15
Snap and Scale 15
Use of Right Contracts 16
Great Tiles 17
Connected and Alive 19
Embrace Windows 8 Design Principles 19
Windows 8 Tools of the Trade 19
Blend for Visual Studio 20
HTML5 and JavaScript 21
C++ and XAML 23
VB/C# and XAML 24
Behind the Scenes of WinRT 25
WPF, Silverlight, and the Blue Stack 26
Summary 28
Chapter 2 Getting Started 29
Setting Up Your Environment 30
Windows 8 30
Visual Studio 2012 35
Blend 36
Hello, Windows 8 37
Creating Your First Windows 8 Application 37
Templates 37
The ImageHelper Application 42
Under the Covers 53
Summary 60
Chapter 3 Extensible Application Markup Language (XAML) 61
Declaring the UI 62
The Visual Tree 64
Dependency Properties 67
Attached Properties 70
Data-Binding 73
Value Converters 78
Storyboards 80
Styles and Resources 85
Layout 88
Canvas 88
Grid 89
StackPanel 91
VirtualizingPanel and VirtualizingStackPanel 93
WrapGrid 94
VariableSizedWrapGrid 96
ContentControl 97
ItemsControl 99
ScrollViewer 99
ViewBox 100
GridView 102
ListView 105
FlipView 106
ListBox 106
Common Controls 107
Summary 109
Chapter 4 Windows 8 Applications 111
Layouts and Views 111
The Simulator 112
The Visual State Manager 115
Semantic Zoom 119
Handling User Input 122
Pointer Events 124
Manipulation Events 126
Mouse Support 128
Keyboard Support 129
&
