I want to update you on the status of the project from the patterns & practices team codenamed Kona Guidance. The project provides guidance on how to develop Windows Store business apps.

We are close to completing the project and have beta versions of the code and associated library available on CodePlex and NuGet. The project will deliver a reference implementation named AdventureWorks Shopper and a library named Prism for Windows Runtime. We will no longer use the Kona name going forward.

When the project is complete I will publish a blog post letting you know where you can get the latest code and documentation.

Prism for Windows Runtime

The library includes EventAggregator and DelegateCommand from Prism “classic” (WPF and Silverlight). The EventAggregator is now in a Portable Class Library and is available as a separate NuGet package.

DelegateCommand is in a NuGet package for the Prism.StoreApps assembly. This assembly provides support for ModelViewViewModel (MVVM) pattern that integrates with Windows 8 navigation and lifecycle management (suspend, terminate, and resume). The library also provides support for validation, search, and flyouts.

AdventureWorks Shopper

The reference implementation (RI) uses the Prism library to demonstrate how to build Windows Store business apps.  The RI demonstrates Windows Store features such as suspend, resume, & terminate, snap, live tile, search, settings, navigation, localization, and accessibility. It also demonstrates capabilities needed for business apps such as local data management, interacting with services using Web API, validation, forms authentication and authorization.

The RI uses the Prism library to demonstrate MVVM that responds to suspend and terminate events. For example data entered on the Checkout Hub page is restored when the app restarts after termination. We also provide unit tests for both the library and the RI.

The most recent version of the reference implementation can be downloaded from CodePlex.

Creating your own app

If you want to get started you can, though remember that the code is not 100% complete. A good resource to look at is “Using the Prism for Windows Runtime library” documentation available on CodePlex. It is meant for the experienced developer that needs tips of how to get started, create a view, create a view model, create a model class with validation, create a flyout, and add items to the settings pane. The documentation assumes that you are using the Unity container and uses our standard conventions.

It also discusses how to change our conventions or use a factory instead of a container.

Other Getting Started Resources

As always feedback is appreciated.