45 дней с Windows Phone 7. День #1. Шаблоны проекта.

Данная серия основывается на англоязычной серии статей «31 Days of Windows Phone 7» от Jeff Blankenburg, но не просто копирует её, а расширяет и дополняет.

Для понимания статей данной серии требуется некоторое базовое знание Silverlight (в изучении данной технологии Вам могут помочь доклады на сайте TechDays.ru). Кроме того, хотя в некоторых статьях будет обсуждаться создание игр для телефонов, данная тема рассматривается с нуля.

Для работы всех примеров предполагается, что у Вас установлены инструменты разработки под Windows Phone 7. Скачать их можно с сайта http://developer.windowsphone.com, пройдя по ссылке «Get the free tools», что говорит нам об их абсолютной бесплатности.

После установки инструментов Вам будут доступны Visual Studio 2010 for Windows Phone и Expression Blend 4 for Windows Phone. Для наиболее удобного создания Windows Phone 7 приложений Вам понадобятся оба этих продукта. Если же у Вас на компьютере установлены более старшие версии Visual Studio 2010 или Expression Blend 4, то вместо установки отдельных продуктов, в существующих приложениях просто появятся новые типы проектов, необходимые для разработки под телефон.

Ну что же, давайте посмотрим из чего состоит стандартный шаблон проекта Windows Phone 7 приложения. В Visual Studio в меню File выберем New -> Project… и в открывшемся диалоговом окне перейдём в раздел Silverlight for Windows Phone. Здесь представлено несколько типов проектов, о которых мы поговорим позднее. Сейчас же рассмотрим базовый тип проекта: Windows Phone Application. Создадим новый проект данного типа.



Solution Explorer

После создания проекта в окне Solution Explorer мы можем посмотреть на его структуру. В данный момент мы не будем рассматривать содержимое каждого файла, а обсудим то, для чего они нужны. Если Вам хочется увидеть содержимое файлов, просто установите инструменты, о которых мы говорили в начале статьи, и начните разработку Windows Phone 7 приложений.

Надо отметить, что многие файлы настроек приложения обычно редактируются не напрямую, а в специальном графическом интерфейсе.

ApplicationIcon.png

Картинка, которая будет иконкой Вашего приложения в телефоне. Это действительно важный файл, так как он является первым, что увидят пользователи при работе с Вашим приложением.

App.xaml

Хотя данный файл и не является полным аналогом, он служит целям, напоминающие таковые у файла web.config в ASP.NET приложениях. App.xaml является тем местом, где Вы можете хранить данные и настройки для всего приложения. Также в данном файле удобно хранить стили, но это не является обязательным.

App.xaml.cs

Файл кода (code-behind) для App.xaml. Здесь Вы можете обрабатывать события и ошибки уровня приложения, в том числе его «захоранивание»(«tombstoning»). Данную концепцию мы рассмотрим позднее, когда будем говорить про многозадачность.

AppManifest.xml

Простой манифест, необходимый для генерации XAP файла (пакета приложения).

AssemblyInfo.cs

Ещё один конфигурационный файл, в котором определяются некоторые метаданные главной сборки(Assembly) приложения.

Background.png

Данная картинка используется, когда Ваше приложение закреплено на стартовом экране телефона(start screen). По сути это большая иконка приложения. Поэтому было бы разумно сделать её визуально похожей на ApplicationIcon.png.

MainPage.xaml

Первая страница Вашего приложения. Именно её увидит пользователь после собственно загрузки приложения. Почти во всех приложениях данная страница не будет и не должна быть единственной. Телефон очень хорошо обрабатывает навигацию вперёд/назад, и было бы не разумно запихивать всю функциональность приложения в одну страницу. Тему навигации мы рассмотрим совсем скоро, а именно в следующей статье.

MainPage.xaml.cs

Файл кода страницы MainPage.xaml. Когда Вам требуется написать какой-либо код для страницы, Вы можете использовать MainPage.xaml.cs в этих целях. Однако, существуют и другие подходы, например паттерн проектирования MVVM (Model-View-ViewModel), когда файл кода страницы оказывается почти пустым, а бизнес логика определяется в других классах. Но так как писать код для небольших примеров непосредственно в *.xaml.cs файлах удобнее в дальнейшем мы выберем именно такой подход, хотя паттерны проектирования также рассмотрим.

SplashScreenImage.jpg

Данная картинка отображается во время загрузки Вашего приложения. Вы можете задать свою картинку, но учтите, что её целью является только информирование пользователя о том, что приложение загружается. В этом месте не стоит пытаться сделать что-то необычное.

WMAppManifest.xml

Файл метаданных, который содержит множество настроек приложения: заголовок, задание первой страницы, пути к иконкам, определение необходимых системных возможностей и.т.д.

Автор Jeff Blankenburg
Перевод и доработка Сергей Пугачёв