Windows Camp 2015 Windows Camp #wincamp UWP – обзор платформы и процесса разработки Windows Camp Андрей Андреев Технологический евангелист Microsoft Kazakhstan Содержание Единая платформа Одна Windows Много устройств Опыт разработки Инструментарий Windows .Net Native Представляем UWP Windows Camp 2015 #wincamp Windows Core Реструктурированное общее ядро Одна аппаратная платформа Универсальный аппаратный драйвер Стандартные сеть и ввод/вывод Desktop SKU Phone SKU Xbox SKU Windows Core Desktop Phone Xbox Device Device Device One Windows Desktop SKU Mobile SKU PC Tablet 2 in 1 Phablet Phone Xbox SKU Xbox IoT SKU Band IoT headless SKU Raspberry Pi Home Automation Surface Hub SKU Holographic SKU Surface Hub HoloLens Каждое семейство добавляет свойства к тем, которые наследуются. История воссоединения Унифицированные ядро и платформа приложений Единое ядро OS Единая модель приложения Windows 10 Легко для пользователей получать и оставаться в курсе Phone Phablet Small Tablet Large Tablet 2-in-1s (Tablet or Laptop) Classic Laptop Desktops & All-in-Ones Windows 10 Surface Hub Xbox Holographic IoT Adaptive User Interface Natural User Inputs One SDK + Tooling Reuse Existing One Store + One Dev Center Code Одна Universal Windows Platform Universal Windows Platform Одна поверхностная API Гарантированная поверхностная API Одна и та же на всех устройствах Universal Windows Platform Windows Core Desktop Phone Xbox Device Device Device Приложения не нацелены на Windows 10, приложения нацелены на платформу <TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.10240.0" MaxVersionTested="10.0.10340.0" /> Universal Windows Platform может обновляться в её собственном ритме Windows app Один бинарный файл Работает на любом устройстве Тестирование на совместимость Адаптация к устройству Windows App Universal Windows Platform Windows Core Desktop Phone Xbox Device Device Device История разработчика Когда пишет для iOS, Разработчик пишет для iPad & iPhone Когда пишет для Android, Разработчик пишет для всех поддерживаемых устройств Когда пишет для Windows 8, Разработчик пишет для каждого устройства Когда пишет для Windows 10, Разработчик пишет для любого устройства ДЕМО Hello devices Windows Camp 2015 #wincamp Расширения платформы Специфичные для устройств API Семейственно-специфичные возможности Совместимые на всех устройствах Уникальный ритм обновлений Windows App Desktop Phone Xbox extension extension extension Universal Windows Platform Windows Core Desktop Phone Xbox Device Device Device Расширения не портят бинарники на других устройствах Universal Windows Platform Одна Операционная Система Одно ядро Windows для всех устройств Одна Платформа Приложений Приложения запускаются на всех семействах Один Центр Разработки Один поток публикации и одна панель Один Магазин Глобальный охват, локальная монетизация Потребители, Бизнес и Образование Традиционные технологии Microsoft - это не единственный способ создавать Windows приложения WPF WF MFC XAML DirectX .Net .Net C++ languages languages & CX HTML WWA C++ .Net runtime Obj.C Java Web Win32 iOS Android hosted desktop Bridging technologies Universal Windows Platform Windows 10 operating system Мостовые технологии (bridge) Objective-C На Build мы объявили, что iOS код может быть использован в Windows приложениях Android На Build мы объявили, что Android код может быть использован в Windows приложениях, чтобы запускаться на Windows Phone Web На Build мы объявили, что веб-сайты могут быть «завёрнуты», чтобы запускаться на Windows Win32 На Build мы объявили, что Classic Windows Apps (CWA) могут быть упакованы как Appx Мосты принесут больше приложений на платформу Windows Адаптивный дизайн Отзывчивый дизайн Гибкий дизайн отвечает на маленькие изменения Многие контролы обрабатывают простую отзывчивость Адаптивный дизайн Умный макет подстраивается под большие изменения Такие характеристики, как визуальные состояния, помогают в этом дизайне Специфичный дизайн Специфичное для устройства приложение может иметь упрощённый дизайн Некоторые устройства имеют уникальные языки дизайна Адаптивный дизайн Tablet (landscape) / Desktop Phone (portrait) Специфичный дизайн Tablet (landscape) / Desktop Phone (portrait) Continuum for Convertibles and Phones Континуум для смартфонов и конвертируемых устройств Адаптивный код Совместимые со всеми устройствами бинарные файлы Универсальный API со специфичной для устройств реализацией Подсветите возможности своего приложения Тестирование на возможности и пространства имен Пользователи любят приложения, которые хорошо работают на всех их устройствах Тестирование возможностей в рантайме Используйте Адаптивный Код, чтобы «зажечь» ваше приложение на специфичном устройстве var api = "Windows.Phone.UI.Input.HardwareButtons"; if (Windows.Foundation.Metadata.ApiInformation.IsTypePresent(api)) { Windows.Phone.UI.Input.HardwareButtons.CameraPressed += CameraButtonPressed; } UWP UWP UWP UWP Windows Core Windows Core Windows Core Windows Core Desktop Mobile Xbox More… Семейства устройств, которые Вы выбираете, определяют, какие API Вы сможете использовать свободно Одна простая, унифицированная, интегрированная среда разработки Windows Camp 2015 #wincamp Visual Studio IDE Все типы проектов Desktop, Windows, Phone, Service, Web, Game, More… Все задачи разработчика Редактирование кода, дизайн Архитектуры, UX дизайн, Debug, Profile, Review, Test, More… Все языки программирования C++/CX, C#, Visual Basic, JavaScript, XAML, HTML, More… Visual Studio Online Репозиторий исходного кода, управлений проектом, отслеживание ошибок, More… Представляем Roslyn, наш новый компилятор для .Net Blend for Visual Studio IDE для разработчиков XAML Всегда часть Visual Studio Использует оболочку Visual Studio Полный auto-complete & intellisense • Валидация • Snippets • Peek File & solution management Resource management Data management Animation States Редакции Visual Studio 2015 Enterprise Architecture Modeling, Diagnostics, VSO/ALM & Release Management Professional Architecture Validation, VSO/ALM & Feedback Management Community Editions Visual Studio Professional Edition Microsoft Developer Network Документация Microsoft http://msdn.Microsoft.com http://dev.Windows.com Тренинги Microsoft http://msevents.Microsoft.com http://MicrosoftVirtualAcademy.com MSDN Subscription Операционные системы Клиент/Серверные продукты Средства разработки Кредиты в Azure/O365 Разблокировка для разработчиков Где я могу разрабатывать? Windows 10 Требуется Visual Studio 2015 Windows 8.1 & Windows Server 2012 R2 Visual Studio дизайнер не работает Отладка требует устройства на Windows 10 или Remote Debugging Tools Управляемые языки более эффективны, чем когда-либо Windows Camp 2015 #wincamp .NET Native Компилятор следующего поколения в облаке Каждое Windows приложение, только Windows приложение (сейчас) Приложения используют стандартный C++ optimizer Как оптимизатор улучшает производительность, так делает .Net native Приложения с .Net bootstrapper Включают в себя сбор мусора Нет рантайма Это машинный код Каждое приложение Windows будет компилироваться с .Net Native Реальный выигрыш от .Net Native CPU сохраняется из холодного старта CPU сохраняется из горячего старта .Net Native позволяет платформе обновляться в ускоренном темпе Обзор Единая платформа Одна Windows Много устройств Опыт разработки Инструментарий Windows .Net Native ©2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.