Ok, we have gone through a sample application.. like a whirlwind!
here are a few details:
I want to start with the contents of the Solution Explorer
There might be a few things that you are not familiar with so here goes:
App.xaml and App.xaml.cs – this is what is called an “entry point”. Pretty much like the Main in your application. Here is where your application’s space is defined, resources are initialized, and serves as the container for your application’s UI. The one with the .cs extensions holds your… C# code
MainPage.xaml and MainPage.xaml.cs – in a nutshell, you can call this your UI. This is where you will design your app. If you will be needing another page, you will add that on top of MainPage.xaml. And of course, the file with the .cs extension holds your C# code.
There are a few images also
ApplicationIcon.png – duh.. your app’s icon?
Background.png – ahhhmm.. your app’s background image? Correct!
SplashScreenImage.jpg – well yeah, its your splash screen.
Why did I still mention them? Well, because you can still change these images so you can further customize the look and feel of your app.
Properties\AppManifest.xml – now this one, you can’t live without. the IDE will be needing this manifest to generate your application’s package.
Properties\AssemblyInfo.cs – much like the AssemblyInfo file you get when you develop a regular application, this file holds the.. er.. assembly information of your app like the version metadata.
Properties\WMAppManifest.xml – this is a separate Manifest specifically added because you are creating a Windows Mobile phone application; hence the WM prefix. But basically it is the same as the main AppManifest xaml file.
References folder – the same as the references folder in a regular .Net application, this folder holds the DLLs that you will need to run your WP7 app.
We will look at the other files in more detail next time. But today I would like to focus on a few items, that might throw you off, or set you banging your head while trying to create an application.
Firstly, I want to make clear, that although a WP7 app is made with Silverlight, this version of Silverlight has been re-modeled specifically to run on a Mobile Phone environment. There are basic differences that you should be able to infer but we will still look at them for brevity.
Don’t think that the Silverlight version you will be using is a “weaker” or watered down version. It is not worse, nor better than the regular Silverlight 4 that you can use for WPF or RIA. The differences mainly lie on the fact that a mobile phone has its limitations, just as a RIA does. So there will be some “differences” .
UI Concepts – please don’t expect to design your app with the Right-click in mind. Although it can be done, it won’t come out of the box. The same goes with a double click of course. You must keep in mind, that your application will run on several models of phones and their interfaces just won’t be the same. Although Microsoft has required some general features that will be available across all brands and models, some models will of course have more buttons than others.
Phone Concepts – in addition to above, Phones have different hardware as compared to a Computer. Also, navigating a Phone is a totally different animal as compared to navigating a computer. There are some limitations to what kinds of menus we can add or use. And the limitations are.. as many.. or as few.. as your imagination
Lastly, there is one thing I need to lay down.
Only one application can run at a time on a phone.