Windows Azure — одна из самых открытых платформ от Microsoft. Управление и доступ к сервисам, которые предоставляет платформа, осуществляется по открытым протоколам с REST API, а разрабатывать приложения можно на node.js, Java, PHP и .NET.
Использование мобильных компьютеров для доступа в интернет и к сопутствующим сервисам растёт с каждым днём. Многие популярные интернет-сервисы имеют продвинутого клиента для основных мобильных платформ. Для того, чтобы разработчики могли быстро познакомиться и начать использовать возможности Windows Azure в своих решениях, были разработанны несколько проектов с открытым исходным кодом, для основных мобильных платформ и технологий, под общим названием Windows Azure Tookits for Devices.
С чего это всё начиналось можно узнать в статьях на Habr: Windows Azure Toolkit for Windows Phone и Windows Azure Toolkit for iOS, Windows Azure Toolkit for Social Games и Windows Azure Tookits for Devices.
Проект доступен также для Android и недавно получил обновление, которое поддерживает разработку для Windows 8 Consumer Preview.
Цель данной статьи — познакомить с Windows Azure Toolkit for Windows 8.
Обзор Windows Azure Toolkit for Windows 8
Для разработки вам потребуется как Visual Studio 11 Beta, для разработки приложений в Metro-стиле для Windows 8, так и Visual Studio 2011, например, бесплатная Web Express, для разработки Windows Azure части. Также, для того, чтобы запускать эмулятор Windows Azure, необходимо установить SQL Server Express.
Подробную инструкцию по установке Windows Azure SDK под Windows 8 можно найти здесь.
Скрипт установки Windows Azure Toolkit for Windows 8 проверит все зависимости и установит все необходимые для работы. Полный список зависимостей можно найти в документации.
Перейдём теперь непосредственно к составу тулкита.
Два шаблона:
- Windows 8 Cloud Application — для приложения в Windows Azure (Visual Studio 2010) и
- Notification + Access Control Application — для приложения в Metro-стиле (Visual Studio 11).
Windows 8 Cloud Application: создаёт проект для развёртывания в Widows Azure и проект ASP.NET MVC 3, отвечающий за регистрацию клиентов и отсылку им push-оповещений.
Notification + Access Control Application: создаёт базовый проект, который содержит всё необходимое, чтобы начать пользоваться сервисами Windows Azure из приложения в metro-стиле. Доступен для C# и JavaScript.
Примеры кода (в папке Samples):
- ACS — пример использования Access Contol Services в приложении в стиле Metro.
- MargiesTravel — пример приложения в metro-стиле на JavaScript, и использования NuGet пакета для добавления фукнционала отсылки оповещений.
- Notifications.CSharp — пример приложения в metro-стиле на XAML и C#, использующего WinMD NuGet пакет для регистрации/отключения регистрации приложения на оповещения.
- Notifications.JS — пример приложения, аналогичного Notifications.CSharp, но написанного на Javascript и HTML.
- PNWorker — пример приложения, демонстрирующего пакетную рассылку Windows Push Notifications, испольщуя рабочую (worker) роль Windows Azure.
Пакеты NuGet:
- ACSAuthentication — библиотека WinMD, упрощающая получение токена от сервиса Windows Azure Access Control Service, используя класс WebAuthenticationBroker из Windows Runtime. Пакет NuGet доступен по следующей ссылке: nuget.org/packages/Windows8.Identity.AccessControl
- ACSAuthentication.CSharp — элемент управления XAML, написанный на C#, отображающий список провайдеров аутентификации, настроенных в ACS. Использует NuGet пакет Windows8.Identity.AccessControl ( nuget.org/packages/Windows8.Identity.AccessControl ). Пакет NuGet доступен по следующей ссылке: nuget.org/packages/Windows8.CSharp.Identity.AccessControl
- ACSAuthentication.JS — HTML элемент управления, аналогичный ACSAuthentication.CSharp. Пакет NuGet доступен по следующей ссылке: nuget.org/packages/Windows8.JS.Identity.AccessControl
- ClientRecipe — библиотека WinMD, для работы с end-point push-оповещений, созданных NuGet пакетом WnsRecipe. Пакет NuGet доступен по следующей ссылке: nuget.org/packages/Windows8.Notifications
- WnsRecipe — вспомогательная библиотека для серверной реализации push оповещений, упрощающая отсылку трёх типов push оповещений, поддерживаемыз Windows Push Notification Services (WNS): Tile, Toast, и Badge. Пакет NuGet доступен по следующей ссылке: nuget.org/packages/WnsRecipe
Запуск примера Margie’s Travel
Margie’s Travel — это пример приложения в metro-стиле из поставки Toolkit, которое написано на HTML5, CSS и JavaScript и использует возможности Windows Azure. Приложение не требует установки. Для работы нужно просто запустить клиентскую и серверную часть проекта.
- Запустите Visual Studio 2010 как администратор.
- Откройте решение MargiesTravel.sln, которое находится в папке SamplesMargiesTravel.
- Установите стартовым проектом MargiesTravel.Cloud.
- Запустите приложение в эмуляторе, нажав F5, и откройте окно браузера на стратовой странице.
- Нажмите login, чтобы отобразился список провайдеров аутентификации.
- Выберите провайдера аутентификации и выполните вход
- Запустите Visual Studio 11 и откройте решение MargiesTravel.Client.sln, находящееся в папке SamplesMargiesTravel folder.
- Запустите приложение в metro-стиле, нажав F5.
- Нажмите в клиентском приложении login, чтобы отобразился список провайдеров аутентификации.
- Выберите провайдера аутентификации и выполните вход.
- Щелкние по любой из поездок, чтобы увидеть детальную информацию.
- В облачном приложении содержится специальная функциональность, которая позволяет тестировать отсылку сообщений зарегистрированным клиентам. Для отсылки сообщений, наберите в адресной строке браузера 127.0.0.1/upgrade и нажмите ENTER.
- Браузер отобразит список всех зарегистрированных клиентов. Проверьте, что списко содержит Margies.Travel.Client.App. Щелкните по ссылке “Upgrade for (…)” в строке Margies.Travel.Client.App, чтобы обновить и отослать оповещение на клиента.
- Через короткую паузу, приложение должно получить toast-сообщение с информацией об обновлении.
Полезные ссылки
Cкачать Visual Studio 11 Beta
Всё необходимое для разработки под Windows Azure
Центр разработки Windows Azure на MSDN
Форум по Windows Azure на MSDN
Windows Azure Toolkits for Devices:
Windows Azure Toolkit for Windows 8 на Codeplex
Windows Azure Toolkit for Android на GitHub
Windows Azure Toolkit for iOS на GitHub
Windows Azure Toolkit for Windows Phone на Codeplex
Windows Azure Toolkit for Social Games на GitHub
Автор: stasus