Программируем Windows Phone 7–Silverlight
В свете недавних новостей о сотрудничестве Microsoft и Nokia, платформа Windows Phone 7 представляется всё более перспективной. Уже сегодня российские студенты могут разрабатывать приложения для Windows Phone 7 и бесплатно размещать их для продажи в магазине приложений Windows Phone 7 Marketplace. Самое время, чтобы начать зарабатывать на новой платформе, под которую пока ощущается нехватка приложений!
В этой статье мы расскажем вам, как начать программировать для Windows Phone 7. Для телефона поддерживаются две технологии создания приложений: Silverlight и XNA. XNA в первую очередь предназначена для создания игр и приложений, работающих с 2D- и 3D-графикой – про программирование таких приложений мы расскажем в следующем месяце. Сейчас же поговорим про создание приложений на Silverlight.
Создание Silverlight-приложения для Windows Phone 7
Silverlight удобно использовать для бизнес-приложений, простых игр и прочих программ, имеющих "традиционный" управляемый событиями интерфейс (т.е. набор элементов управления типа строк ввода, списков и т.д.). Он приходит на смену более старым технологиям создания приложений Windows Forms. В основе Silverlight лежит принцип разделения разметки графического дизайна приложения и программного кода – интерфейс программируется с помощью XML-языка разметки XAML, а с действиями пользователя связываются события, программируемые отдельно на любом из .NET-языков (обычно на C#). Если интересно – вы можете ознакомиться с технологией Silverlight поподробнее.
Что приятно – для рисования интерфейса простого приложения вам не нужно почти ничего знать! Можно воспользоваться визуальным дизайнером Visual Studio, перетаскивая элементы управления на поле приложения (этого должно быть достаточно для большинства приложений с “классическим” интерфейсом), либо более специализированным инструментом Expression Design, который потребуется для создания более “продвинутых” и красочных интерфейсов. И то, и другое доступно для студентов в рамках программы DreamSpark (при этом инструменты можно использовать и для создания приложений, размещаемых в Marketplace на продажу).
- Заходим на “главный” сайт для разработчиков под телефон https://create.msdn.com
- Скачиваем и устанавливаем инструменты разработчика
- Разрабатываем приложение. Немного об этом – ниже.
- Тестируем приложение. Обратите внимание – для этого не нужен телефон! Большинство возможностей приложения можно протестировать на эмуляторе, который распространяется вместе с инструментами разработки.
- Регистрируем аккаунт на MarketPlace, размещаем приложение в магазине и получаем profit. Об этом мы поговорим отдельно, но для нетерпеливых могу предложить почитать англоязычный пост с инструкциями.
Рассмотрим простейшее приложение на Silverlight, которое будет полезно студентам: предсказатель оценки на экзамене. Для того, чтобы создать такое приложение, запустим Visual Studio, создадим новый проект Windows Phone Application, и поместим на поле два элемента управления из панели с доступными элементами: TextBlock и Button. Далее исправим в свойствах название элементов и заголовка, чтобы получился интерфейс подобным тому, который показан на рисунке справа.
В результате Visual Studio сама сгенерирует XAML-код для этого интерфейса, упрощенный вариант которого показан ниже:
<Grid x:Name="LayoutRoot" Background="Transparent">
<StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
<TextBlock x:Name="ApplicationTitle" Text="MY APPLICATION"/>
<TextBlock x:Name="PageTitle" Text="Предсказатель"/>
</StackPanel>
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<TextBlock Name="textBlock1" Text="Нажмите кнопку"/>
<Button Content="Предсказать" Name="button1" Click="button1_Click" />
</Grid>
</Grid>
Далее, чтобы добавить к приложению функциональность, нам достаточно дважды нажать кнопку – будет сгенерирован код на C#, который будет вызван при нажатии на кнопку. Чтобы приложение работало, добавим код для генерации случайного числа и записи его в качестве содержимого текстовой строки:
private void button1_Click(object sender, RoutedEventArgs e)
{
Random R = new Random();
textBlock1.Text = "Моя оценка будет: "+R.Next(2,5).ToString();
}
Для запуска приложения достаточно нажать F5 (или кнопку со стрелкой в Visual Studio) – будет автоматически запущен эмулятор Windows Phone, и на нём развёрнуто и запущено приложение. Большую часть функциональности приложений можно протестировать в эмуляторе. Если у вас есть аппарат Windows Phone 7 – в следующий раз мы расскажем, как запустить приложение на телефоне и поместить его в Marketplace.
Таким образом, за несколько минут мы можем создать работающее полезное приложение для Windows Phone 7. Попробуйте тоже написать простое приложение – вам это наверняка понравится! Расскажите нам о своих экспериментах в комментариях к блогу, или в твиттере. Для дальнейшего изучения этой темы рекомендую:
- посмотреть видео-доклад Сергея Звездина или Сергея Пугачёва, другие доклады по Windows Phone 7 на TechDays.ru
- изучить все тонкости программирования в проекте Сергея Пугачёва "45 дней с Windows Phone 7"
- пройти лабораторные работы из Windows Phone 7 Training Kit (на русском языке)
- или обратиться к бесплатной книге Чарльза Петцольда (полная версия на англ. языке)
- чтобы протестировать своё приложение на реальном телефоне и получить дополнительную поддержку, вы можете обратиться к центр инноваций Майкрософт в МЭИ
Потратив несколько часов, можно создать вполне интересное законченное приложение, которое можно будет разместить в Windows Phone Marketplace, а также поучаствовать с ним в конкурсе Imagine Cup Windows Phone 7 Challenge! До окончания соревнований осталось чуть менее месяца (последний срок подачи заявок – 7 марта 2011 г. ) – в самый раз, чтобы успеть разработать прототип и загрузить его на сайт!
Удачи вам в экспериментах, и доброго кода!
Comments
Anonymous
March 15, 2011
Занятная статья, спасибоAnonymous
March 21, 2011
Подход по защите контента как в zune неподходит лучше взять китайский телефон хоть с телевизорм