Developing a Windows Store business app using C#, XAML, and Prism for the Windows Runtime
[This article is for Windows 8.x and Windows Phone 8.x developers writing Windows Runtime apps. If you’re developing for Windows 10, see the latest documentation]
This guide helps developers who want to create a Windows Store business app using C#, XAML, the Windows Runtime, and development patterns such as Model-View-ViewModel and event aggregation. The guide comes with source code for Prism for the Windows Runtime, source code for the AdventureWorks Shopper product catalog and shopping cart reference implementation, and documentation. The documentation provides guidance on how to implement MVVM with navigation and app lifecycle management, validation, manage application data, implement controls, accessible and localizable pages, touch, search, tiles, and tile notifications. It also provides guidance on testing your app and tuning its performance.
Download
Here's what you'll learn:
- How to implement pages, touch, navigation, settings, suspend/resume, search, tiles, and tile notifications.
- How to implement the Model-View-ViewModel (MVVM) pattern.
- How to validate user input for correctness.
- How to manage application data.
- How to test your app and tune its performance.
Note If you're just getting started with Windows Store apps, read Create your first Windows Store app using C# or Visual Basic to learn how to create a simple Windows Store app with C# and XAML. Then download the AdventureWorks Shopper reference implementation to see a complete business app that demonstrates recommended implementation patterns.
Prerequisites
- Windows 8.1
- Microsoft Visual Studio 2013
- An interest in C# and XAML programming
Go to Windows Store app development to download the latest tools for Windows Store app development.
The AdventureWorks Shopper Microsoft Visual Studio solution has a number of nuget package dependencies, which Visual Studio will attempt to download when the solution is first loaded. The required nuget packages are:
- Unity v3.0
- Microsoft.AspNet.WebApi.Client v4.1.0-alpha-120809
- Newtonsoft.Json v4.5.11 and v5.0.6
- Microsoft.AspNet.Mvc v4.0.20710.0
- Microsoft.AspNet.Razor v2.0.20715.0
- Microsoft.AspNet.WebApi v4.0.20710.0
- Microsoft.AspNet.WebApi.Client v4.1.0-alpha-120809
- Microsoft.AspNet.WebApi.Core v4.0.20710.0
- Microsoft.AspNet.WebApi.WebHost v4.0.20710.0
- Microsoft.AspNet.WebPages v2.0.20710.0
- Microsoft.Net.Http v2.0.20710.0
- Microsoft.Web.Infrastructure v1.0.0.0
[Top]
Exploring the guidance
What's in the box?
- Documentation. The documentation provides guidance on how to implement MVVM with navigation and app lifecycle management, manage application data, implement controls, accessible and localizable pages, touch, validation, search, tiles, and tile notifications. It also provides guidance on testing your app and tuning its performance.
- Portable Document Format (PDF). A PDF version of the on-line guidance, for printing or reading offline.
- AdventureWorks Shopper reference implementation source code. A Visual Studio solution containing all the projects that make up the AdventureWorks Shopper product catalog and shopping cart reference implementation.
- Quickstarts. The guidance includes a number of Quickstarts that illustrate specific concepts. Many of the Quickstarts use Prism for the Windows Runtime.
- Prism for the Windows Runtime source code. Source code for the two libraries that help to accelerate the development of managed Windows Store apps.
- Prism for the Windows Runtime NuGet packages. NuGet packages for the two libraries that help to accelerate the development of managed Windows Store apps.
Where to start?
- Review the AdventureWorks Reference implementation. After you download the code, see Getting started using Prism for the Windows Runtime for instructions on how to compile and run the reference implementation, as well as understand the Visual Studio solution structure.
- Review Quickstarts. The guidance provides five Quickstart samples that focus on specific tasks—validation, event aggregation, bootstrapping an MVVM app, extended splash screens, and incremental loading of items in GridView controls.
- Create an app using the Prism for the Windows Runtime. If you want to create your own app using Prism see Using Prism for the Windows Runtime.
- Explore developer tasks. Learn how the team implemented many of the tasks required to create a Windows Store app.
- Review the documentation. The associated documentation outlines the key decisions and lessons learned to create a Windows Store business app.
Exploring the documentation
Here are the major topics in this guide. For the full table of contents, see Developing a Windows Store business app using C#, XAML, and Prism table of contents.
- Getting started using Prism for the Windows Runtime
- Developer guidance summary and checklists for Windows Store business apps using C#, XAML, and Prism
- Developer tasks for building a Windows Store business app using C#, XAML, and Prism
- Using Prism to create a Windows Store app
- Designing the user experience of a Windows Store business app using C#, XAML, and Prism
- Using the Model-View-ViewModel (MVVM) pattern in a Windows Store business app using C#, XAML, and Prism
- Creating and navigating between pages in a Windows Store business app using C#, XAML, and Prism
- Using touch in a Windows Store business app using C# and XAML
- Validating user input in a Windows Store business app using C#, XAML, and Prism
- Managing application data in a Windows Store business app using C#, XAML, and Prism
- Handling suspend, resume, and activation in a Windows Store business app using C#, XAML, and Prism
- Communicating between loosely coupled components in a Windows Store business app using C#, XAML, and Prism
- Working with tiles in a Windows Store business app using C#, XAML, and Prism
- Implementing search in a Windows Store business app using C#, XAML, and Prism
- Improving performance in a Windows Store business app using C# and XAML
- Testing and deploying Windows Store business apps using C#, XAML, and Prism
- Meet the AdventureWorks Shopper and Prism team
- Quickstarts for Windows Store business apps using C#, XAML, and Prism
- Prism for the Windows Runtime reference
[Top]
Community
Prism for the Windows Runtime, like many patterns & practices deliverables, has a community site. On the community site you can post questions, provide feedback, connect with other users to share ideas, and find additional content such as extensions and training material. Community members can also help Microsoft plan and test future releases of Prism for the Windows Runtime. For more info see patterns & practices: Prism for the Windows Runtime.
[Top]
Release notes
The release notes, which include what's new in this release and a change log, can be found on the community site. For more info see Prism for the Windows Runtime release notes.
[Top]
Learning resources
If you're new to C# programming for Windows Store apps, read Roadmap for Windows Store app using C# or Visual Basic. To find out about debugging Windows Store apps see Debugging Windows Store apps.
If you're familiar with using XAML you'll be able to continue using your skills when you create Windows Store apps. For more info about XAML as it relates to Windows Store apps, see XAML overview.
The Windows Runtime is a programming interface that you can use to create Windows Store apps. The Windows Runtime supports the distinctive visual style and touch-based interaction model of Windows Store apps as well as access to network, disks, devices, and printing. For more info about the Windows Runtime API, see Windows API reference for Windows Store apps.
The .NET framework provides a subset of managed types that you can use to create Windows Store apps using C#. This subset of managed types is called .NET for Windows Store apps and enables .NET framework developers to create Windows Store apps within a familiar programming framework. You use these managed types with types from the Windows Runtime API to create Windows Store apps. You won't notice any differences between using the managed types and the Windows Runtime types except that the managed types reside in namespaces that start with System, and the Windows Runtime types reside in namespaces that start with Windows. The entire set of assemblies for .NET for Windows Store apps is automatically referenced in your project when you create a Windows Store app using C#. For more info see .NET for Windows Store apps overview.
To learn about the components and tools that determine what platform capabilities are available to your app, and how to access these capabilities see App capability declarations (Windows Store apps).
The AdventureWorks Shopper reference implementation makes much use of the task-based asynchronous pattern (TAP). To learn how to use TAP to implement and consume asynchronous operations see Task-based Asynchronous Pattern.
You might also want to read Index of UX guidelines for Windows Store apps and Design Windows Store apps using Blend for Microsoft Visual Studio 2013 to learn more about how to implement a great user experience.
[Top]
Downloads for the previous release
The previous release of Prism, which works with Windows 8 but not with Windows 8.1, can be downloaded using the links below.
- AdventureWorks Shopper sample
- Quickstarts
- Prism StoreApps library
- Prism PubSubEvents library
- Book (PDF)
[Top]