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

Post on 14-Jun-2015

178 Views

Category:

Internet

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

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

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

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

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

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

Microsoft сегодня

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

Общее ядро Windows

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

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

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

Silverlight for Windows Phone /

DirectX

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

DirectX)

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

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

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

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

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

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

Различия в

API

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

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

Portable Class Library

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

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

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

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

DirectX)

Silverlight for Windows Phone /

DirectX

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

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

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

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

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

Model-View-View Model (MVVM)

Model

View Model

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

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

Databinding

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

Запуск

Views

Windows Store App

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

View Models

Models

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

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

Запуск

Views

Windows Phone App

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

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

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

Один проект

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

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

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

Portable Platform/Feature Matrix

Win8Store Apps

Windows Phone 8.1

Windows Phone 8.1

Cortana

For Business

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

Code convergence

converged controls

80% exact same XAML 20% custom

Common SignatureOptimized

DatePicker

TimePickerCommandBar

Button

CheckBox

RadioButton

ProgressBar

Slider

ToggleSwitch Hub

PivotListViewGridViewAppBarSysTray

• 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

• 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

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

• Intellisense warnings for platform specific APIs

• Switch project context using navbar

Code editing experience

• 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

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

Future: Universal Projects on Xbox One

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

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

rzdebski@microsoft.com @zdebskiy

APPENDIX

Windows 8.1 Update

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

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

Награды

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

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

dvlup.com

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

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

Знания

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

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

BizSpark.ru

microsoftventures.com

appcampus.fi

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

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

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

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

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

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

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

top related