To create a Windows Store app there are a number of options:

Firstly you can create a Store App using HTML5 as the frontend and JavaScript as the backend. If you intend doing so have a good look at TypeScript to get around the Software Engineering issues with JavaScript. It is not the intention of this Blog sequence to look at HTML-JavaScript at this stage. I can though see a strong case for it from an interoperability perspective.

Secondly you can create a Store app with the frontend as XAML and C#, VB and/or C++ as the backend. The XAML UI is essentially what was previously Silverlight. C++ as a coding option with XAML is new in Windows 8 although it was the only way to code for Silverlight (XAML) in Windows Embedded Compact 7 (CE 7). The project templates on offer for the Store Apps are essentially the same in all three languages. The XAML is the same….just the code behind is syntactically different but conceptually the same.
Where there is much processing the news on the airwaves is that C++ Store apps/components perform better ( are we back to the future/past?).

New Project C# Windows Store (VB and C++ are similar):

  • Blank APP(XAML)
    A single page project for a Windows Store app that has no predefined control or layout.
    This is the recommended project template where you wan to build and app from the ground up an not reverse engineer an existing template.
  • Grid App (XAML)
    A three-page project for a Windows Store app that navigates among grouped items arranged in a grid. Dedicated pages display group an item details.
    Link: http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh768232.aspx
  • Split App (XAML)
    A two-page project for a Windows Store app. The first page allows group selection while the second displays an item list alongside details for the  selected item.
  • Class Library(Windows Store apps)
    A project that creates a managed class library (.NET) for Windows Store apps or Windows Runtime components.
  • Windows Runtime Component
    A project for a Windows Runtime component that can be used by Windows Store apps, regardless of the programming language in which the apps are written.
  • Unit Test Library (Windows Store apps)
    A project that contains test units that can be used to test Windows Store apps, Windows Runtime components or class libraries for Windows Store apps.

With C++ you get a couple of more project templates:

  • Direct 2D App (XAML
  • Direct 3D App
  • DLL(Windows Store apps) = Class Library

Static Library (Windows Store apps0

About the Blank App

This template contains one page with no UI elements on it (its starts up blank when you run it), a generic splash screen, the standard XAML styles (most commented out, you uncomment the ones you want), the App class  .xaml and .cs for getting the application going, a manifest file and the basic references required for a Windows Store app.

About the Grid App

Screen Shots

image

Click on a group title to get:

image

Click on an item in a group to get.

image

From the main page (the grid) you can select an Group which will then show information about the group as well as a link to each item in eth group and a summary for each such item. You can then select an item in the group to get detail about it. Alternatively, items are listed under their groups in the grid on the main page. You can select an item directly from there. This grid-groups-items is essentially what the Start Menu is in Windows 8.

Data Classes

Rather than use a database, the data is provided as a set of classes with some sample data to populate them.

The data consists of groups. Groups contain items:

image

The GridApp data classes and public properties and methods

The GridApp .xaml files:

  • App.xaml, which is loaded first and provides markup for the content host (where each page is loaded into the main window).
  • GroupedItemsPage.xaml, which is the main page. It enables a user to view the groups and items, and either select an item to navigate to the full-page item view, or a select a group label to navigate to the group details page.
  • GroupDetailPage.xaml, which enables a user to view group details on the left and items on the right, and select an item to navigate to the full-page item view.
  • ItemDetailPage.xaml, which is the full-page view for an item.

The GridApp other source code files:

  • App.xaml.cs which specifies how the app behaves when it's started.
  • GroupedItemsPage.xaml.cs| which specifies behavior that's associated with the main page.
  • GroupDetailPage.xaml.cs which specifies behavior that's associated with the group details page.
  • ItemDetailPage.xaml.cs which specifies behavior that's associated with the full-page item view.
  • SampleDataSource.cs which is the data-source object that exposes the data to the app.
    (For VB and C++ projects, the source file is .vb or .cpp respectively instead of .cs)

To be continued for other Project Templates