Переиспользование кода и компонентов при разработке...

42
Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений Роман Здебский Руководитель направления по технологической стратегии Microsoft

Upload: diana-dymolazova

Post on 14-Jun-2015

178 views

Category:

Internet


1 download

DESCRIPTION

Роман Здебский, Microsoft

TRANSCRIPT

Page 1: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

Роман ЗдебскийРуководитель направления по технологической стратегииMicrosoft

Page 2: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

Универсальные проекты (Universal Projects) для разработки Windows 8 и Windows Phone 8 приложений

Роман ЗдебскийРуководитель направления по технологической стратегииMicrosoft

Page 3: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

Microsoft вчераклиент/сервер

Page 4: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

Устройства/сервисы

Microsoft сегодня

Page 5: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

Outlook.comSkyDriveЛюдиSkypeМузыкаBingКартыInternet ExplorerOfficeМагазинВидеоSmartGlassФотоУстройстваИгрыСовременные приложения Windows

Page 6: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

Общее ядро Windows

Единый инструмент разработки

Page 7: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

Мобильные устройства на WindowsACER ASUS DELL HP LENOVO PANASONIC SAMSUNG NOKIA LG …

Page 8: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

Что было до Windows Phone 8.1

Page 9: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

Silverlight for Windows Phone /

DirectX

Windows Runtime (C#, VB, XAML, C++,

DirectX)

Page 10: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

При переносе приложений с Windows Phone на Windows 8 и обратно

В чем возникали сложности

UIЭкраны, ориентация и т.д.

СетьОбратные вызовы, задачи, асинхронность и т.д.

ХранилищеФайлы, установки, роуминг, база данных и т.д.

БонусТайлы, уведомления, сенсоры, камера, аудио и т.д.

Различия в

API

Page 11: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

Хороший сценарий: общий код

Общие облачные сервисы

Portable Class Library

Общие ресурсы / XAML UI

Общие компоненты WinRT (C++)

Разделение кода/UX (MVVM)

Windows Runtime (C#, VB, XAML, C++,

DirectX)

Silverlight for Windows Phone /

DirectX

Page 12: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

ViewsОтвечают за отображение информации (XAML)

View ModelsЧто показывать

Взаимодействие элементов

ModelsОбъекты данных

Бизнес-логика

Model-View-View Model (MVVM)

Model

View Model

View Платформенно-зависимый код

Переносимый кодСсылки

Databinding

Page 13: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

Архитектура кросс-платформенного приложения

Запуск

Views

Windows Store App

Особенности платформы

View Models

Models

Переносимая библиотека

Платформенно-независимые абстракции

Запуск

Views

Windows Phone App

Особенности платформы

Ссылка Ссылка

Page 14: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

Один исходник

Один проект

Один бинарник

Различные платформы!

Переносимые библиотеки классов

Page 15: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

Portable Platform/Feature Matrix

Win8Store Apps

Page 16: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

Windows Phone 8.1

Page 17: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

Windows Phone 8.1

Page 18: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

Cortana

Page 19: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений
Page 20: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

For Business

Page 21: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений
Page 22: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

Windows developer platform

Windows API Set

Graphics Audio Media

Networking File System Input

Commerce

Sensors

.NET CLRWindows Runtime

DirectX(C++)

SilverlightXAML

(C# | VB)

Windows XAML

(C# | VB | C++)

WinJS(HTML + JS)

App Model Services

Navigation

Packaging

Contracts

Background

Store

Push

Roaming

Legend

Windows Phone Only

Windows OnlyWindows + Windows Phone

Windows Kernel

App Data Backup

Page 23: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

Code convergence

Page 24: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

converged controls

80% exact same XAML 20% custom

Common SignatureOptimized

DatePicker

TimePickerCommandBar

Button

CheckBox

RadioButton

ProgressBar

Slider

ToggleSwitch Hub

PivotListViewGridViewAppBarSysTray

Page 25: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений
Page 26: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

• Universal apps enable building applications on the converged Windows 8.1 and Windows Phone 8.1 platforms

• Supported for C#, C++ and JavaScript

• Create universal apps using project templates, migrating Windows 8.1 / Windows Phone 8.1 apps

Universal apps

Page 27: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

• Allow sharing source between converged apps

• Don’t have any binary output

• Supports all item types• Code files .cs, .js, .cpp, .h• XAML• Images .png, .jpg…• RESW• XML etc…

Shared projects

Page 28: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

C#: WINDOWS_APP and WINDOWS_PHONE_APP

#if WINDOWS_PHONE_APP

Windows.Phone.UI.Input.HardwareButtons.BackPressed += this.HardwareButtons_BackPressed;

#endif

C++: WINAPI_FAMILY_PC_APP and WINAPI_FAMILY_PHONE_APP

#if WINAPI_FAMILY==WINAPI_FAMILY_PHONE_APP_backPressedEventToken = HardwareButtons::BackPressed += ref new EventHandler<BackPressedEventArgs^>(this,&NavigationHelper::HardwareButton_BackPressed);

#endif

Use conditional constants

Page 29: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

• Intellisense warnings for platform specific APIs

• Switch project context using navbar

Code editing experience

Page 30: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

• Quick and easy way to change startup projects using debug target dropdown

• Supported for all Store platforms

• Enabled if you have more than one application project in the solution

Switching startup projects

Page 31: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

Universal apps for Windows Share App & IAP entitlements across Windows

& Phone Roam your data across Windows & Phone Single notification channel You are still allowed to publish separate apps

or IAPs

Not the same thing as universal project in Visual Studio

Quiz Bowl Quiz BowlThe next generation quiz game - compete real time with players worldwide.

Free

Free

Page 32: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

Future: Universal Projects on Xbox One

Page 33: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

Переиспользование кода бизнес приложений– Brokered Windows Runtime Components

Page 34: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений
Page 35: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

Универсальные проекты (Universal Projects) для разработки Windows 8 и Windows Phone 8 приложенийРоман ЗдебскийРуководитель направления по технологической стратегииMicrosoft

[email protected] @zdebskiy

Page 36: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

APPENDIX

Page 37: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

Windows 8.1 Update

Page 38: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

Мы поддерживаем разработчиков

Page 39: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

Для всехСоревнования по мобильной разработке

Награды

Продвижение ваших приложений в сторе и реклама приложений

Более $5млн в виде призов

dvlup.com

Page 40: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

Для стартаповБесплатный софт и регистрация в Store

Ресурсы в облаке Windows Azure

Знания

Гранты ($30 000 - $100

000) и финансирование

BizSpark.ru

microsoftventures.com

appcampus.fi

Page 41: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

Для лидеровПродвижение в Store

Ко-маркетинг

Совместные проекты

Технологическая помощь и дизайн

Ускорение сертификации

Page 42: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений

Все стороны жизни

Личное Деловое