обзор windows 8
TRANSCRIPT
обзор windows 8 Филипп Панфилов[email protected]@ponfius
что такое Metro?
Новая оболочка Windows 8Работают Metro-приложения, распространяющиеся через Windows StoreРаботает как на Intel, так и на ARM архитектуреОриентирована на touch, но работает и с клавиатурой/мышьюМножество API для интеграции в оболочку (tiles, toasts, и т.д.)
Новая модель разработки ПОXAML + C#/C++/VB, илиHTML5 + JavaScript
новые возможности win8
Интеграция с облакомВход с помощью Live ID (MS Passport)Полная интеграция со SkyDriveИнтеграция с соц. Сетями
Metro-приложенияПоддержка разных архитектур процессоровРаспространение и обновление через Windows StoreСинхронизация данных
Новые фишкиМонтирование ISO файловУправление копированием файлов
Демонстрация
архитектура windows 8
windows runtime (WinRT)
Новые API для Metro приложенийWin32 старый, запутанный и заработанный для C/C++WinRT новый, упрощенный и не зависит от языка разработки
APIs для работы с хранилищем, сетью и многим другимБольше 100 пространств имен, тысячи типов.
Асинхронный I/O (> 50 ms)C# awaitJavaScript promises (.then)
Асинхронный вызовasync private void ButtonClick(){ WebClient client = new WebClient(); var str = await client.DownloadStringTaskAsync("http://host/service"); ResultsBox.Text = str;}
Песочница
• Нет связи с Win32 приложениями
• Использования Контрактов для передачи данных между приложениями
• Нет прямого доступа к системным ресурсам
• Возможности приложения задаются в манифесте
Жизненный цикл приложенийЗапущено только одно Metro-приложениеПри сворачивании приложения засыпаютСобытие Application.Suspending вызывается при сворачивании приложения. Свернутые приложения могут быть «убиты»Отлавливайте засыпание и сохраняйте пользовательские данные (Windows.Storage.ApplicationData)
Если пользователь возвращается в приложение – оно «просыпается»Перегрузите Application.OnLaunched и восстанавливайте состояние приложения
Жизненный цикл приложений
Not started Running
Suspended
Suspending
А где многозадачность?• Воспроизведение музыки в
фоне
• BackgroundDownloader
• BackgroundUploader
• BackgroundTaskBuilder• Отслеживание системных событий• Таймер (минимальный интервал –
15мин)
Фоновые задачи
bit.ly/BackgroundTasksВведение в фоновые задачи
Контракты
Контракты позволяют приложению интегрироваться в charmsCharms предоставляет пользователю доступ к часто используемым функциям
Три типа контрактовSharing – поделиться информацией используя Share charmSearch – поиск информации используя Search charmSettings – изменять настройки приложения используя Settings charm
Значительная часть Metro UI
Живые тайлы
У всех приложений есть тайлМожет быть квадратным или прямоугольным.
Приложение может создавать вторичные тайлыЗапуск приложения в каком-то заданном состоянии
Все вторичные тайлы имеют ID и аргументыУказываются при создании тайла. Являются параметрами для запуска приложения
Установочный пакет
• .appx формат (zip)
• Скомпилированное приложение и ресурсы
• App Manifest
• BlockMap
• Цифровая подпись
AppXManifest.xml
BlockMap
Signature
Files / Assets
.appx package
Демонстрация
Вопросы?
Филипп Панфилов[email protected]@ponfiushttp://mne.p0x.ru