Разработка приложения для Windows 8: Введение
Термин «Windows 8-style UI» включает в себя две концепции: Windows 8-style UI и Windows Runtime (WinRT).
Windows 8-style UI
Приложение в стиле Windows 8-style UI — это сплав новой парадигмы интерфейса (Metro style), нового эффективного API и соответствующей платформы разработки, плюс интеграция с системой и другими приложениями.
В отличие от классических приложений приложения в стиле Windows 8-style UI содержат одно окно без хрома (рамок и декоративных обрамляющих элементов), по умолчанию занимающее весь экран, чтобы пользователя не отвлекали лишние детали.
Приложение может поддерживать различные компоновки и представления, чтобы обеспечить динамику и удобство пользователя при различных параметрах и размерах экрана устройств.
Приложения в стиле Windows 8-style UI содержат несколько новых элементов управления, упрощающих организацию эффективного взаимодействия с пользователями. Среди этих элементов можно выделить строку команд (App Bar) приложения и чудо-кнопки (Charms).
Строка команд приложения (App Bar) размещается вне окна приложения и является его основным командным интерфейсом. Используйте строку команд для размещения элементов навигации, команд и инструментов для пользователей.
Чудо-кнопки — это определенный и согласованный набор кнопок, используемый во всех приложениях для поиска, отправки, подключения, настройки и запуска.
- Искать содержимое, размещенное в вашем или другом приложении. Кроме того, поиск содержимого в вашем приложении возможен из другого приложения.
- Делиться содержимым из вашего приложения с контактами или службами.
- Перейти прямо на Начальный экран.
- Подключаться к устройствам и отправлять содержимое, выполнять потоковую передачу мультимедиа, а также печатать документы.
- Использовать параметры для настройки приложения по своему усмотрению.
Когда пользователь устанавливает приложение, оно появляется на начальном экране как плитка.
Приложение может предоставлять содержимое с помощью плитки, даже когда не работает. Используя динамические плитки (Live Tiles), приложение способно выводить на экран полезные данные в краткой форме при минимальном расходе заряда батареи устройства.
Приложение может настроить систему для периодического запроса обновлений в веб-службе вне зависимости от того, работает ли оно. Кроме того, в приложениях доступна настройка служб push-уведомлений Windows (WNS), чтобы отправлять сообщения напрямую из веб-службы в динамическую плитку.
Windows Runtime (WinRT)
WinRT — это native API (родной для операционной системы), работающий вместе с оптимизированным COM API. При этом возможна работа manage-сред поверх WinRT (таких как .NET Framework).
WinRT — это объектно-ориентированный API, включающий универсальный формат метаданных типов. WinRT включает поддержку многих современных свойств персональных компьютеров (сенсоры, камеры и т.п.), а энергосбережение является тут чрезвычайно важным.
- С++
- .NET Framework с C# и Visual Basic
- HTML5 и JavaScript
Помимо, собственно функционала, отвечающего за выполнение тех или иных функций, WinRT имеет ряд других важных компонентов.
- Подсистема метаданных и языковых проекций. Благодаря ей, компоненты, написанные на разных языках программирования, могут вызывать друг друга.
- Брокеры. Эти компоненты несут две важные функции:
- Поддержка обмена данными между приложениями. Например, в тех случаях, когда вы хотите отправить данные из какого-то приложения через почтовый клиент.
- Защита некоторых важных вызовов через механизм capabilities и явных разрешений. Например, если приложение захочет использовать камеру, система сперва спросит у пользователя, допускает ли он это. Аналогично и, например, с GPS – приложение должно обозначить такую потребность еще на этапе разработки, плюс пользователь может явно разрешить или запретить ему использование информацию о местоположении.
- составом компонентов;
- возможностями (capabilities), затрагивающим безопасность и функционирование системы, такими как, доступ к местоположению, файловой системе, сети, идентификации пользователя, всевозможным точкам интеграции с системой и так далее;
- взаимодействием с Windows Store и информацией о приложении, которое, как мы уже знаем, в подавляющем большинстве случаев, будет установлено именно оттуда.
Стадии выполнения приложения точно описываются перечислением ApplicationExecutionState.
- Introduction to Background Tasks
Этот документ описывает модель разработки и жизненного цикла фоновых процессов, а также их взаимодействие с пользовательским интерфейсом. - Background Networking
Этот документ описывает подходы и правила разработки приложений, использующих сетевую подсистему для предоставления пользователю коммуникационных возможностей.
Особенность WinRT – порядок работы с файлами и данными. В общем случае данные Windows 8-style UI-приложений изолированы друг от друга. Это обеспечивает стабильность и безопасность как самих приложений, так и системы в целом.
- локальное,
- временное,
- переносимое (roaming).
Временное хранилище очень похоже на локальное с тем исключением, что как только приложение выгружается, система может в любой момент удалить временные данные.
Переносимое (roaming) хранилище представляет собой файлы и папки синхронизируемые между всеми устройствами с Windows 8, где зарегистрировался тот же пользователь, который в вашем приложении изначально создал данные. Пользователь определяется по Microsoft ID, который также все знают под именем LiveID.
В случае необходимости, приложение может получить доступ к файлам, находящимся на всем остальном пространстве дисков устройства . Для этого предназначено два механизма: File Pickers и Libraries.
Механизм File Pickers позволяет получить доступ к файлам через запрос пользователя на выбор таких файлов. Пользователь явно выбирает файлы, давая таким образом приложению доступ к этим файлам.
- Декларация необходимости получения доступа к библиотекам. Декларация производится еще на этапе разработки приложения. Устанавливая его из Windows Store, пользователь видит, к каким библиотекам приложение будет иметь доступ.
- Для некоторых типов библиотек (Documents и файлов на внешних устройствах) необходимо определить ассоциацию приложения с типами файлов. И именно к файлам этих типов оно получит доступ.
Манифест приложения и capabilities
Схема пакета приложения важна сама по себе, а файл манифеста как ее часть, говорит очень много о функционале программы.
Подробнее об это можно почитать тут. Также посмотреть и послушать эту сессию конференции BUILD.
Руководство для начинающих по разработке приложений для Windows 8
В отличие от Windows 7, приложение для Windows 8 недвижемости не то же самое, что и предыдущие фреймворки. Microsoft изменила способ создания приложений для Windows 8. Microsoft выпустила Visual Studio 2012 для упрощения разработки приложений Metro на ходу. Вчера я обновил свою Windows 7 до Windows 8, и интерфейс, скорее всего, будет изменен, но за интерфейсом Metro большинство вещей остается неизменным.
Visual Studio Express 2012 упрощает разработчикам процесс создания приложения, хотя перед началом работы рекомендуется использовать операционную систему Windows8. В этом руководстве мы узнаем, как начать создавать приложения для Windows 8 с помощью инструмента Microsoft.
Перед началом работы.
- Вы должны использовать выпуски Windows 8, версии не имеют значения, просто любая стабильная версия Windows 8.
- У вас должен быть Microsoft Visual Studio Express 2012. Вы можете скачать здесь.
- У вас должна быть лицензия разработчика Windows, и она будет запрошена при установке и открытии Visual Studio Express 2012 в первый раз.
Начните с нового проекта в Visual Studio и выберите удобный для вас язык для создания приложения из Visual C ++, Visual Basic, JavaScript или Visual C #.
После запуска нового проекта вы получите Языковые узлы панель слева, которая позволяет вам выбрать макет и шаблон вашего приложения. Такие шаблоны, как Grid App, Blank App, доступны для всех четырех языков. Есть еще несколько шаблонов, которые зависят от языка.
Опять же, есть панель для Обозреватель решений и Контейнер проекта. Обозреватель решений — это обозреватель проектов, вы можете получить доступ ко всем проектам из обозревателя решений. Контейнер проекта специфичен для проекта и содержит ссылки, папки, зависимости и файлы, необходимые для запуска проекта.
Проектирование пользовательского интерфейса Metro
Самая хорошая часть разработка приложений это. Вам нужно создать интерфейс метро с нуля. Я рекомендую вам сначала спланировать макет, как будет выглядеть приложение. И в соответствии с ним нужно выбрать идеальный и наиболее подходящий макет для своего приложения.
Вы также можете использовать Blend для Visual Studio чтобы использовать визуальный конструктор шаблонов для вашего приложения. Вы должны использовать файл решения (.sln), чтобы использовать Blend’s Visual Designer.
Кодирование приложения
Visual Studio 2012 для Windows 8 может управлять большинством языков, необходимых для разработки приложения, включая JavaScript, HTML / XML / XAML, CSS, C #, Visual Basic, C ++ и HLSL. Studio помогает вам кодировать на конкретном языке для повышения стандартов.
Если вы хотите настроить поведение редактора кода Studio, вы можете сделать это в Tools , а затем Опции. Затем разверните панель текстового редактора и настройте параметры по своему желанию и удобству.
Компиляция кода приложения
Чтобы построить или скомпилировать свой проект, нажмите F7 в ключевом слове или щелкните Построить решение or Восстановить решение?. После этого Studio обработает код вашего приложения и отобразит ошибки и предупреждения в окне вывода.
Чтобы запустить приложение для Windows 8, щелкните Отлаживать , а затем Начать отладку или вы можете нажать F5 напрямую для отладки. вы можете остановить отладку приложения с помощью Shift + F5 или отладка, а затем Остановить отладку меню.
Упаковка и развертывание
XML-файл, package.appxmanifest помогает настроить пакет развертывания для Windows App Store. Вы можете использовать Manifest Designer для настройки пакетов.
Айшвар Баббер
Айшвар Баббер — страстный блогер и специалист по цифровому маркетингу. Он любит говорить и вести блог о новейших технологиях и гаджетах, что мотивирует его работать ГизмоБейс. В настоящее время он практикует свои знания в области цифрового маркетинга, SEO и SMO в качестве штатного маркетолога в различных проектах. Он является активным инвестором в AffiliateBay.
При подготовке материала использовались источники:
https://www.cyberforum.ru/blogs/292515/blog811.html
https://imagestation.com/ru/windows-8-app-development/