Переиспользование кода и компонентов при разработке...
DESCRIPTION
Роман Здебский, MicrosoftTRANSCRIPT
![Page 1: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/1.jpg)
Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений
Роман ЗдебскийРуководитель направления по технологической стратегииMicrosoft
![Page 2: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/2.jpg)
Универсальные проекты (Universal Projects) для разработки Windows 8 и Windows Phone 8 приложений
Роман ЗдебскийРуководитель направления по технологической стратегииMicrosoft
![Page 3: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/3.jpg)
Microsoft вчераклиент/сервер
![Page 4: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/4.jpg)
Устройства/сервисы
Microsoft сегодня
![Page 5: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/5.jpg)
Outlook.comSkyDriveЛюдиSkypeМузыкаBingКартыInternet ExplorerOfficeМагазинВидеоSmartGlassФотоУстройстваИгрыСовременные приложения Windows
![Page 6: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/6.jpg)
Общее ядро Windows
Единый инструмент разработки
![Page 7: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/7.jpg)
Мобильные устройства на WindowsACER ASUS DELL HP LENOVO PANASONIC SAMSUNG NOKIA LG …
![Page 8: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/8.jpg)
Что было до Windows Phone 8.1
![Page 9: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/9.jpg)
Silverlight for Windows Phone /
DirectX
Windows Runtime (C#, VB, XAML, C++,
DirectX)
![Page 10: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/10.jpg)
При переносе приложений с Windows Phone на Windows 8 и обратно
В чем возникали сложности
UIЭкраны, ориентация и т.д.
СетьОбратные вызовы, задачи, асинхронность и т.д.
ХранилищеФайлы, установки, роуминг, база данных и т.д.
БонусТайлы, уведомления, сенсоры, камера, аудио и т.д.
Различия в
API
![Page 11: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/11.jpg)
Хороший сценарий: общий код
Общие облачные сервисы
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 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/12.jpg)
ViewsОтвечают за отображение информации (XAML)
View ModelsЧто показывать
Взаимодействие элементов
ModelsОбъекты данных
Бизнес-логика
Model-View-View Model (MVVM)
Model
View Model
View Платформенно-зависимый код
Переносимый кодСсылки
Databinding
![Page 13: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/13.jpg)
Архитектура кросс-платформенного приложения
Запуск
Views
Windows Store App
Особенности платформы
View Models
Models
Переносимая библиотека
Платформенно-независимые абстракции
Запуск
Views
Windows Phone App
Особенности платформы
Ссылка Ссылка
![Page 14: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/14.jpg)
Один исходник
Один проект
Один бинарник
Различные платформы!
Переносимые библиотеки классов
![Page 15: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/15.jpg)
Portable Platform/Feature Matrix
Win8Store Apps
![Page 16: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/16.jpg)
Windows Phone 8.1
![Page 17: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/17.jpg)
Windows Phone 8.1
![Page 18: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/18.jpg)
Cortana
![Page 19: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/19.jpg)
![Page 20: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/20.jpg)
For Business
![Page 21: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/21.jpg)
![Page 22: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/22.jpg)
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 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/23.jpg)
Code convergence
![Page 24: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/24.jpg)
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 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/25.jpg)
![Page 26: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/26.jpg)
• 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 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/27.jpg)
• 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 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/28.jpg)
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 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/29.jpg)
• Intellisense warnings for platform specific APIs
• Switch project context using navbar
Code editing experience
![Page 30: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/30.jpg)
• 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 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/31.jpg)
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 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/32.jpg)
Future: Universal Projects on Xbox One
![Page 33: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/33.jpg)
Переиспользование кода бизнес приложений– Brokered Windows Runtime Components
![Page 34: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/34.jpg)
![Page 35: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/35.jpg)
Универсальные проекты (Universal Projects) для разработки Windows 8 и Windows Phone 8 приложенийРоман ЗдебскийРуководитель направления по технологической стратегииMicrosoft
[email protected] @zdebskiy
![Page 36: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/36.jpg)
APPENDIX
![Page 37: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/37.jpg)
Windows 8.1 Update
![Page 38: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/38.jpg)
Мы поддерживаем разработчиков
![Page 39: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/39.jpg)
Для всехСоревнования по мобильной разработке
Награды
Продвижение ваших приложений в сторе и реклама приложений
Более $5млн в виде призов
dvlup.com
![Page 40: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/40.jpg)
Для стартаповБесплатный софт и регистрация в Store
Ресурсы в облаке Windows Azure
Знания
Гранты ($30 000 - $100
000) и финансирование
BizSpark.ru
microsoftventures.com
appcampus.fi
![Page 41: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/41.jpg)
Для лидеровПродвижение в Store
Ко-маркетинг
Совместные проекты
Технологическая помощь и дизайн
Ускорение сертификации
![Page 42: Переиспользование кода и компонентов при разработке Windows 8 и Windows Phone 8 приложений](https://reader036.vdocuments.mx/reader036/viewer/2022062706/557cb17fd8b42a826c8b54e6/html5/thumbnails/42.jpg)
Все стороны жизни
Личное Деловое