Choose the right application template for your WP7 app

Its common knowledge that Windows Phone 7/WP7 platform runs Silverlight
based applications. Unlike Silverlight, Windows Phone 7 uses additional
user interface structure to facilitate a common user interface across
applications. To make it easier for you to setup your app, Microsoft Visual Studio
provides four different project
templates
plus a 5th for Class Libraries. Why four different project
templates? The four templates are there to assist you in creating one of the common
types of apps from a user interface perspective. Each of project templates is discussed
below:

Windows Phone Application


The Windows Phone Application Template is the simplest and the
closest to a blank slate. If you create a new project from this template you
will be presented with a solution containing little more than the bare minimum
necessary for the project. The page create for the app is simple, showing only
the application name and a page name.

MainPage.xaml from Windows Phone Application template
Figure 1

This template is useful primarily if you plan to create a free form
application or you are not happy with the other templates below. Using this
template, you can manually build data bound screens, panoramas, or pivots into
your app.

Windows Phone Databound Application

Using the Windows Phone Databound Application template provides you with a
solution containing quite a bit more functionality. This template is focused
primarily at apps centered around data driven list/detail screens. This can be
a very useful starting point when you are building something like an RSS reader
where you show the items from the feed in the list and allow the user to drill
down. You can also look at using the detail screen for edits to items in the
list. The list screen created like before contains the application name and the
page name. In addition the list is configured to show a two line per item in
the list.

MainPage.xaml from Windows Phone Data Bound Application template
Figure 2

The detail page is again simple with the application name, page name and a
text block for details as shown below.

DetailsPage.xaml from Windows Phone Data Bound Application template
Figure 3

This template is a very good starting point for most simple applications.
Even if you do not believe you want to start with this template, I would at
least recommend dissecting the XAML (eXtensible Application Markup Language)
and source code. From a learning perspective alone, you can see how data
binding is accomplished in both a list and a detail page as well as simple
navigation.

Windows Phone Pivot Application

The next step up in templates is the Windows Phone Pivot Application. The
Windows Phone Pivot Application template is really meant to help you get
started in creating apps that utilize the pivot control. The pivot control is
one of the more unique aspects of apps on Windows Phone 7 in that the user can
swipe from left to right or right to left to switch the view. Most commonly,
the views are simple lists which you then drill into. The WP7 built-in mail
application is an example of an app that uses the pivot control. The template
provides you with a single page as well as sample data sources to populate the
two pivot items.

MainPage.xaml from Windows Phone Pivot Application template
Figure 4

This template is a very good starting point if you need to display multiple
lists, such as a mail client, as the user interface is very simple for a user.

Windows Phone Panorama Application

The Windows Phone Panorama Application template is very similar to the pivot
template in usage with a different overall design. The template provides you
with almost identical components for your project minus changes to the main
page as shown below.

MainPage.xaml from the Windows Panorama Application template
Figure 5

The panorama template could be used almost interchangeably with the pivot
template above. The choice of which one to use really depends mainly upon
styling and the slight difference in user action between the two underlying
controls.

Conclusion

As you can see from the four templates discussed above, it is quite easy to
jump in and start building your application. The only thing you really need to
decide before choosing the template is how you want users to interact at the
start of your app. It boils down to a couple of choices for the templates free
form, list/detail or multiple lists (with two different styles). Even if you
decide to change the interactivity down stream you are not stuck, you can still
make the code changes manually.

About the Author: Chris Bennett is a Manager with Crowe Horwath LLP in the
Indianapolis office. He can be reached at [email protected]

More by Author

Must Read