Шаблоны проектов, структура проектов
Цель работы: научиться работать с проектами приложений для Windows Phone в Visual Studio 2012
Особенности проектов приложений для Windows Phone
Первый шаг в построении приложения для Windows Phone заключается в выборе подходящего языка программирования, на котором будет вестись разработка, и типа проекта. На рис. 7.1. приведено окно создания проекта из Visual Studio.
Можно отметить, что состав доступных проектов на Visual C# и Visual Basic совпадает (за исключением проекта Приложение модульного тестирования Windows Phone, который доступен только на C#). Это – проекты, на основе которых можно создать основную часть Windows Phone-приложений, и, в том числе – игровые приложения, использующие Direct 3D, XNA-игры, которые всё еще можно разрабатывать в расчёте на Windows Phone 7, и, хотя Windows Phone 8-устройства могут исполнять такие приложения, их создание специально для платформы Windows Phone 8 не предусмотрено.
Шаблоны проектов, предусматривающие использование Visual C++ ориентированы на разработку Direct3D-приложений, обычно это игры, и на создание высокопроизводительных компонентов среды выполнения Windows Phone.
Правильный выбор шаблона приложения позволяет ускорить процесс разработки за счёт наличия в созданном по нему проекте приложения некоего стартового набора элементов. В то же время, нельзя сказать, что, например, создавая проект на основе одного шаблона, разработчик принципиально не может реализовать в таком приложении ту же функциональность, которая предусмотрена шаблоном другими шаблонами. В общем случае проект, созданный по некоему шаблону – это лишь стартовая точка разработки, дающая простейшее работающее приложение, которое в ходе разработки претерпевает множество изменений и дополнений, превращаясь в готовый программный продукт. Рассмотрим особенности стандартных шаблонов.
Для Visual C# и Visual Basic это следующие:
Раздел Windows Phone
- Приложение Windows Phone. Шаблон одностраничного приложения с интерфейсом, построенным на основе XAML.
- Приложение Windows Phone с привязкой к данным. Шаблон приложения, который реализует простую MVVM-архитектуру
- Библиотека классов Windows Phone. Этот шаблон позволяет создавать библиотеки классов. У библиотек классов нет собственного графического интерфейса, их можно использовать в других приложениях.
- Приложение Windows Phone с панорамой. Шаблон приложения, где по умолчанию используется элемент управления Panorama. Этот элемент управления нередко используют для создания начальных страниц приложений, примеры его использования можно встретить в стандартных системных приложениях Windows Phone, в различных хабах. Он представляет собой вертикальное полотно, поддерживающее прокрутку, логический размер которого равен нескольким экранам телефона.
- Приложение Windows Phone Pivot. При помощи этого шаблона можно создать приложение с интерфейсом, основанным на элементе управления Pivot. Данный элемент управления предусматривает наличие нескольких разделов, заголовки которых выводятся в верхней части страницы. В таком стиле, например, оформлены настройки Windows Phone.
- Приложение Windows Phone на базе XAML и XNA. Позволяет создавать комбинированные приложения, преимущественно – игровые, интерфейсные части которых можно создать, используя XAML-разметку, а основную функциональность реализовать с помощью инструментов XNA.
- Приложение Windows Phone с XAML и Direct3D. Предназначен для создания комбинированных приложений, преимущественно – игр, интерфейсная часть которых может быть выполнена с использованием XAML-разметки, а основной функционал предусматривает использование Direct3D
- Приложение модульного тестирования Windows Phone (только Visual C#). Модульное тестирование широко применяется в разработке программного обеспечения, использование модульных тестов позволяет сократить число ошибок в разрабатываемой программной системе, упрощает поддержку кода. Данный шаблон доступен для среды Windows Phone-разработки после установки Visual Studio 2012 Обновление 2.
- Приложение Windows Phone HTML5. Этот шаблон предусматривает построение приложений, интерфейсная часть которых создана с помощью HTML5-разметки. Фактически, в приложении, созданном по этому шаблону присутствует стандартная инфраструктура на основе XAML и элемент управления WebBrowser, который используется для отображения HTML-страниц приложения (с поддержкой JavaScript).
- Агент воспроизведения звука Windows Phone. При использовании данного шаблона создаётся библиотека классов, которая используется для организации фонового воспроизведения звука на основе плейлиста, при учете поддержки системой форматов звуковых файлов, включенных в плей-лист. Используется для добавления в приложения Windows Phone, которые нуждаются в подобной функциональности.
- Агент потоковой передачи звука Windows Phone. С помощью этого шаблона можно создать библиотеку для организации потоковой передачи звука в систему воспроизведения аудиосигнала устройства. С помощью агента потоковой передачи звука, например, можно организовать фоновое воспроизведение звуковых файлов, форматы которых не поддерживаются на уровне системы, либо – достичь большей гибкости и больших возможностей в управлении потоком.
- Агент запланированных заданий Windows Phone. Предназначен для создания библиотек, которые используются для организации фонового выполнения запланированных заданий. Эти задания можно разделить на два вида. Первый – обычные периодически выполняемые задачи (Periodic tasks), на выполнение которых выделяется 25 секунд каждые 30 минут, при условии, что телефон не пребывает в режиме экономии энергии. Второй – задачи, требовательные к системным ресурсам (Resource-intensive task), они исполняются при особых условиях, в частности, телефон должен быть подключен к зарядному устройству, пользователь не должен работать с ним. Подобные задачи используются, например, для целей синхронизации больших объемов данных с сетевыми службами.
Раздел XNA GameStudio 4.0
- Игра для Windows Phone (4.0.). Предназначен для создания игр и других приложений на основе XNA GameStudio 4.0.
- Игровая библиотека для Windows Phone (4.0.). С помощью этого шаблона можно создать игровую библиотеку.
- Библиотека расширения конвейера контента (4.0). Этот шаблон используется для создания расширений конвейера контента (Content Pipeline)
- Пустой проект контента (4.0.). Этот шаблон используется для создания проектов для XNA-контента
Для Visual C++ это следующие типы проектов, собранные в одном разделе:
Windows Phone
- Приложение Windows Phone Direct3D с XAML.
- Приложение Windows Phone с Direct3D (только машинный код).
- Приложение модульного тестирования Windows Phone.
- Пустая библиотека динамической компоновки Windows Phone
- Пустая статическая библиотека Windows Phone
Рассмотрим структуру проекта, основанного на шаблоне Приложение Windows Phone для Visual C#. Понимание структуры этого проекта, во-первых, заложит основы, необходимые для разработки любых приложений для Windows Phone, во-вторых, даст ключ к пониманию устройства других проектов.