Usman ur Rehman Ahmed's blog

Which Windows Phone 7 Project Template you should begin with?

Nature of the Article: Beginner

You will notice the New Project dialog box allows you to choose between following projects templates types under Silverlight for Windows Phone category,

Windows_phone_7_project_templates
Though most developers will find reasonable to begin with “Windows Phone 7 Application” type, there is a lot more under Windows Phone 7 canvas. If you are serious to learn and develop at-least one complete windows phone 7 application, you got to try all five of them. Here I have provided quick explanation for each project type,

Windows Phone 7 Application

A standard Windows phone 7 application project type that helps building blank one page (MainPage.xaml) screen (off course you can add more if you desire so). The minimal required resources for a blank application (application background image, application cons and startup splash screen) are added so that you can take it from there.

If you are getting started with Phone 7 application development, this is the recommended one that will be your ultimate choice for at-least couple of basic projects.

Windows Phone Databound Application

This type of application provides understanding to navigation (since the template creates two basic pages MainPage.xaml and DetailsPage.xaml with properly hooked navigation) and consumes data in the form of XML. Note that this application type makes use of both design time and runtime data.

In today’s world no application can escape data usage. Once you understand what elements make a basic Windows Phone 7 Application like (previous section), databound application should be your next target type.

Note:  The application type is based over MVVM (Model View-ViewModel) design pattern so a basic understanding of this pattern will help you better consume Databound application types. Take a look at this cleanly put article,

http://csharperimage.jeremylikness.com/2010/04/model-view-viewmodel-mvvm-explained.html

Windows Phone Class Library

 Just like a standard windows class library, this project template helps you create your own controls or routines that are compiled as “.dll” library which you can further distribute. These dlls reference can be utilized by Windows Phone 7 consumer application.

Windows Phone Panaroma Application

A type of application based over the “Panaroma” control offered by Windows Phone 7 framework classes. As the name suggests, this type of application allows you to create an application which contains multiple pages and provides control on scrolling background (as you pan and flick between pages) using Panaroma control.

Note: If you don’t understand what a Panaroma control is, I would suggest you to take a look at this beautiful article by Stephen,

http://blogs.msdn.com/b/stephanc/archive/2010/04/04/windows-phone-7-panorama-control-sample.aspx

Windows Phone Pivot Application

Similar to above above, this type of application utilizes the Pivot control to simplify creation of application that contains multiple pages. Use this application type to understand how Pivot control look like and behavior of Pivot control for navigation purposes. Normally you will not develop on top of this type of application but rather use the concept of learnt with this application type.

Note: To understand the idea behind Pivot control, follow this post by Stephen,

http://blogs.msdn.com/b/stephanc/archive/2010/05/09/windows-phone-7-pivot-control-sample.aspx

Conclusion

It is recommended to take a look at each template type and learn the concepts presented. Though it is a matter of personal choice, most developers will end up by starting a new blank application type project and will manually add stuff to their convenience taking concepts from each “databound”, “panaroma” and “pivot” type templates.

SQL Server Data-tier Application Properties; Good to have

I was playing with SQL server data-tier application today and I thought of few changes which would make a good addition in properties console,

1- Under Properties > Database.sqlsettings, I think it will be great if a tooltip is provided for each checkbox. Something like this,

Database

2- Under Properties > ServerSelection.sqlpolicy, the dialog box that appears either requires input value or selection from drop down but relatively the notification that appears at the top of dialog box seems unusual,

Heading
Personally I find if notification be removed, will make the dialogs appear more elegant

11
To Posterous, Love Metalab